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

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

Algoritmos com seleção. Maria Aparecida C. Livi - Alg. c/ seleção - v. 11 Dados um par de valores x e y, que representam as coordenadas de um ponto no.

Apresentações semelhantes


Apresentação em tema: "Algoritmos com seleção. Maria Aparecida C. Livi - Alg. c/ seleção - v. 11 Dados um par de valores x e y, que representam as coordenadas de um ponto no."— Transcrição da apresentação:

1 Algoritmos com seleção

2 Maria Aparecida C. Livi - Alg. c/ seleção - v. 11 Dados um par de valores x e y, que representam as coordenadas de um ponto no plano, determinar a localização do ponto: se em um quadrante, em um dos eixos ou na origem. Problema1: Localização de um ponto no plano.

3 Maria Aparecida C. Livi - Alg. c/ seleção - v. 11 Dados um par de valores x e y, que representam as coordenadas de um ponto no plano, determinar a localização do ponto: se em um quadrante, em um dos eixos ou na origem. Problema1: Localização de um ponto no plano. Saída: mensagem adequada Entradas: coordenadas x e y de um ponto Processamento: série de testes, verificando em qual caso o par de valores enquadra-se.

4 Maria Aparecida C. Livi - Alg. c/ seleção - v. 11 Quadrante 1Quadrante 2 Quadrante 4 Quadrante 3 Eixo dos Xs Eixo dos Ys Origem

5 Maria Aparecida C. Livi - Alg. c/ seleção - v. 11 Passos do Algoritmo Leitura dos valores de x e y. Determinação de em que quadrante, se em um eixo ou se na origem, o ponto encontra-se. Escrita da mensagem, onde é indicada a localização do ponto.

6 Maria Aparecida C. Livi - Alg. c/ seleção - v. 11 Escrita do algoritmo em linguagem algorítmica: Início Localizacao Ler x, y Se x = 0 e y = 0 então escrever Ponto na origem Se x > 0 e y > 0 então escrever Quadrante 1 etc… Fim Localizacao

7 Maria Aparecida C. Livi - Alg. c/ seleção - v. 11 Algoritmo com seleção Algoritmo em que a execução de determinados passos está subordinada a uma condição.

8 Maria Aparecida C. Livi - Alg. c/ seleção - v. 11 Condição Expressão lógica: expressão cujo resultado é um valor lógico (verdadeiro ou falso).

9 Maria Aparecida C. Livi - Alg. c/ seleção - v. 11 Relacionais Lógicos Operadores em expressões lógicas:

10 Maria Aparecida C. Livi - Alg. c/ seleção - v. 11 OPERADORES RELACIONAIS: <(menor) >(maior) <= (menor ou igual) >= (maior ou igual) == (igual) != (diferente)

11 Maria Aparecida C. Livi - Alg. c/ seleção - v. 11 OPERADORES LÓGICOS: E lógico: && Ou lógico: || Negação: !

12 Maria Aparecida C. Livi - Alg. c/ seleção - v. 11 TABELAS VERDADE DOS OPERADORES LÓGICOS: Sejam X e Y operandos lógicos e R o resultado de uma particular operação lógica.

13 Maria Aparecida C. Livi - Alg. c/ seleção - v. 11 E lógico : &&

14 Maria Aparecida C. Livi - Alg. c/ seleção - v. 11 Ou lógico : ||

15 Maria Aparecida C. Livi - Alg. c/ seleção - v. 11 Negação : !

16 Maria Aparecida C. Livi - Alg. c/ seleção - v. 11 ((Código > 0) && (Código < 101)) ((Contador > Maximo ) || (Valor == Procurado)) ( ! (Concluído)) Exemplos de condições em linguagem C:

17 Maria Aparecida C. Livi - Alg. c/ seleção - v. 11 Dados um par de valores x e y, que representam as coordenadas de um ponto no plano, determinar a localização do ponto: se em um quadrante, em um dos eixos ou na origem. Saída: mensagem adequada Entradas: coordenadas x e y de um ponto Processamento: série de testes, verificando em qual caso o par de valores enquadra-se. Retomando o Problema1: Localização de um ponto no plano.

18 Maria Aparecida C. Livi - Alg. c/ seleção - v. 11 Implementação de algoritmos com seleção em linguagem C: Além das instruções já vistas: Scanf Printf atribuição --> = Nova instrução: if

19 Maria Aparecida C. Livi - Alg. c/ seleção - v. 11 Comando IF: sintaxe Forma geral: if (condição) comando; else comando;

20 Maria Aparecida C. Livi - Alg. c/ seleção - v. 11 A parte do comando IF que inicia no else é opcional. Sempre onde aparecer comando, pode ser escrito: um comando apenas if (idade > 17) votante = votante + 1; ou mais de um comando, obrigatoriamente entre chaves ({ }), formando um bloco. if (valor1 <= 0 || valor2 <= 0) printf(valores deveriam ser positivos); else { soma = valor1 + valor2; printf(soma = %d, soma); } Comando IF: sintaxe

21 Maria Aparecida C. Livi - Alg. c/ seleção - v. 11 int main ( ) { float x, y; printf("\n Coordenadas: x = "); scanf("%f ", &x); printf( y = "); scanf(" %f", &y); if ((x>0) && (y >0)) printf("\n Ponto no quadrante 1"); (...) if ((x==0) && (y = =0)) printf("\n Ponto na origem"); if ((x==0) && (y != 0)) printf("\n Ponto no eixo dos y"); if ((x!=0) && (y ==0)) printf("\n Ponto no eixo dos x"); return 0; } Problema 1 Localização de ponto no plano

22 Maria Aparecida C. Livi - Alg. c/ seleção - v. 11 Características da solução do Problema1: Usa sucessivos ifs sem else. Em cada condição avaliada é indicado apenas o que fazer se condição for verdadeira. Se condição for falsa, o próximo comando será executado.

23 Maria Aparecida C. Livi - Alg. c/ seleção - v. 11 Recebida uma idade, fornecer uma das seguintes mensagens: Eh criança : <= 13 Eh jovem: > 13 e <= 21 Eh adulto: > 21 e <= 70 Eh idoso: > 70. Problema2: Retorna mensagem com base em idade fornecida. Saída: mensagem adequada. Entrada: idade. Processamento: série de testes, verificando em qual caso a idade fornecida se encaixa.

24 Maria Aparecida C. Livi - Alg. c/ seleção - v. 11 int main() { int idade; printf("\n Digite a idade: "); scanf("%d", &idade); if (idade > 70) printf("\n Idoso"); if ((idade > 21) && (idade <=70)) printf("\n Adulto"); if ((idade > 13)&&(idade <=21)) printf("\n jovem"); if (idade <=13) printf("\n crianca"); return 0; } Problema 2 Retorna mensagem com base em idade fornecida

25 Maria Aparecida C. Livi - Alg. c/ seleção - v. 11 Características da solução do Problema 2: Usa sucessivos ifs sem else. Em cada condição avaliada é indicado apenas o que fazer se condição for verdadeira. Se condição for falsa, o próximo comando será executado.

26 Maria Aparecida C. Livi - Alg. c/ seleção - v. 11 Problema 3: Informa se um número inteiro é par ou ímpar Saída: mensagem. Entradas: um valor inteiro. Processamento: determinar se o número é par ou ímpar.

27 Maria Aparecida C. Livi - Alg. c/ seleção - v. 11 // Le um valor inteiro e retorna se ele eh par ou impar int main ( ) { int numero; printf("\n Digite um numero inteiro: "); scanf("%d", &numero); if (numero % 2 == 0) printf("\n Numero %d eh par\n", numero); else printf("\n Numero %d eh impar\n", numero); system(PAUSE"); return 0; } Problema 3 Informa se número é par ou ímpar

28 Maria Aparecida C. Livi - Alg. c/ seleção - v. 11 Características da solução do Problema 3: Definição do ramo do else, para o caso da condição do if não se verificar.

29 Maria Aparecida C. Livi - Alg. c/ seleção - v. 11 Problema 4: Lidos dois valores, apresenta-os em ordem crescente. Saída: os dois valores lidos apresentados em ordem crescente. Entradas: dois valores em ordem qualquer. Processamento: preparação da apresentação dos dois valores.

30 Maria Aparecida C. Livi - Alg. c/ seleção - v. 11 Problema 4 Apresenta dois números inteiros lidos em ordem crescente com base em testes realizados

31 Maria Aparecida C. Livi - Alg. c/ seleção - v. 11 Características da solução do Problema 4: Uso de ifs aninhados. Obs.: um else sempre se refere ao if imediatamente anterior.

32 Maria Aparecida C. Livi - Alg. c/ seleção - v. 11 Problema 5: Soma ou multiplica dois valores inteiros lidos, dependendo de um caractere fornecido pelo usuário. Saída: soma ou multiplicação dos dois valores inteiros lidos. Entradas: uma letra (S ou M) e dois valores inteiros. Processamento: realização do cálculo solicitado.

33 Maria Aparecida C. Livi - Alg. c/ seleção - v. 11 { char codigo; int valor1, valor2, result; printf("\n Digite o codigo (S - Soma ou M - multiplicacao): "); scanf("%c", &codigo); printf("\n Digite o valor 1: "); scanf("%d", &valor1); printf("\n Digite o valor 2: "); scanf("%d", &valor2); if (codigo = = 'S') { result = valor1 + valor2; printf("\n Resultado da soma: %d\n", result); } if (codigo = = 'M') { result = valor1 * valor2; printf("\n Resultado da multiplicacao: %d\n", result); } system("pause"); return 0; } Problema 5 Som ou multiplica dois valores inteiros lidos

34 Maria Aparecida C. Livi - Alg. c/ seleção - v. 11 Lembretes importantes no uso do comando if: Condições devem estar sempre entre parênteses. É possível usar colocar mais de um comando no if, após a condição ou após o else, mas então os comandos devem estar entre chaves (constituindo-se em um bloco). É possível aninhar ifs, e então cada else vai corresponder ao if imediatamente anterior.


Carregar ppt "Algoritmos com seleção. Maria Aparecida C. Livi - Alg. c/ seleção - v. 11 Dados um par de valores x e y, que representam as coordenadas de um ponto no."

Apresentações semelhantes


Anúncios Google