A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Ameliara Freire  Variaveis, constantes, leitura e escrita ainda não são suficientes para formar uma linguagem completa para descricao.

Apresentações semelhantes


Apresentação em tema: "Ameliara Freire  Variaveis, constantes, leitura e escrita ainda não são suficientes para formar uma linguagem completa para descricao."— Transcrição da apresentação:

1 Ameliara Freire

2  Variaveis, constantes, leitura e escrita ainda não são suficientes para formar uma linguagem completa para descricao de programas.  Cada programa/algoritmo tem um fluxo de execucao que pode ser definido usando termos especificos de uma linguagem ◦ Estrutura sequencial ◦ Estrutura de selecao ◦ Estrutura de repeticao 2

3  Impõe uma ordem de cima para baixo e da esquerda para a direita na execucao de um algoritmo.  As acoes são separadas por “;”  Formato geral: 3 //declaracao de variaveis //corpo do algoritmo acao 1; acao 2;...

4  Permite o uso de condicoes para escolher entre execucoes de diferentes blocos  Condicoes são expressoes lógicas relacionais que, quando avaliadas, produzem valor lógico (booleano)  Comandos: ◦ if ◦ if – else ◦ switch - case 4

5  Forma geral 5 if(condicao){ //sequencia de comandos se verdadeiro }else{ // o else é opcional //sequencia de comandos se falso } if(media > 7.0){ printf(“Aprovado”); }else{ printf(“Final ou reprovado”); }

6 6 if (condicao) { C1; C2;... Cn; }else { D1; D2;... Dm; } condicao C1; C2;... Cn; V D1; D2;... Dn; F

7  Altere a funcao que lê as notas do aluno e imprime a média para que a mensagem impressa se comporte da seguinte maneira: ◦ Se a média foi maior ou igual a 7.0 a mensagem deve ser “Aprovado”. Caso contrário a mensagem deve ser “Estude mais para a final”. 7

8  O que o programa abaixo faz? 8 #include main(){ int a,b; printf(“Digite 2 números: “); scanf(“%d %d”,&a,&b); if (b){ printf(“%f”,a/b); }else { printf(“Não posso fazer a divisao”); }

9 9 if(condicao 1){ C1 }else if (condicao 2){ C2 }else if(condicao 3){ C3 }else{ C4 } if(condicao 1){ if(condicao 2){ if(condicao 3){... } if(condicao 1){... } if(condicao 2){... } if(condicao 3){... }

10  Cada código que estiver dentro de um bloco deve estar um nível a mais de indentação à direita do bloco mais externo.  Indentar o código é FUNDAMENTAL para compreensão do escopo de código (identificar onde começa e onde termina). 10 if(condicao 1){ if(condicao 2){ if(condicao 3){... }

11  Como simplificar a seguinte selecao aninhada? 11 if (condicao1) { if (condicao2) { if (condicao3) { if (condicao4) { W; } if (condicao1 && condicao2 && condicao3 && condicao4){ W; }

12 12 if (X == V1) { C1; } if (X == V2) { C2; } if (X == V3) { C3; } if (X == V4) { C4; } Como diminuir o numero de testes? if (X == V1) { C1; }else if (X == V2) { C2; }else if (X == V3) { C3; }else if (X == V4) { C4; } Qual a sequencia de comparacoes para atingir C4?

13 13 int A,B,C; if (A != 0){ C1; }else{ if (B != 0){ if (C != 0 ){ C2; }else{ C3; C4; } C5; } C6; Que comandos são executados quando A=B=V e C=F?

14 14 Que comandos são executados quando A=B=V e C=F? { int A,B,C; if (A != 0){ C1; }else{ if (B != 0){ if (C != 0 ){ C2; }else{ C3; C4; } C5; } C6; }

15 15 Que comandos são executados quando A=C=F e B=V? { int A,B,C; if (A != 0){ C1; }else{ if (B != 0){ if (C != 0 ){ C2; }else{ C3; C4; } C5; } C6; }

16 16 Que comandos são executados quando A=C=F e B=V? { int A,B,C; if (A != 0){ C1; }else{ if (B != 0){ if (C != 0 ){ C2; }else{ C3; C4; } C5; } C6; }

17 17 Que comandos são executados quando A=C=F e B=V? { int A,B,C; if (A != 0){ C1; }else{ if (B != 0){ if (C != 0 ){ C2; }else{ C3; C4; } C5; } C6; }

18 18 Que comandos são executados quando A=C=F e B=V? { int A,B,C; if (A != 0){ C1; }else{ if (B != 0){ if (C != 0 ){ C2; }else{ C3; C4; } C5; } C6; }

19  Escreva um programa que lê a idade de um usuario e em seguida diz se o usuário é ou não maior de idade.  Escreva um programa que lê um número inteiro e diz se o número é par ou ímpar.  Escreva um programa que lê tres numeros e em seguida imprime quantos deles são iguais.  Escreva um programa que lê três número s inteiros e em seguida imprime os números em ordem crescente. 19

20  Multipla escolha: quando se tem um conjunto de valores discretos a serem testados, onde cada valor corresponde a uma acao.  Otimizacao das escolhas se-senao-se 20 switch ( ) { case : ; [break;] case : ; [break;]... [default: ;] } OBS: “ variável” deve ser int ou char; “break” serve para implementar escolha disjunta

21  Escreva um programa C que receba 2 números e um caractere operador (+, -, * ou /) do teclado, realize a operação determinada entre eles e imprima na tela o resultado 21 #include int main ( ) { char op; float num1, num2; printf(“Digite um número, um operador e um número:”); scanf (“ %f %c %f”, &num1, &op, &num2); switch (op) { case ‘+’: printf (“ = %f”, num1 + num2); break; case ‘-’: printf (“ = %f”, num1 - num2); break; default: printf (“ Operador inválido!”) }

22  Escreva uma funcao que solicita o usuario digitar um numero de 1 à 7. Em seguida a funcao imprime uma mensagem de acordo com o numero digitado: ◦ 1 – “Voce pertence ao curso de Agronomia” ◦ 2 – “Voce pertence ao curso de Veterinária” ◦ 3 – “Voce pertence ao curso de Zootecnia” ◦ 4 – “Voce pertence ao curso de Pedagogia” ◦ 5 – “Voce pertence ao curso de Letras” ◦ 6 – “Voce pertence ao curso de Engenharia de Alimentos” ◦ 7 – “Voce pertence ao curso de CIENCIA DA COMPUTACAO!” ◦ Qualquer outro numero - “Voce nao pertence a curso algum da UAG” 22

23  Imagine um procedimento (algoritmo) pronto para calcular a média de um aluno.  O que fazer para calcular a média de todos os alunos de uma turma? 23

24  São construcoes que permitem descrever acoes repetitivas  Também conhecido por loop.  O numero de repeticoes pode ser indeterminado?  O número de repeticoes pode ser infinito?  Repeticao com numero de vezes indeterminado ◦ Laço com teste no inicio (while) ◦ Laço com teste no final (do-while)  Repeticao com numero de vezes determinado ◦ Laço (for) 24

25  Antes de cada execucao dos comandos de uma repeticao, a condicao é testada 25 while (condicao) { C1; C2;... Cn; } while comandos Segue o fluxo condicao valida condicao invalida

26  Exemplos 26 int i = 0; while (i < 10) { printf(“Valor de i: %d ”, i); i++; } int i = 0; while (i < 10) { printf(“Valor de i: %d ”, i); }

27  Como seria um programa para calcular a média de 50 alunos da uma turma?  Escreva um programa que calcula o produto de dois números lidos sem usar o operador de multiplicação (‘*’).  Construa um algoritmo que fica lendo indefinidamente numeros positivos. Caso o numero lido seja igual a 0 o algoritmo pára de ler números e imprime a média dos números pares lidos anteriormente. 27

28  Escreva um programa que lê um número e em seguida calcula e imprime seu fatorial. 28

29  Depois de cada execucao dos comandos de uma repeticao, a condicao é testada  Os comandos são executados pelo menos uma vez 29 do { C1; C2;... Cn; }while (condicao); comandos Segue o fluxo while condicao valida condicao invalida do

30  Como ficaria o algoritmo para calcular a média dos 50 alunos com teste no final usando o comando do-while? 30

31  O numero de vezes da repeticao é determinado.  Possui uma variavel de controle cujo valor varia de um valor inicial a um valor final, de acordo com um determinado passo  A condicao de parada é o numero de vezes da repeticao. 31

32  Inicialização: ◦ Expressão de atribuição. Sempre é executada uma única vez.  Teste de Condição: ◦ Condição que controla a execução do laço. É sempre avaliada a cada execução. Se Verdadeiro continua a execução. Se falso pára a execução.  Incremento: ◦ Define como a variável de controle será alterada. ◦ É sempre executada após a execução do corpo do laço. 32 for(inicializacao;condicao;incremento ){ C1;... Cn; }

33 33 int i; for(i= 0;i < 10;i++){ printf(“%d”,i); } printf(“%d”,i); i = 1 i = i = 9 i = 11 int i; for(i= 0;i < 10;i=i+2){ printf(“%d”,i); } i = 1 printf(“%d”,i); i = 1 + 1

34  Como ficaria o algoritmo para calcular a media dos 50 alunos usando repeticao fixa?  Escreva um algoritmo que lê 50 números inteiros e em seguida mostra a soma de todos os ímpares lidos.  Altere o algoritmo anterior para que ele considere apenas a soma dos ímpares que estejam entre 100 e 200.  Construa um algoritmo que leia um conjunto de 20 numeros inteiros e mostre qual foi o maior e o menor valor fornecido. 34

35  Lacos são equivalentes 35 se (numero de vezes é conhecido){ usa-se o for }senao{ se (teste precisa ser feito no inicio){ usa-se while }senao{ usa-se do-while }


Carregar ppt "Ameliara Freire  Variaveis, constantes, leitura e escrita ainda não são suficientes para formar uma linguagem completa para descricao."

Apresentações semelhantes


Anúncios Google