Programação científica C++ - Portal NCDD+/slide3.pdf · Escreva um programa em C++ que apresenta...

Post on 15-Dec-2018

212 views 0 download

Transcript of Programação científica C++ - Portal NCDD+/slide3.pdf · Escreva um programa em C++ que apresenta...

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;