Baixe o app para aproveitar ainda mais
Prévia do material em texto
Algoritmos Aula 2 - Nosso primeiro programa Introdução Você sabia que vários softwares que usamos são feitos em C++? O Windows é um exemplo, assim como o Autocad, o Photoshop, os jogos da série Half-Life (e muitos outros que você conhece), o MAC OS e vários outros. Portanto, aprender C++ é uma forma de entender o quanto esses softwares de grande porte são complexos e bem-bolados. Bons estudos! O que é um programa? Um programa nada mais é do que uma sequência de comandos ou ordens dados a um computador. Mas é bem difícil pegar um microfone e dar ordens verbais para um computador realizar o que queremos. O que temos é o nosso teclado e o monitor, por enquanto. Então, um programa é um arquivo de texto, feito no mais simples editor de texto que você possuir no seu computador. Compilação Por outro lado, o computador não entende o conteúdo do arquivo de texto contendo o seu programa. Ele precisa ser convertido em uma linguagem que o computador entende, para poder executar o programa. Este processo é chamado de compilação. A compilação ocorre basicamente de acordo com o diagrama: Existem outras etapas e fases com muitos detalhes, mas basicamente o que precisamos saber é que um programa começa com o seu código-fonte, escrito em uma linguagem de alto nível, e passa por algumas etapas específicas para cada plataforma. Veja que no diagrama o mesmo programa pode rodar no Linux, no Windows ou no Mac, desde que ele seja compilado para estas plataformas. Saiba mais Dizemos que uma linguagem é de alto nível quando conseguimos ler e escrever usando palavras conhecidas por nós. O C++, por mais que pareça difícil, possui muitas palavras que nós entendemos, como if (se), while (enquanto), for (para) etc. Portanto, compilar um programa significa converter um arquivo de texto escrito em uma linguagem de programação em códigos binários pertencentes a uma plataforma de execução. Lembre-se: o computador é uma máquina que só entende a linguagem binária. E devido à forma como os sistemas operacionais são construídos, cada um tem suas peculiaridades. Vamos supor que a seguinte sequência signifique: “Escreva ‘alô’ na tela” no Linux: 0111010000100010101. No Mac Os e no Windows, essa sequência pode não significar a mesma coisa; por isso, cada uma das plataformas tem o seu próprio compilador. Bem, vamos programar! Nosso primeiro programa Vamos começar com um exemplo bem simples. Em muitos livros, tutoriais, vídeoaulas e afins, o pessoal costuma criar um programa com a mensagem “Alô, mundo”. Nosso caso é mais interessante: vamos calcular a média de um aluno baseado em suas 4 notas bimestrais. A seguir, mostramos um programa completo em C++. Dê uma olhada nele. Será que, mesmo sem saber programar, você consegue adivinhar o que ele faz? Embora já tenhamos adiantado, leia o programa desde o começo, tente traduzir as palavras em inglês e verifique a expressão matemática existente na linha 13. Iniciando o programa Complicado? Nem tanto. Lembre-se que aprender uma linguagem de programação é como aprender um idioma: precisamos conhecer a estrutura da linguagem, sua sintaxe, suas regras e até mesmo suas “manhas”. Vamos estudá-lo linha a linha. Nosso primeiro programa – Primeiro passo A linha 1 contém uma palavra que nos indica que ela inicia um programa. Qual seria a palavra? 1 int main(int argc, char** argv) { Se você pensou em main, acertou. Main significa “principal” e, portanto, essa linha indica que estamos iniciando o programa principal. Mas e as outras palavras que aparecem na linha, o que significam? Por enquanto, não é hora de tratarmos delas. Apenas vamos considerar que, para começar um programa em C++, precisamos escrever o programa principal iniciando tal como está na linha 1. Para começarmos nossos programas, vamos usar sempre essa linha: 1 int main(int argc, char** argv) { Nosso primeiro programa – Segundo passo As próximas linhas são parecidas: 2 float nota1; 3 float nota2; 4 float nota3; 5 float nota4; 6 float media; Vamos por partes! O que você acha que significa float? Float significa flutuar, e como estamos lidando com notas (nota1, nota2, nota3, nota4 e média), isto nos faz pensar que são números de ponto flutuante (ou números com casas decimais). Afinal, uma nota de um aluno pode variar de 0 a 10 e ter casas decimais (7.5, 8.25 etc.), certo? Então, as linhas de 2 a 6 servem para dizer ao compilador que vamos usar 4 palavras para representar as notas e 1 para a média. O bom é que podemos usar qualquer palavra para essa representação. Poderíamos ter usado, por exemplo, n1 no lugar de nota1, a2 para nota2 etc., só que teríamos um problema: elas não iam fazer muito sentido para quem lesse o programa depois. Porém, a palavra float não pode ser mudada. Ela faz parte de um conjunto próprio da linguagem C++ chamado de palavras reservadas, e não podemos usar palavras que estejam neste conjunto. Para você ter uma ideia, as palavras reservadas em C++ são: Nosso primeiro programa – terceiro passo Continuando... As próximas linhas deixam claro que as palavras que criamos antes, nota1 a nota4, vão receber alguns valores. 8 nota1 = 7; 9 nota2 = 6; 10 nota3 = 9; 11 nota4 = 5; Se fosse um caso real, no boletim desse suposto aluno, ele teria tirado estas 4 notas. Mas agora temos uma pergunta: “E se fosse outro aluno, como o programa seria?”. A linha 13 faz o cálculo da média das notas: 13 media = (nota1+nota2+nota3+nota4)/4; Porém, ela só faz o cálculo. O resultado não é mostrado na tela. Reflexão Como cada aluno tem uma nota diferente, temos que esta nota é um valor variável, ou seja, varia de acordo com o aluno. Logo, o nome destas palavras que usamos é “variável”, e este é um conceito que existe em qualquer linguagem de programação. Então, a resposta é: para que o programa possa aceitar outros valores para as variáveis, precisamos de alguma forma realizar entradas de dados para obter os valores do usuário. Vamos ver isso mais à frente. Nosso primeiro programa – Quarto passo As duas linhas seguintes terminam o programa: Nos nossos programas, sempre termine com o comando da linha 15. Vamos estudar o motivo de ele estar aí em outra aula. A linha 16 também é muito importante. Ela fecha o bloco de programa aberto na linha 1. Em C++, você tem que ser educado: se você abre uma porta, tem que fechar; se você abre uma chave “{“, tem que fechá-la: “}”. Nosso primeiro programa – quinto passo Neste momento, você pode estar pensando sobre o programa: Exatamente. Não tem ainda. Nosso objetivo aqui foi estudar um programa do início ao fim, e o programa cumpre o que promete. Vamos estudar sobre entradas e saídas de dados mais adiante. Para você entender um pouco mais, poderíamos inserir na linha 14 o seguinte comando: 14 cout<<”O valor da media eh: “< Em C++, o comando que exibe uma mensagem na tela, ou seja, faz a saída de dados, é o cout. Observe que na linha 14, após o comando cout, temos o operador “<<”. Tudo o que vier após o “<<” será impresso na tela. No caso da linha citada, será impresso a string entre aspas. String: Dizemos que uma string é uma sequência de caracteres. ‘1’, ‘2’,’a’ etc., são caracteres, e quando os juntamos para formar uma frase como “Olá, mundo”, temos uma string. É sempre representada entre aspas. Pontos importantes Após verificar como o programa funciona, lembre de alguns pontos: ABRIU? FECHE! Em todas as linguagens de programação, alguns comandosprecisam de caracteres que iniciam outra expressão ou bloco de informações ou comandos. É o caso dos caracteres (, [, {, “, ‘e, dependendo da linguagem, outros ainda são necessários, como < e >. Observe que, toda vez que você abre um parêntese, ele precisa ser fechado; idem para as aspas, chaves, colchetes etc. Nas linguagens de programação, isto não é diferente. TODAS AS VARIÁVEIS EM C++ PRECISAM SER DECLARADAS. No nosso exemplo, antes de fazermos o cálculo da média, tivemos que escrever que seriam usadas 5 variáveis (nota1, nota2, ... , nota4 e média). Se fizéssemos o cálculo da média diretamente, o compilador iria gerar um erro. Portanto, se formos usar 300 variáveis no programa, todas as 300 terão que ser declaradas antes. “UMA COISA É UMA COISA; OUTRA COISA É OUTRA COISA”! Em C++, se você declarar uma variável “nota”, ela será diferente de “Nota”, “NOTA”, nOta” etc. Ou seja, C++ é case sensitive (faz distinção de caracteres maiúsculos e minúsculos). INICIE OS PROGRAMAS COM INT MAIN (INT ARGC, CHAR** ARGV) { E TERMINE COM RETURN 0. Existe um motivo para isso, e cada palavra destes comandos tem um significado e um sentido. Mas vamos estudar sobre isto em outra aula. USE AS ENDENTAÇÕES, LINHAS BRANCAS E COMENTÁRIOS. Eles servem para deixar o código mais legível e fácil de ser entendido. Pense sempre na manutenção! Não é porque um programa é executado com sucesso que está tudo finalizado. A manutenção posterior de programas é um assunto importante, e um bom programador vai se preocupar com isso. Os comentários são delimitados por /* */ ou ainda //. Basicamente, a estrutura de um programa em C++ é assim: Entrada e saída de dados Todo algoritmo ou programa tem um objetivo. Este objetivo é alcançado por meio de uma entrada de dados, a qual será processada e resultará em uma saída que será avaliada. O problema é que, se a entrada for ruim, serão processados da maneira correta e a saída será ruim (e a culpa cairá sobre o sistema, ou o computador, como sempre!). Portanto, fazer a correta entrada de dados é fundamental. O processo de entrada-processamento-saída ocorre o tempo todo. Todo fluxograma obedece a esse processo; assim como os processos de compilação e de execução. A entrada e a saída podem ocorrer de diversas formas em um computador. Podemos ter a leitura de um cartão de banco em um caixa eletrônico, a digitação da senha, a informação que a senha digitada foi errada como saída e várias outras formas. Portanto, toda vez que for escrever um programa, lembre-se desse trio: entrada-processamento-saída.
Compartilhar