apostila 2pp

apostila 2pp

(Parte 1 de 15)

Projeto Assistido por Computador (PAC)

Prof. Alexandre Ramos Fonseca Profa. Cássia Regina Santos Nunes

1 - INTRODUÇÃO

Vamos, neste curso, aprender os conceitos básicos da linguagem de programação C a qual tem se tornado cada dia mais popular, devido à sua versatilidade e ao seu poder. Uma das grandes vantagens do C é que ele possui tanto características de "alto nível" quanto de "baixo nível".

Apesar de ser bom, não é pré-requisito do curso um conhecimento anterior de linguagens de programação. É importante uma familiaridade com computadores. O que é importante é que você tenha vontade de aprender, dedicação ao curso.

O C nasceu na década de 70. Seu inventor, Dennis Ritchie, implementou-o pela primeira vez usando um DEC PDP-1 rodando o sistema operacional UNIX. O C é derivado de uma outra linguagem: o B, criado por Ken Thompson. O B, por sua vez, veio da linguagem BCPL, inventada por Martin Richards.

etcÉ bem provável que o Navegador que você está usando para ler este texto tenha sido

O C é uma linguagem de programação genérica que é utilizada para a criação de programas diversos como processadores de texto, planilhas eletrônicas, sistemas operacionais, programas de comunicação, programas para a automação industrial, gerenciadores de bancos de dados, programas de projeto assistido por computador, programas para a solução de problemas da Engenharia, Física, Química e outras Ciências, escrito em C ou C++.

Sugerimos que o aluno realmente use o máximo possível dos exemplos, problemas e exercícios aqui apresentados, gerando os programas executáveis com o seu compilador. Quando utilizamos o compilador aprendemos a lidar com mensagens de aviso, mensagens de erro, bugs, etc. Apenas ler os exemplos não basta. O conhecimento de uma linguagem de programação transcende o conhecimento de estruturas e funções. O C exige, além do domínio da linguagem em si, uma familiaridade com o compilador e experiência em achar "bugs" nos programas. É importante então que o leitor digite, compile e execute os exemplos apresentados.

Primeiros Passos

O C++ é "Case Sensitive"

Vamos começar o nosso curso ressaltando um ponto de suma importância: o C é

"Case Sensitive", isto é, maiúsculas e minúsculas fazem diferença. Se declarar uma variável com o nome soma ela será diferente de Soma, SOMA, SoMa ou sOmA. Da mesma maneira, os comandos do C if e for, por exemplo, só podem ser escritos em minúsculas pois senão o compilador não irá interpretá-los como sendo comandos, mas sim como variáveis.

Dois Primeiros Programas

Vejamos um primeiro programa em C:

#include <stdlib.h> #include <iostream> using namespace std;

/* Um Primeiro Programa */ int main () { cout << "Ola! Eu estou vivo!" << endl; system("pause"); return(0); }

Compilando e executando este programa você verá que ele coloca a mensagem Ola! Eu estou vivo! na tela.

Vamos analisar o programa por partes.

As linhas #include <stdlib.h> e #include <iostream> dizem ao compilador que ele deve incluir o arquivos-cabeçalho stdlib.h e iostream. No arquivo iostrem existem declarações de funções úteis para entrada e saída de dados.

stdlib (std = standard, padrão; lib = library, biblioteca; stdlib ==> biblioteca padrão).

iostream (io = Input/Output, entrada e saída; stream = fluxo de dados ==> iostream = Entrada e saída padronizadas).

Toda vez que você quiser usar uma destas funções deve-se incluir estes comandos. O C/C++ possui diversos Arquivos-cabeçalho.

Quando fazemos um programa, uma boa idéia é usar comentários que ajudem a elucidar o funcionamento do mesmo. No caso acima temos um comentário: /* Um Primeiro Programa */. O compilador C desconsidera qualquer coisa que esteja começando com /* e terminando com */. Um comentário pode, inclusive, ter mais de uma linha. Outra forma de se fazer comentários é utilizando //. O compilador considera que tudo que está à direita de // é comentário. Esse tipo de comentário tem apenas uma linha.

A linha int main() indica que estamos definindo uma função de nome main. Todos os programas em C/C++ têm que ter uma função main, pois é esta função que será chamada quando o programa for executado. O conteúdo da função é delimitado por chaves { }. O código que estiver dentro das chaves será executado seqüencialmente quando a função for chamada. A palavra int indica que esta função retorna um inteiro. O que significa este retorno será visto posteriormente, quando estudarmos um pouco mais detalhadamente as funções do C. A última linha do programa, return(0); , indica o número inteiro que está sendo retornado pela função, no caso o número 0.

A única coisa que o programa realmente faz é chamar a função cout, passando a string (uma string é uma seqüência de caracteres, como veremos brevemente) "Ola! Eu estou vivo!" como argumento. É por causa do uso da função cout pelo programa que devemos incluir o arquivo- cabeçalho iostream. A função cout neste caso irá apenas colocar a string na tela do computador. O endl (end of line, fim de linha) é um comando de mudança de linha, isto é, após imprimir Ola! Eu estou vivo! o cursor passará para a próxima linha. É importante observar também que os comandos do C terminam com ; .

A função system é definida no arquivo-cabeçacho stdlib.h. Essa função é capaz de fazer chamadas de comandos ao sistema operacional. Nesse caso, usamos a função para disparar o commando pause que faz uma pausa na execução do programa. Dessa forma, o programa só termina sua execução após precionarmos alguma tecla. Sem essa linha, nosso programa fecharia sua janela rapidamente, não sendo possível visualizar a saída.

Podemos agora tentar um programa mais complicado:

#include <stdlib.h> #include <iostream> using namespace std;

int Dias;// Declaracao de Variaveis

int main () { float Anos; cout << "Entre com o numero de dias: "; cin >> Dias; //Entrada de Dados

Anos=Dias/365.25; // Conversao Dias->Anos cout << Dias << " dias equivalem a " << Anos << " anos." << endl; system("pause"); return(0); }

Vamos entender como o programa acima funciona. São declaradas duas variáveis chamadas Dias e Anos. A primeira é um int (inteiro) e a segunda um float (ponto flutuante).

As variáveis declaradas como ponto flutuante existem para armazenar números que possuem casas decimais, como 5,1497.

É feita então uma chamada à função cout, que coloca uma mensagem na tela.

Queremos agora ler um dado que será fornecido pelo usuário e colocá-lo na variável inteira Dias. Para tanto usamos a função cin.

Temos então uma expressão matemática simples que atribui a Anos o valor de Dias dividido por 365.25 (365.25 é uma constante ponto flutuante 365,25). Como Anos é uma variável float o compilador fará uma conversão automática entre os tipos das variáveis (veremos isto com detalhes mais tarde).

A segunda chamada à função cout tem quatro argumentos. Podemos passar quantos argumentos quisermos para cout. Basta que esses argumentos estejam separados pelo operador de fluxo <<. Note que o operador de fluxo indica a direção do fluxo de dados. Para o cin o operador fluxo de dados é >>.

1 - Veja como você está. O que faz o seguinte programa?

#include <stdlib.h> #include <iostream> using namespace std; int main()

{ int x; cin >> x; cout << x; system("pause"); return(0); }

2 - Compile e execute os programas deste arquivo.

Se você não possui um compilador, uma opção é o devcpp. Esse é um compilador gratuido e está disponível para download em http://prdownloads.sourceforge.net/devcpp/devcpp-4.9.9.2_setup.exe

Existem outros compiladores gratuitos disponíveis na internet. Uma boa opção é o

Visual C++ express da Microsoft. Também gratuito, disponível no em http://msdn.microsoft.com/vstudio/express/downloads/

Palavras Reservadas do C/C++

Todas as linguagens de programação têm palavras reservadas. As palavras reservadas não podem ser usadas a não ser nos seus propósitos originais, isto é, não podemos declarar funções ou variáveis com os mesmos nomes. Como o C é "case sensitive" podemos declarar uma variável For, apesar de haver uma palavra reservada for, mas isto não é uma coisa recomendável de se fazer pois pode gerar confusão.

Apresentamos a seguir as palavras reservadas do ANSI C. Veremos o significado destas palavras chave à medida em que o curso for progredindo:

asm float signed auto for sizeof break friend static case goto struct catch if switch char inline template class int this const long throw continue new try default operator typedef delete private union do protected unsigned double public virtual else register void enum return volatile extern short while

VARIÁVEIS, CONSTANTES, OPERADORES E EXPRESSÕES Nomes de Variáveis

As variáveis no C podem ter qualquer nome se duas condições forem satisfeitas: o nome deve começar com uma letra ou sublinhado (_) e os caracteres subsequentes devem ser letras, números ou sublinhado (_). Há apenas mais duas restrições: o nome de uma variável não pode ser igual a uma palavra reservada, nem igual ao nome de uma função declarada pelo programador, ou pelas bibliotecas do C. Variáveis de até 32 caracteres são aceitas. Mais uma coisa: é bom sempre lembrar que o C é "case sensitive" e portanto deve-se prestar atenção às maiúsculas e minúsculas.

Dicas quanto aos nomes de variáveis

· É uma prática tradicional do C, usar letras minúsculas para nomes de variáveis e maiúsculas para nomes de constantes. Isto facilita na hora da leitura do código;

(Parte 1 de 15)

Comentários