Download - INTRODUÇÃO A PROGRAMACAO AULA 2
-
1Introduo Programao
Vania Bogorny e
Deise Saccol
Adaptado de slides das Profas. Patrcia Jaques e Mnica Py
-
2 ESTRUTURAS DE DECISO Comandos de deciso ou desvio fazem parte das
tcnicas de programao, para construir estruturas de algoritmos que no so totalmente seqenciais.
Com as instrues de desvio pode-se fazer com que o algoritmo proceda de uma ou outra maneira, de acordo com as decises lgicas tomadas em funo dos dados ou resultados anteriores.
As principais estruturas de deciso so: SE...ENTO
SE...ENTO...SENO
CASO FOR...ENTO
Lgica de programao
-
3- Formato: Se ento
Significado: Se a resultar em verdadeiro, ento executar as . Seno, simplesmente ignorar as e seguir para a prxima instruo no algoritmo.
Usada para decidir se um conjunto de aes opcionais deve ser executado ou no, dependendo do valor de algum dado ou de algum resultado que j tenha sido calculado no algoritmo. O valor do dado ou do resultado anterior ser testado na operao lgica.
Lgica de programaoSE ... ENTO ...
-
4 Exemplo da estrutura SE...ENTO:Avisar se um nmero lido for negativo.
PSEUDOCDIGO:
Ler N
Se (N < 0)
ento exibir negativo!
FLUXOGRAMA:
Lgica de programao
INCIO
negativo!
FIM
N
N < 0Sim
No
OPERAO LGICA:
Poder ser V ou F, depen-
dendo do valor de N, que
foi lido antes.
-
5- Formato:Se ento
seno
Significado: Se a resultar em verdadeiro, ento executar . Seno, ignorar e executar .
Usada para decidir entre duas alternativas de aes. Um dos dois conjuntos de aes ser executado e o outro no, dependendo do valor de algum dado ou de algum resultado que j tenha sido calculado no algoritmo. O valor do dado ou do resultado anterior ser testado na operao lgica, determinando qual conjunto de aes ser executado.
Lgica de programaoSE ... ENTO ...SENO...
-
6 Exemplo da estrutura SE...ENTO...SENO:Mostrar a diferena entre 2 nmeros quaisquer.
PSEUDOCDIGO:
Ler N1
Ler N2
Se (N1 > N2) ento DIF = N1 - N2seno DIF = N2 - N1
Mostrar DIF
(Obs.: Este algoritmo funciona mesmo se os dois nmeros forem iguais, pois ser calculado N2 - N1, o que resultar em 0. Tambm funciona se um ou ambos forem negativos. Experimente!)
Lgica de programao
-
7 FLUXOGRAMA:
Lgica de programao
INCIO
DIF
FIM
N1 > N2Sim
N1
N2
NoDIF = N1 - N2DIF = N2 - N1
-
8Se ... Ento ... Seno ... encadeados
Se ento
seno se ento
seno
Exemplo:
se (valor10) ento res = 2;
seno res = 3;
-
9 Formato:Caso ento Caso ento Caso ento Caso
Significado: Se for igual a , ento executar . Se for igual a , ignorar e executar , e assim por diante.
Usada para escolher apenas um conjunto de aesdentre vrios alternativos. Aqui o teste no mais uma operao lgica: o prprio valor de algum dado ou resultado anterior (que pode ser de outros tipos alm do lgico) que vai determinar qual desses conjuntos de aes ser executado.
Lgica de programaoCASO ... ENTO...
-
10
Exemplo da estrutura CASO...ENTO:Escolher uma das 4 operaes bsicas para aplicar em dois nmeros.
PSEUDOCDIGO:
Ler N1
Ler N2
Ler OPERACAO (que ser do tipo caractere)
Caso OPERACAO:+ ento RESULT = N1 + N2- ento RESULT = N1 - N2* ento RESULT = N1 * N2/ ento RESULT = N1 / N2caso contrario exibir Operao no vlida!
Exibir RESULT
Lgica de programao
-
11
FLUXOGRAMA:
Lgica de programao
INCIO
R
FIM
OPER
N1, N2
OPER
R = N1 + N2 R = N1 - N2 R = N1 * N2 R = N1 / N2
+ - * /
-
12
Introduo Linguagem C
Deise Saccol
Adaptado de slides das Profas. Patrcia Jaques e Mnica Py
-
13
Estrutura condicional simples
Comando ifif (condio)
comando;
if (condio) {
comando1;
comando2;
comando3;
}
if (a
-
14
Estrutura condicional composta
Comando if...elseif (condio)
comando;
else
comando;
if (condio) {
comando1;
comando2;
}
else {
comando3;
comando4;
}
if (peso= =peso_ideal)
printf (Vc est em forma!);else
printf (Necessrio fazer dieta!);
em pseudo-cdigo:se (peso= =peso_ideal)
entao exibir Vc est em forma!senao exibir Necessrio fazer dieta!
Executa o comando se a condio for qualquer coisa diferente de zero!
-
15
Estrutura SWITCH
switch (numero){case 1: printf ("Janeiro\n"); break;case 2: printf ("Fevereiro\n"); break;case 3: printf ("Marco\n"); break;case 4: printf ("Abril\n"); break;case 5: printf ("Maio\n"); break;case 6: printf ("Junho\n"); break;case 7: printf ("Julho\n"); break;case 8: printf ("Agosto\n"); break;case 9: printf ("Setembro\n"); break;case 10: printf ("Outubro\n"); break;case 11: printf ("Novembro\n"); break;case 12: printf ("Dezembro\n"); break;default: printf (Mes invalido\n");
}
-
16
Exerccio 1
1) Dados dois nmeros A e B, some 100 ao maior nmero e imprima.
#include #include main(){
int A, B, soma;printf ("Digite o valor de A: ");scanf ("%d", &A);printf ("Digite o valor de B: ");scanf ("%d", &B);if (A>B)
soma=A+100;else
soma=B+100;printf ("O maior valor adicionado de 100 resulta em %d\n", soma);system("pause");
}
-
17
Exerccio 2
2) Escreva um algoritmo para determinar se uma pessoa maior ou menor de idade.
#include
#include
main (){
int idade;
printf ("Digite a idade da pessoa: ");
scanf ("%d", &idade);
if (idade>=18)
printf ("Pessoa eh maior de idade.\n");
else
printf ("Pessoa eh menor de idade.\n");
system("pause");
}
-
18
Exerccio 3
Ou utilizando boolean:
#include #include main (){int idade;bool status;printf ("Digite a idade da pessoa: ");scanf ("%d", &idade);if (idade>=18)
status=true;else
status=false;if (status)
printf ("Pessoa eh maior de idade.\n");else
printf ("Pessoa eh menor de idade.\n");system("pause");}
-
19
Exerccios
4) Faa um algoritmo que leia a quantidade comprada de um produto e o preo unitrio deste produto.
- Se o preo total a ser pago for inferior a R$ 100, ento fornea um desconto de 5%.
- Se o preo total a ser pago ficar entre 100 e 1000, ento fornea um desconto de 5% e armazene um bnus de 5% em cima do valor total.
- Se o preo total a ser pago for superior a 1000, ento fornea um desconto de 10%, armazene um bnus de 5% em cima do valor total e escreva na tela que o cliente ser cadastrado como Cliente Vip.
-
20
#include #include main(){
int qtdade;float preco, valorTotal, descontado, bonus;printf ("\nDigite a qtdade: ");scanf ("%d", &qtdade);printf ("\nDigite o preco unitario: ");scanf ("%f", &preco); valorTotal=qtdade*preco;if (valorTotal=100 && valorTotal1000)//poderia ser soh: else{
descontado=valorTotal*0.90;bonus=valorTotal*0.05;printf ("\n Cliente vip!\n");
} printf ("\n Valor Total eh %.2f\n", valorTotal);printf ("\n Valor com desconto eh %.2f\n", descontado);printf ("\n Bonus eh %.2f\n", bonus);system("pause");
}
-
21
Exerccios
Fazer lista de exerccios parte 1
Fazer lista de exerccios parte 2