Upload
vandang
View
212
Download
0
Embed Size (px)
Citation preview
Programação científica C++
Slide 3
NIELSEN CASTELO DAMASCENO
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 parLeia (n);s 0;para i de 1 até n repita
t 2 * i;s s + t;
Fim paraImprima(s);
n=2 {2+4=6}n=3 {2+4+6=12}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 paraImprima(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 quadradaLeia (a);x 1;para i de 1 até 5 repita
x (x + a/x)/2;Fim paraImprima(x);
Algoritmo Raiz quadrada
Atividade 1Escreva 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 quadradoLeia(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 maiorLeia(A,B);Se A > B então
max A;Se não
max B;Imprima(“Maior”, max);
Algoritmo maior 2Leia(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 2Determine o ano em que a população brasileira supera ou iguala a população americana.Entrada: N(inteiro)
Br, USA (real)Saída: N (inteiro)
Atividade 2Leia (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ãoConsidere 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 5notas lidas.
Comandos de Seleção
Permite a seleção de uma ou várias instruções (bloco) aserem executado quando uma determinada expressãocondicional for verdadeira.
Comando de Seleção SimplesEm Portugol...
se condição entãoseqüência de comandos
fimse
Comando de Seleção SimplesNa Linguagem C++...
if (expressão) comando;
O comando associado ao if é executado apenas se a expressão for verdadeira (diferente de zero) .
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 essevalor seja diferente de zero, uma mensagem de “número válido”deve aparecer.
Início
Usuário digita num
Num != 0 “número válido”
Fim
Sim
Não
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 )
cout << “Numero valido!”;
O 2º comando coutserá executado se numero for diferente de zero. Poderia usar tambémif (numero !=0)
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 CompostaEm Portugol...
se condição entãoseqüência de comandos
senãoseqüência de comandos
fimse
Comando de Seleção CompostaNa Linguagem C++...
if (expressão) Comando1;
else Comando2;
O comando associado ao if é executado se a expressãofor verdadeira (diferente de zero) caso contrário, o comando associado ao else é executado
Comando:- Simples- Bloco- Nada
Exercício
Faça um programa que mostre o valor digitado pelo usuário, caso esse valorseja diferente de zero, uma mensagem de “número válido” deveaparecer. Senão uma mensagem de “número inválido” deve aparecer.
CodeBlocksInício
Usuário digita num
Num != 0 “número válido”
Fim
Sim
Não
“número inválido”
Comando de Seleção CompostaEm 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 AninhadaSe 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 aninhadaif else if– Na Linguagem C++
if (expressão1) comando1;
else {if (expressão2)
comando2;else {
if (expressão3) comando3;
elsecomando4;
}}
Seleção Encadeada HomogêneaEm 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 “aprovado”
Fim
Sim
Não
“reprovado”
média>= 3 “prova final”Sim
Não
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 EscolhaNa 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;}
Executada se expressão for igual ao valor constante2
Executada se expressão não for igual a nenhum caso anterior
Valor Constante. Não pode ser variável ou expressão.
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 comportamentosSuponha 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. Qualquernúmero diferente desses é desconhecido. Faça um programa que simule oraciocínio dessa tribo.
Seleção de Múltipla EscolhaNa 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 EscolhaNa 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;