Baixe o app para aproveitar ainda mais
Prévia do material em texto
Revisão de Conceitos Básicos em C++ (Programação de Computadores I) BCC702-Programação de Computadores II Emiliana Mara Lopes Simões simoes.eml@gmail.com Universidade Federal de Ouro Preto março 2010 Estrutura básica dos primeiros programas em C++ <diretivas do pré-processador> main() { <declarações locais>; <instruções>; } Estrutura básica dos primeiros programas em C++ <diretivas do pré-processador> main() { <declarações locais>; <instruções>; } Estrutura básica dos primeiros programas em C++ <diretivas do pré-processador> main() { <declarações locais>; <instruções>; } Variáveis São locais onde armazenamos valores na memória Toda variável é caracterizada por: tipo: determina o que pode ser armazenado na variável nome: identifica a variável em um programa tamanho: espaço de memória que a variável ocupa valor: valor armazenado na variável Declarando Variáveis Estrutura geral: <tipo da variável> <nome da variável>; Exemplo: Atribuindo Valores às Variáveis Estrutura geral: <nome da variável> = <valor>; Exemplo: Regras para Nomes de Variáveis (Identificadores) Deve começar com uma letra (maiúscula ou minúscula) ou subscrito (_) Nunca pode começar com um número Pode conter letras maiúsculas, minúsculas, subscrito e número Regras para Nomes de Variáveis (Identificadores) C++ é uma linguagem case-sensitive, ou seja, diferencia letras maiúsculas e minúsculas: Peso e peso são identificadores diferentes Identificadores devem ser únicos no mesmo escopo (não podem haver variáveis com o mesmo identificador dentro do mesmo bloco de programa). Regras para Nomes de Variáveis (Identificadores) Algumas palavras já têm um significado na linguagem C++ (palavras reservadas) e por esse motivo não podem ser utilizadas como nomes de variáveis. Exemplos: auto double int struct break enum register typedef char extern return union const float short unsigned continue for signed void default goto sizeof volatile do Tipos primitivos int: Representa um número inteiro; negativo, nulo ou positivo. Ex: -5, 0, 235 float: Representa um número real; negativo, nulo ou positivo. Ex: -5, 30.5, 40 double: Representa um número real; negativo, nulo ou positivo. Ex: -5, 30.5, 40 char: Representa uma letra, dígito ou outro caracter especial. Ex: ’a’, ’1’, ’+’ bool: Representa os valores true (verdadeiro) e false (falso) Operadores Matemáticos Operador Exemplo Descrição + x + y soma x e y - x - y subtrai y de x * x * y multiplica x e y / x / y divide x por y % x % y resto da divisão inteira de x por y Observação: Parenteses () são usados em expressões em C++ da mesma forma que em expressões algébricas. Por exemplo, para multiplicar a pelo valor de b + c deve-se escrever a * (b + c) Ordem de Precedência e Associatividade dos Operadores Exemplos de Expressões Álgebra: m = a + b + c + d + e 5 (1) C++: m = (a + b + c + d + e)/5 (2) Exemplos de Expressões Álgebra: y = mx + b (3) C++: y = m ∗ x + b (4) Entrada e Saída de Dados cout (character output), objeto responsável pelo envio de dados para a tela cout é usado em conjunto com o operador de inserção ( << ) Exemplo #include <iostream> using namespace std; main() { //declaração int a; //atribuição a = 10; //impressão cout << “Impressao de uma cadeia de caracteres ”; cout << “e do valor de a ” << a << endl; system(“pause>null”); } Exemplo Saída: Impressao de uma cadeia de caracteres e do valor de a 10 Entrada e Saída de Dados cin (character input), objeto responsável pela obtenção de dados da tela cin é usado em conjunto com o operador de extração ( >> ) cin normalmente quebra os dados lidos através dos espaços em branco (isto é, espaço, tabulação ou nova linha) Exemplo #include <iostream> using namespace std; main() { //declaração int a, b, c; cout << “Digite dois valores (a e b): ”; cin >> a; cin >> b; c = a + b; //impressão cout << “O valor de a + b e ” << c << endl; system(“pause>null”); } Exemplo Saída: Digite dois valores (a e b): 10 20 O valor de a + b e 30 Comandos de decisão - if O comando if serve para alterar o fluxo de execução de um programa baseado no valor, verdadeiro ou falso, de uma expressão lógica Estrutura geral: if(<condição>) <comando>; condição é uma expressão lógica que retorna o valor verdadeiro ou falso comando é o comando a ser executado se a condição for verdadeira Exemplo Se a nota de um aluno for maior que ou igual a 6,0 imprimir “Aprovado” #include <iostream> using namespace std; main() { //declaração float nota; cout << “Digite a nota do aluno: ”; cin >> nota; if(nota >= 6.0) cout << “Aprovado” << endl; system(“pause>null”); } Comandos de decisão - if ... else if...else permite especificar uma ação quando uma condição for verdadeira (true) e outra quando a condição for falsa (false) Estrutura geral: if(<condição>) <comando1>; else <comando2>; Exemplo Se a nota de um aluno for maior que ou igual a 6,0 imprimir “Aprovado” senão imprimir “Reprovado” #include <iostream> using namespace std; main() { //declaração float nota; cout << “Digite a nota do aluno: ”; cin >> nota; if(nota >= 6.0) cout << “Aprovado” << endl; else cout << “Reprovado” << endl; system(“pause>null”); } Operadores Relacionais Operador Exemplo Descrição == x == y O conteúdo de x é igual ao de y != x != y O conteúdo de x é diferente do de y <= x <= y O conteúdo de x é menor ou igual ao de y >= x >= y O conteúdo de x é maior ou igual ao de y < x < y O conteúdo de x é menor que o de y > x > y O conteúdo de x é maior que o de y As expressões relacionais em C++ retornam true ou false Operadores Lógicos && (E lógico): Retorna verdadeiro se ambos os operandos são verdadeiros e falso nos demais casos || (OU lógico): Retorna verdadeiro se um ou ambos os operandos são verdadeiros e falso se ambos são falsos ! (NÃO lógico): Usada com apenas um operando. Retorna verdadeiro se o operando é falso e vice-versa Exemplo Verificar se um valor x está entre os valores 0 e 10 O certo if(x > 0 && x < 10) cout<<“Valor entre 0 e 10”; Erro comum if(0 < x < 10) cout<<“Valor entre 0 e 10”; Exemplo Pessoa com idade inferior a 5 anos ou superior a 60 anos recebe tratamento diferenciado. Dada a idade da pessoa verificar se deve haver um tratamento diferenciado. O certo if(idade < 5 || idade > 60) cout<<“Tratamento diferenciado”; Exemplo As coisas se inverteram... Agora uma pessoa com idade inferior a 5 anos ou superior a 60 anos não recebe tratamento diferenciado, as demais sim!!!! O certo if(!(idade < 5 || idade > 60)) cout<<“Tratamento diferenciado”; Estrutura de seleção múltipla: switch if faz seleção única if/else faz seleção dupla Para seleção múltipla C++ oferece a estrutura switch O objetivo do comando é verificar várias possibilidades para valores de uma variável ou expressão Estrutura de seleção múltipla: switch switch ( <expressão> ){ case <valor1>: <grupo de comandos 1>; break; case <valor2>: <grupo de comandos 2>; break; ... default: <grupo de comandos n>; } Estrutura de seleção múltipla: switch main(){ int dia; cout<<“Digite um dia: ”; cin>>dia; switch (dia){ case 1: cout<<“segunda”; break; case 2: cout<<“terca”; break; default: cout<<“dia não é segunda nem terça”; } system(“pause”); } Comandos de Repetição Os comandos de repetição (loop) são um recurso que permite que um certo trecho do código de um programa seja repetido um certo número de vezes Na linguagem C++ existem três comandos de repetição: 1 while 2 do-while 3 for Comandos de Repetição: while O comando while permite que um certo trecho de programa seja executado ENQUANTO uma certa condição for verdadeira A forma geral do comando while é: while(<condição>) <comando1>; //comando que é repetido Exemplo Imprimir a frase “Vou me dar bem em Programacao II.” 10 vezes. #include <iostream> using namespace std; main() { //declaração int cont; //inicialização cont = 0; while(cont < 10){ cout << “Vou me dar bem em Programacao II.” <<endl; cont++; } system(“pause>null”); } Exemplo Atenção especial à variável contadora: Variável Contadora int cont: Controla o número de vezes que os comandos do while serão executados. Erro comum Não inicializar as variáveis contadoras pode causar erro de lógica! Erro comum Não atualizar o valor da variável contadora dentro do while causa um loop infinito! Comandos de Repetição: do-while A forma geral do comando do-while é: do <comando1>; //comando que é repetido while(<condição>); Exemplo Imprimir a frase “Vou me dar bem em Programacao II.” 10 vezes. #include <iostream> using namespace std; main() { //declaração int cont = 0; do{ cout << “Vou me dar bem em Programacao II.” << endl; cont++; }while(cont < 10); system(“pause>null”); } Comandos de Repetição: do-while x while Os comandos de repetição while e do-while possuem estruturas semelhantes No while a condição de continuação é testada no princípio do laço antes do corpo ser executado O do/while testa a condição de continuação do laço depois do laço ser executado Assim, no do/while sempre o laço será executado pelo menos 1 vez Comandos de Repetição: for Trata todos os detalhes da repetição controlada por contador A forma geral do comando for é: for(inicialização; condição; incremento/decremento) <comando1>; //comando que é repetido <comando2>;//comando executado após o for Exemplo Imprimir a frase “Vou me dar bem em Programacao II.” 10 vezes. #include <iostream> using namespace std; main() { for(int cont = 0; cont < 10; cont++) cout << “Vou me dar bem em Programacao II.” << endl; system(“pause>null”); } Dúvidas? Próxima Aula REVISÃO: Procedimentos e funções
Compartilhar