Programação científica C++ NIELSEN CASTELO DAMASCENO Slide 3
Exercícios Escreva um programa para armazenar o valor 20 em uma variável X e o valor 5 em uma variável Y. A seguir, armazenar a soma do valor de X com o de Y em uma variável Z. Escrever (na tela) o valor armazenado em X, em Y e em Z.
Exercícios Escreva um programa para ler dois valores digitado pelo usuário. Após a leitura deve-se calcular a soma dos valores lidos e armazená-la em uma variável.
Exercícios Escreva um programa para ler um valor. Se o valor lido for igual a 6, escrever a mensagem 'Valor lido é o 6', caso contrário escrever a mensagem 'Valor lido não é o 6'.
Contadores
Acumuladores
Operadores aritméticos
Códigos barra invertida
Algoritmo Somar Leia (A,B); Soma A+B; Imprima(Soma);
Algoritmo Soma par Leia (n); s 0; para i de 1 até n repita t 2 * i; s s + t; n=2 {2+4=6} Fim para n=3 {2+4+6=12} Imprima(s); n=6 {2+4+6+8+10+12=42}
Algoritmo Soma par
Algoritmo mostra impar Leia (n); s 0; para i de 1 até n repita t 2 * i - 1; Fim para Imprima(t);
Algoritmo mostra impar
Algoritmo Raiz quadrada Método aproximado para calcular a raiz quadrada de um número. O processo é iterativo proposto inicialmente por Newton-Raphson. = +, = 1, Faça a análise no caderno para A=2
Algoritmo Raiz quadrada Leia (a); x 1; para i de 1 até 5 repita x (x + a/x)/2; Fim para Imprima(x);
Algoritmo Raiz quadrada
Atividade 1 Escreva um programa em C++ que apresenta uma tabela de raízes quadradas dos números inteiros no intervalo digitado pelo usuário (exe.: de 2 a 10). O valor aproximado de cada raiz quadrada deve ser obtido através de 5 iterações.
Algoritmo quadrado Leia(A); Enquanto A > 0 t A * A; imprima(a,t); Leia(A); Fim enquanto
Algoritmo quadrado
Algoritmo quadrado 2 Leia(A); repita t A * A; imprima(a,t); Leia(A); Até que > 0 ;
Algoritmo quadrado 2
Algoritmo maior Leia(A,B); Se A > B então max A; Se não max B; Imprima( Maior, max);
Algoritmo maior 2 Leia(A,B); Se A=B então imprima ( Valores iguais ); Se não Se A > B então max A; Se não max B; Imprima( Maior, max);
Exercício
Atividade 2 Determine o ano em que a população brasileira supera ou iguala a população americana. Entrada: N(inteiro) Saída: Br, USA (real) N (inteiro)
Atividade 2 Leia (N,Br,USA); Repita Br Br + 0.04 x Br; USA USA + 0.02 * USA; N N + 1; Até que Br USA; Imprima( Ano, N);
Exercícios de revisão Escreva um programa para armazenar o valor 4 em uma variável A e o valor 3 em uma variável B. A seguir, armazenar a soma de A com B em uma variável C e a subtração de A com B em uma variável D. Escrever o valor de A, B, C e D e também escrever a mensagem 'Fim do programa'.
Exercícios de revisão Considere a seguinte expressão do algoritmo = + 4. Considere que A=3.2; B=4.4; C= -6. Escreva um programa em C++ e o algoritmo que apresente o valor de S.
Exercícios de revisão Escreva um programa para ler um valor. Se o valor lido for igual a 6, escrever a mensagem Valor lido é o 6, caso contrário, escrever a mensagem Valor lido não é o 6.
Exercícios de revisão Escreva um algoritmo e o programa em C++ para escrever 10 vezes a palavra FACCAT na tela.
Exercícios de revisão Escreva um programa para ler a nota de 5 alunos e escrever a nota mais alta, ou seja, a maior nota entre as 5 notas lidas.
Comandos de Seleção Permiteaseleção de uma ou várias instruções (bloco) a serem executado quando uma determinada expressão condicional for verdadeira.
Comando de Seleção Simples Em Portugol... se condição então seqüência de comandos fimse
Comando de Seleção Simples Na Linguagem C++... O comando associado ao if é executado apenas se a expressão for verdadeira (diferente de zero). if(expressão) comando; Comando: - Simples - Bloco - Nada
Exercício Faça um programa que mostre o valor digitado pelo usuário, caso esse valor seja diferente de zero, uma mensagem de número válido deve aparecer.
Exercício Faça um programa que mostre o valor digitado pelo usuário, caso esse valor seja diferente de zero, uma mensagem de número válido deve aparecer. Início Usuário digita num Num!= 0 Sim número válido Não Fim
Exercício int numero; cout << Digite um numero diferente de zero ; cin >> numero; if (numero!= 0) cout << Numero valido! ;
Expressão Condicional Qualquer expressão válida pode ser usada para controlar um comando if em C++. Não há obrigatoriedade de usar operadores lógicos ou relacionais. int numero; cout << Digite num diferente de zero: ; cin >> numero; if ( numero ) O 2º comando cout será executado se numero for diferente de zero. Poderia usar também if (numero!=0) cout << Numero valido! ;
Comando de Seleção Composta Dois comandos ou blocos alternativos dependem de uma mesma condição. Se uma condição for verdadeira, o primeiro comando ou bloco é executado. Caso contrário, o segundo é executado.
Comando de Seleção Composta Em Portugol... se condição então seqüência de comandos senão seqüência de comandos fimse
Comando de Seleção Composta Na Linguagem C++... O comando associado ao if é executado se a expressão for verdadeira (diferente de zero) caso contrário, o comando associado ao else é executado if(expressão) Comando1; else Comando2; Comando: - Simples - Bloco - Nada
Exercício Faça um programa que mostre o valor digitado pelo usuário, caso esse valor seja diferente de zero, uma mensagem de número válido deve aparecer. Senão uma mensagem de número inválido deve aparecer.
CodeBlocks Início Usuário digita num Num!= 0 Sim número válido Não número inválido Fim
Comando de Seleção Composta Em C++... int numero; cout << Digite um numero diferente de zero ; cin >> numero; if (numero!= 0) cout << Numero valido! ; else cout << Numero invalido!;
Seleção Encadeada (Aninhada) Várias seleções agrupadas Um grande conjunto de combinações de situações deve ser satisfeito
Seleção Aninhada Se Senão Se Em Portugol 1. se (condição1) então 2. Comando1; 3. senão 4. se (condição2) então 5. Comando2; 6. senão 7. se (condição3) então 8. Comando3; 9. senão 10. se (condição4) então 11. Comando4; 12. fimse; 13. fimse; 14. fimse; 15. fimse;
Seleção aninhada if else if Na Linguagem C++ if(expressão1) comando1; else{ if(expressão2) comando2; else{ if(expressão3) comando3; else comando4; } }
Seleção Encadeada Homogênea Em Portugol... 1. se (condição1) então 2. Comando1; 3. fimse; 4. se (condição2) então 5. Comando2; 6. fimse; 7. se (condição3) então 8. Comando3; 9. fimse; 10. se (condição4) então 11. Comando4; 12. fimse; Caso as condições 1, 2, 3 e 4 não possam ocorrer ao mesmo tempo, testes desnecessários são realizados.
Exercício Faça um programa que de acordo com a média do aluno mostre se ele foi aprovado, se está em prova final ou se foi reprovado.
Início Digitar a média do aluno média>= 7 Sim aprovado Não média>= 3 Sim prova final Não reprovado Fim
Seleção de Múltipla Escolha Simplificação da seleção se-senão-se Em alguns situações, existem situações mutuamente exclusivas, isto é, se uma situação for executada, as demais não serão. Em Portugol: 1. escolha X 2. caso v1: C1; 3. caso v2: C2; 4. caso v3: C3; 5. caso v4: C4; 6. casocontrário: C5; 7. fimescolha;
Seleção de Múltipla Escolha Na Linguagem C++... switch (expressão) { case constante1: seqüência de comandos 1; break; case constante2: seqüência de comandos 2; break;... default: seqüência de comandos 4; } Valor Constante. Não pode ser variável ou expressão. Executada se expressão for igual ao valor constante2 Executada se expressão não for igual a nenhum caso anterior
Seleção múltipla switch
Seleção múltipla switch
Seleção múltipla switch
Instrução break e continue
Operadores relacionais
Exemplos de comportamentos
Exemplos de comportamentos
Exemplos de comportamentos
Exemplos de comportamentos Suponha que, em algum ponto do programa, desejamos assegurar que queremos uma pessoa do sexo feminino e que idade seja maior ou igual a 65. Duas condições sejam verdadeiras antes de escolher determinado caminho de execução.
Exercício Uma antiga tribo aborígene só consegue diferenciar o 0,1 e 2. Qualquer número diferente desses é desconhecido. Faça um programa que simule o raciocínio dessa tribo.
Seleção de Múltipla Escolha Na Linguagem C++... int numero; cin >> numero; switch (numero) { case 0: cout << zero ; break; case 1: cout << um ; break; case 2: cout << dois ; break; default: cout << numero maior que dois ou menor que zero ; }
Seleção de Múltipla Escolha Na Linguagem C++... Se a cláusula break não for colocada, após a execução dos comandos de um caso válido, os comandos dos casos subseqüentes também serão executados até que seja executado um comando break ou switch.
Dica de programação O switch só aceita como argumento somente um número. Caso, você queira usar um intervalo tem que usar os comandos if-else.
Operador Ternário? : O operador? : pode substituir comandos if-else na forma geral: if (expressão1) expressão2; else expressão3; Quando expressão2 e expressão3 forem expressões simples (nunca outro comando em C++) Exp1? Exp2 : Exp3; A expressão Exp1 é avaliada. Se for verdadeira, Exp2 é avaliada e se tornará o valor da expressão? como um todo. Caso contrário, Exp3.
Operador Ternário? : int x, y; cout << Entre com um valor para x: ; cin >> x; y = x > 10? 100 : 200; Equivale a: if ( x > 10 ) y = 100; else y = 200;