Técnicas de Programação I Conceitos básicos C/C++ Material baseado nas aulas da Profa. Isabel Harb Manssour http://www.inf.pucrs.br/~manssour/laproi, entre outros materias Operadores Aritméticos C++: Outros Operadores pós e pré-fixados: Incremento (++) e decremento (--) x = x+1; é o mesmo que ++x; ou x++; x = x-1; é o mesmo que --x; ou x--; Importante Quando um operador de incremento ou decremento precede seu operando, a operação de incremento ou decremento é executada antes de usar o valor do operando Se o operador estiver após seu operando, o valor do operando será utilizado antes de incrementá-lo ou decrementá-lo 1
Exemplos x = 10; y = ++x; // // y igual a 11, x igual a 11 x = 10; y = x++; // // y igual a 10, x igual a 11 int a, a, b, b, c, c, i i = 3; 3; // // a: a:? b:? c: c:? i: i: 3 a = i++; // // a: a: 3 b:? c: c:? i: i: 4 b = ++i; // // a: a: 3 b: 5 c: c:? i: i: 5 c = --i; // // a: a: 3 b: 5 c: c: 4 i: i: 4 Prioridade dos operadores aritméticos 1. Multiplicações e divisões 2. Somas e subtrações Obs: Parênteses, colchetes ou chaves podem alterar esta ordem Leitura da esquerda para a direita em caso de indeterminação mais de uma operação de mesma prioridade 2
C++: Outros operadores de atribuição = += -= *= /= Operador += += significa: a+=b; a = a + b; b; Operador -= -= significa: a-=b; a = a --b; b; Operador *= *= significa: a*=b; a = a * b; b; Operador /= /= significa: a/=b; a = a // b; b; Operador de de incremento :: a++; a = a + 1; 1; Operador de de decremento :: a--; a = a --1; 1; C++: Funções matemáticas pow(base, exp) = baseexp Biblioteca: math.h Protótipo: double pow(double base, double exp) Exemplos: pow(3,2) = 9.0 pow(3+1, 2) = 16.0 sqrt(número) = raiz quadrada do número Biblioteca: math.h Protótipo: double sqrt(double número) Exemplos: sqrt(4) = 2.0 3
C++: Funções matemáticas abs(número) = valor absoluto de um número inteiro Biblioteca: stdlib.h Protótipo: int abs(int número) Exemplos: abs(-4) = 4 abs(4) = 4 fabs(número) = valor absoluto de um número real Biblioteca: math.h Protótipo: double fabs(double número) Exemplos: fabs(-4.0) = 4.0 fabs(4.0) = 4.0 Estrutura de Seleção Quando a execução de determinados comandos depende de uma condição ou quando uma escolha deve ser feita entre um certo número de alternativas Pode ser seleção simples ou múltipla A condição é especificada por uma expressão lógica 4
Expressões Lógicas Expressão lógicas possuem: operadores lógicos operadores relacionais Operadores lógicos possíveis: false (0) falso true (número maior do que 0) - verdadeiro Comando de Seleção Uma operação de seleção em um algoritmo será representada pelas seguintes instruções: SE <expressão_lóg> ENTÃO <bloco de comandos> SE <expressão_lóg> ENTÃO < bloco de comandos > SENÃO < bloco de comandos > 5
Exemplo Construir um algorítimo que leia dois números e mostre o maior deles C++: Comandos Condicionais if( ) if ( ) else if ( ) else if ( ) else switch ( ) 6
If - else if if (( expressão )) { bloco 1 Bloco 1 será executado somente se se } a expressão for forverdadeira: else diferente de de zero. { Bloco bloco 2 2 será executado somente se se a } expressão for forfalsa: igual de de zero. A parte do do else é opcional :: if if (( expressão )) { bloco 1 } Exemplo 1: if -else if if (( a > 0 )) cout << << Número positivo ;; else a > 0 retorna cout << << Número negativo ;; 1 1se sefor verdadeira 0 0 se se for for falsa É executada se se o resultado for for verdadeiro É executada se se o resultado for for falso 7
Exemplo 2: if else aninhados if if (( a > 0 )) cout << << Número positivo ;; else if if (a (a < 0) 0) cout << << Número negativo ;; else cout << << Número nulo ;; É executada se se nenhuma das condições anteriores for for satisfeita. Operadores Relacionais e Lógicos 8
Tabela Verdade Precedência dos Operadores 1.! 2. *,/,% 3. +,- 4. <,>,<=,>=,!=,== 5. && 6. 9
Exercícios Escrever um algorítimo e um programa em C++ que leia três notas de um aluno, calcule a média aritmética das 3 notas, e mostre, além do valor da média, uma mensagem de "Aprovado", caso a média seja igual ou superior a 5, ou a mensagem Reprovado caso contrário. Exercícios Faça um algorítimo e um programa em C++ que leia um número digitado pelo usuário e escreva uma mensagem na tela indicando se o número é par ou ímpar. Implemente um programa C++ que leia a idade de um nadador e exiba uma mensagem classificando-o em uma das seguintes categorias: infantil A = 5-7 anos infantil B = 8-10 anos juvenil A = 11-13 anos juvenil B = 14-17 anos adulto = maiores de 18 anos 10