Programação em C++ Compiladores um compilador é um programa capaz de traduzir a linguagem de programação para a linguagem de máquina que os processadores possam executar as as instruções pedidas. Devc++ 1 Programação em C++ 1. Necessário incluir bibliotecas Elas informam ao compilador quais as funções estão disponíveis para o programa #include <stdio.h> - utilizada em C #include <iostream> - utilizada em C++ using namespace std; 2 Programação em C++ Função principal int main () { Onde o programa é realmente escrito, são declaradas as variáveis, as funções e onde as operações ocorrem; return 0; } //diferente do labview não existe execução contínua 3 Programação em C++ comentários int main () { // dois modos de incluir comentários – linha /* Trecho */ } 4 Programação em C++ variáveis Cada vez que uma variável é declarada o compilador reserva na memória um espaço correspondente a essa variável; Variáveis: int – inteiros - 16 bits (±32767); float – reais - 32 bits (±3,4E38); double – reais 64 bits (±1,7E308); long double – reais 80 bits (±3,4E4932). 5 Programação em C++ Variáveis bool – 1 byte – valores true or false; char – 1 byte – todos os caracteres ASCII A variável char pode ter seu espaço de memória adaptado conforme definição de programação 6 Programação em C++ Variáveis – sintaxe #include <iostream> using namespace std; int main () { //tipo nome_var_1, nome_var_2=0, ...; int variavel_1, Variavel_1, variAveL_1=10; double variavEL_1=2.439; } 7 Programação em C++ Declaração de atribuição Variáveis podem ser modificadas ao longo do programa e a forma mais fácil de se fazer isso é utilizando uma declaração de atribuição. O sinal de igual é utilizado como operador de atribuição. Sintaxe: Variável = expressão 8 Programação em C++ Variáveis – sintaxe #include <iostream> using namespace std; int main () { int var_1=0, var_2=1, var_3=0; var_3=var_1+var_2; } 9 Programação em C++ Problemas: se uma variável não recebeu um valor, para essa variável será atribuído o valor que está na memória (lixo de memória); Compatibilidade: a maioria dos compiladores não aceitam inserir valores fracionados em variáveis inteiras, e quando aceitam atribuem a essa variável somente a parte inteira, desconsiderando a parte decimal. 10 Programação em C++ Variáveis – sintaxe #include <iostream> using namespace std; int main () { double var_1=0.99, var_2=1; int var_3=0; var_3=var_1+var_2; //var_3 será igual a 1 e não 2 } 11 Programação em C++ Variáveis – sintaxe #include <iostream> using namespace std; int main () { double var_1=0.99, var_2=1; int var_3=0; var_2=var_1+var_3; //var_2 será igual a 0.99 } 12 Programação em C++ Operadores aritiméticos + (adição) - (subtração) * (multiplicação) / (divisão) Cuidado: se uma variável inteira for utilizada em uma expressão onde o resultado seja um número fracionário, essa variável só armazenará a parte inteira do resultado 13 Programação em C++ Entradas/ saídas de terminal Entradas e saídas de terminal são feitas com objetos cin e cout (em C++), as quais são definidas na bibliotexa <iostream>. Para utilizar essa importante biblioteca o programa deve conter as seguintes linhas no ínicio do arquivo (antes da função main) #include <iostream> using namespace std; 14 Programação em C++ cout Os valores de variáveis e strings podem ser apresentados como saída na tela. Qualquer combinação é permitida e a biblioteca <iostream> facilita a concatenação dos dados Sintaxe cout<<“ola, a variavel 1 e “<<var_1<<endl; cout<<“ola,\na variavel 1 e “<<var_1<<“\n”; 15 Programação em C++ cin Usa-se cin para a entrada de valores no programa, mais ou menos da mesma forma que cout. A sintaxe também é simila, e as setas apontam para dentro do programa. A função cin é utilizada para que o usuário posso digitar valores que será inseridos em variáveis dentro do programa. Sintaxe: cin>>var_1; 16 Programação em C++ #include <iostream> using namespace std; int main () { double var_1=0, var_2=0, var_3=0; cout<<“\ndigite um valor\n”; cin>>var_1; cout<<“\ndigite outro valor\n”; cin>>var_2; var_3=var_1/var_2; cout<<“\no valor da divisao e\n”<<var_3<<endl; return 0 } 17 Programação em C++ Exercício: 1 - Repita o exemplo anterior no devc++; 2 – faça um programa capaz de converter a temperatura dada em celsius para fahrenheit e kelvin, e mostre os dois resultados na tela do computador; 18 Programação em C++ Expressões booleanas: são expressões que ao final temos somente duas respostas verdadeiras – true (verdadeiro) ou false (falso) == igual a - 2==2 true; != diferente de - 2!=2 false; < menor que - 2<2 false; <= menor igual a - 2<=2 true; > maior que - 2>2 false; >= maior igual a - 2>=2 true; 19 Programação em C++ Operadores “e” && - “ou” || É possível elaborar expressões booleanas mais complexas utilizando esse operadores Exemplos (2==2)&&(2!=2) false; (2==2)||(2!=2) true; Variáveis podem ser utilizadas (var_1==var_2)||(var_3>=var_2) 20 Programação em C++ Estruturas de controle – if – else (se – então) Um comando if-else escolhe entre dois caminhos if - se sim -> faça uma função else – se não -> então faça outra função 21 Programação em C++ int main () { int var_1=0, var_2=1, var_3=0; if ((var_1<=var_2)&&(var_3==0)) { cout<<“a escolha foi if”<<endl; } else { cout<<“a escolha foi else”<<endl; } } 22 Programação em C++ Exercício: 3 – faça um programa capaz de converter a temperatura dada em celsius para fahrenheit e kelvin, e mostre apenas uma converção a escolha do usuário; 23 Programação em C++ Estruturas de controle – case Quando necessitamos de mais de uma opção de escolha, a estrutura de case pode ser mais apropriada que o if-else 24 Case int main ( ) { int var_1=6; cout<<"escreva um numero de 1 ate 3"<<endl; cin>>var_1; switch (var_1){ case 1: cout<<"escolheu o primeiro case"<<endl; break; case 2: cout<<"escolheu o segundo case"<<endl; break; case 3: cout<<"escolheu o terceiro case"<<endl; break; default: cout<<"opcao invalida"<<endl; break; } return 0; } 25 for loop O comando for loop é usualmente utilizado para se percorrer uma variável inteira em incrementos iguais; for (ação_de_inicialização ; expressão_booleana ; ação_de_atualização) ação_de_inicialização: indica como a variável de controle é inicializada; ação_de_inicialização: indica quando o loop deve parar; ação_de_atualização: indica como a variável de controle é atualizada (++ ou --) 26 for loop #include <iostream> #include <windows.h> using namespace std; int main(int argc, char** argv) { for (int beer=1;beer<=20;beer++){ cout<<"\neu ja bebi "<<beer<<" latas de cerveja\n"; if (beer>10){ cout<<"ja estou bebado\n\n"; } else{ cout<<"estou legal ainda\n\n"; } Sleep(500); } return 0; } 27 for loop int main(int argc, char** argv) { for (int beer=40;beer>=0;beer--){ cout<<"\ntenho "<<beer<<" na geladeira"; if ((beer<=100)&&(beer>30)){ cout<<endl; } else if ((beer<=30)&&(beer>20)){ cout<<"\nrepor cerveja na geladeira\n"; } else if ((beer<=20)&&(beer>10)){ cout<<"\nrepor cerveja na geladeira\nrapido por favor\n"; } else{ cout<<"\nrepor cerveja na geladeira\npelo amor de Deus\n"; } Sleep(500); } return 0; } 28 while loop #include <iostream> #include <windows.h> using namespace std; int main ( ) { int var_w_1=0; //é importante que seja indicado o valor da variavel de controle antes de entrar no loop while (var_w_1<=2) { cout<<"voce esta na iteracao do while numero "<<var_w_1<<endl; var_w_1++; Sleep (500); } return 0; } 29 do while loop #include <iostream> #include <windows.h> using namespace std; int main ( ) { int var_do_w=0; do { cout<<"voce esta na iteracao do do-while numero "<<var_do_w<<endl; var_do_w++; Sleep(500); } while (var_do_w<=2); return 0; } 30 Matrizes/vetores/arrays #include <iostream> #include <windows.h> using namespace std; int main ( ) { int vetor[5]={1,2,3,4,5}; cout<<"\no primeiro valor do vetor e: "<<vetor[0]<<endl; cout<<"\no ultimo valor do vetor e: "<<vetor[4]<<endl; cout<<"\nsomando o segundo e o quarto elementos do vetor temos "<<matriz[1]+matriz[3]<<endl; vetor[2]=27; cout<<"o valor do terceiro elemento foi modificado para "<<matriz[2]<<endl; return 0; } 31 Matrizes/vetores/arrays #include <iostream> using namespace std; int main ( ) { int tamanho_vetor=0; cout<<"\ndigite o tamanho que a seu vetor deve ter\n"; cin>>tamanho_vetor; int vetor[tamanho_vetor]; for (int i=0;i<tamanho_vetor;i++){ cout<<"\nentre com o elemento no index "<<i<<endl; cin>>vetor[i]; cout<<endl; } cout<<"\no vetor montado pelo usuario foi: "<<endl; for (int i=0;i<tamanho_vetor;i++){ cout<<vetor[i]<<endl; } return 0; } 32