CCO 016 / COM 110 Fundamentos de Programação

Tamanho: px
Começar a partir da página:

Download "CCO 016 / COM 110 Fundamentos de Programação"

Transcrição

1 CCO 016 / COM 110 Fundamentos de Programação Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá

2 AULA 07 Comandos Sequenciais (se senao) Linguagem de Programação C (if else) Estrutura Condicionais (caso) Linguagem de Programação C (switch)

3 Estrutura Condicionais Até agora estávamos trabalhando com algoritmos puramente sequenciais, ou seja, todas as instruções eram executadas seguindo a ordem do algoritmo (normalmente, de cima para baixo). A partir de agora começamos a estudar estruturas de seleção. Uma estrutura de seleção, como o próprio nome já diz, permite que determinadas instruções sejam executadas ou não, dependendo do resultado de uma condição (teste), ou seja, o algoritmo vai tomar decisão de um processo (leitura, processo e impressão) a ser realizado.

4 Estruturas de Controle Condicional ou de seleção Isto é, são testados parâmetros e, dependendo de seus valores, tomamos um caminho ou outro. As condições que são testadas num Algoritmo são do tipo lógica (booleano), portanto podem ter somente dois resultados: Verdadeiro ou Falso. Assim, a seleção de ações pode seguir, no máximo, duas alternativas: uma se a condição for verdadeira e outra se a condição testada for falsa. Existem seleções simples, compostas e múltiplas. 4

5 Operadores Lógicos Utilizados na confecção das condições São eles: Portugol Linguagem C/C++ Maior que > > Menor que < < Maior ou igual a >= >= Menor ou igual a <= <= Diferente de <>!= Igual a = ==

6 Operadores Relacionais Complementando a confecção das condições São eles: Portugol Linguagem C/C++ E e && OU ou não não!

7 Operadores Relacionais A Não A V F F V A B A ou B V V V V F V F V V F F F A B A e B V V V V F F F V F F F F

8 Treinamento 1) Com base nas tabelas de decisão, determine os resultados lógicos das expressões mencionadas, assinalando se são verdadeiras ou falsas. Considere para as respostas os seguintes valores: X = 1, A = 3, B = 5, C = 8 e D = 7. a)! (X <= 3) resp: ( ) b) ((X!= 1) &&! (B > A)) resp: ( ) c) (!(B < 0) && (D > 8)) resp: ( ) d) (!(X > -2) (C < 9)) resp: ( ) e) ((X > A) (A > C)) resp: ( ) f) (B >= 5) resp: ( ) g) ((C < 1) && (B >= A)) resp: ( )

9 Estruturas de Controle Condicional ou de seleção Seleções Simples: A seleção mais simples existente é quando o único bloco de comando (leitura, processo e/ou escreva) a ser realizado é aquele que a situação da <condição> é verdadeira. Não existe a opção falsa, ou não é necessário realizar nada neste tipo de opção. É o que chamamos de opção default. 9

10 Estruturas de Controle Condicional ou de seleção Portugol: se <condição> bloco de comandos fim-se Fluxograma: <condições> V Bloco de comandos F 10

11 Na Linguagem C: if ( condição ) { Blocos de comando; }

12 EXEMPLO 1: Leia um número e diga se ele é maior que 10. inicio {declaração de variáveis} real N {comandos de entrada de dados} imprima ( Entre com N: ) leia (N) {processo e saída de dados} se N > 10 imprima (N, maior que 10) fim-se fim INICIO N N > 10 V N, Maior que 10 FIM F 12

13 Linguagem C #include <stdio.h> int main() { float N; //comandos de entrada de dados printf ( Entre com um número: ); scanf ( %f,&n); //processo e saída de dados if (N > 10) { printf ( %.1f maior que 10,N); } return 0; } 13

14 Estruturas de Controle Condicional ou de seleção Seleções Completa: A seleção completa é dada por se...senão...fim-se onde se a <condição> for verdadeira é realizado o e dentro dele os blocos de comandos 1, se for falsa, é realizado o senão e dentro dele os blocos de comandos 2. 14

15 Estruturas de Controle Condicional ou de seleção Fluxograma: Portugol: se <condição> bloco de comandos 1 senão bloco de comandos 2 fim-se <condições> V Bloco de comandos 1 F Bloco de comandos 2 15

16 Linguagem C if ( condição ) { bloco de comandos 1; } else { bloco de comandos 2; } 16

17 EXEMPLO 2: Leia um número natural e diga se ele é par ou impar. inicio {declaração de variáveis} inteiro N Imprima ( Entre com N: ) leia (N) se resto (N,2) = 0 imprima (N, é par ) senão imprima (N, é impar) fim-se fim INICIO N resto (N, 2) = 0 V N, é par FIM F N, é impar 17

18 Linguagem C #include <stdio.h> int main() { int N; printf ( Entre com um número inteiro: ); scanf ( %d,&n); if ((N % 2) == 0) { printf ( %d é par., N); } else { printf ( %d é impar.,n); } return 0; } 18

19 Treinamento 2) Determine o resultado lógicos das expressões mencionadas, assinalando se são verdadeiras ou falsas. Considere para as respostas os seguintes valores: X = 3 A = 1 B = 5 C = 8 D = 0 a) (! (X > 3)) b) ((X > 3)!(B > D)) c) (! (D < 0) && (C > 5)) d) (!(X > 3) (C < 7)) 3) Indique a saída dos trechos de programa em português estruturado, mostrado abaixo. Para as saídas considere os seguintes valores: A = 0 B = 9 C = 3 D = 2 a) if (!(D > 3)) { X = (A + B) * D; } else { X = (A - B) / C; } printf ( X = %d\n, X); b) if ((A > B) (C <= 2)) { X = (A + 2) * (B - 2); } else { X = (A + B) / D * (C + D); } printf ( X = %d\n, X);

20 Operador de Seleção Completa O operador de seleção completa é dados por EXP1? EXP2 : EXP3; onde EXP1 é uma expressão condicional, e EXP2 e EXP3 é um único bloco de comando para o verdadeiro e falso, respectivamente. 20

21 Exemplo de Operador de Seleção Completa Faça um programa que leia um número natural e diga se ele é par ou impar. #include <stdio.h> int main() { int N; scanf ("%d",&n); ((N % 2) == 0)? printf ( "%d é par.\n", N) : printf ( "%d é impar.\n",n); return 0; } Para N = 8: 8 é par. Para N = 7: 7 é impar. 21

22 Exemplo de Operador de Seleção Completa Faça um programa que leia um número natural e se for par mostre 0 e se for impar mostre 1. #include <stdio.h> using namespace std; int main() { int N, X; scanf ("%d",&n); X = ((N % 2) == 0)? 0 : 1; printf("%d\n", X); return 0; } Para N = 8: 0 Para N = 7: 1 22

23 Estruturas de Controle Condicional ou de seleção Seleções Composta: A estrutura de seleções composta também é designada como seleção aninhada e é utilizada quando estivermos fazendo várias comparações (testes) sempre com a mesma variável. Esta estrutura é chamada de aninhada porque na sua representação fica uma seleção dentro de outra seleção. 23

24 Estruturas de Controle Condicional ou de seleção Portugol: se <condição 1> se <condição 2> bloco de comandos 11 senão bloco de comandos 12 fim-se bloco de comandos 1 senão se <condição 3> bloco de comandos 21 senão bloco de comandos 22 fim-se bloco de comandos 2 fim-se 24

25 Fluxograma: <condições 1> F V <condições 2> F <condições 3> F V Bloco de comandos 11 V Bloco de comandos 21 Bloco de comandos 12 Bloco de comandos 22 Bloco de comandos 1 Bloco de comandos 2 25

26 Estruturas de Controle Condicional ou de seleção Linguagem C: if ( condição 1 ) { if ( condição 2 ) { bloco de comandos 11; } else { bloco de comandos 12; } bloco de comandos 1; } } else { if ( condição 3 ) { bloco de comandos 21; } else { bloco de comandos 22; } bloco de comandos 2; 26

27 {declaração de variáveis} real A, B, C inicio leia (A, B, C) se (A < B + C) e (B < A + C) e (C < A + B) se (A = B) e (B = C) imprima( Triângulo Eqüilátero ) senão se (A = B) ou (A = C) ou (B = C) imprima ( Triângulo Isósceles ) senão imprima ( Triângulo escaleno ) fim-se fim-se senão imprima ( As medidas não formam um triângulo ) fim-se fim EXEMPLO 3: Montar um programa que leia três medidas e determine se essas medidas formam um triângulo, se formam que tipo de triângulo ele é (isósceles, escaleno ou eqüilátero). 27

28 #include <stdio.h> int main() { float A, B, C; scanf ( %f %f %f,&a,&b,&c); if ((A < B + C) && (B < A + C) && (C < A + B)) { } if ((A == B) && (B == C)) { printf( Triângulo Equilátero ); } else { if ((A == B) (A == C) (B == C)) { printf ( Triângulo Isósceles ); } else { printf ( Triângulo escaleno ); } } } else { printf ( As medidas não formam um triângulo ); } return 0; EXEMPLO 3: Montar um programa que leia três medidas e determine se essas medidas formam um triângulo, se formam que tipo de triângulo ele é (isósceles, escaleno ou equilátero). 28

29 Treinamento 4) Indique a saída dos trechos de programa do pedaço de fluxograma a seguir. Considerando os seguintes de valores inteiros: A = 2, B = 3, C = 5, D = 9. nao (D > 5) F V X (A + B) * D X (A - B) / C X

30 Treinamento 5) Indique a saída dos trechos de programa do pedaço de fluxograma a seguir. Considerando os seguintes de valores inteiros: A = 4, B = 1, C = 0, D = 10. (A > 2).e. (B < 7) F V X (A + 2) * (B 2) X (A + B) div D * (C + D) X

31 Exemplo 4 Calcular a seguinte expressão: VL= 5A+ B ( A B)+ 2A B+ 3A

32 ALGORITMO objetivo: Calcular uma expressão aritmética 1) Definir variáveis inteiros A, B, num1, num2, den1, den2, VL inicio 2) Entrada dos dados imprima ( entre com dois valores ) leia ( A, B ) 3) Calculo do numerador num1 5 A + B

33 4) Calculo do numerador do denominador num2 2 A 5) Calculo do denominador simples den 1 B + 3A 6) calculo da expressao se ( den1 = 0 ) imprima ( expressão não calculada ) imprima ( denominador nulo ) senão

34 senão 6.1) calculo do denominador geral den2 ( A B ) + num2 / den1 6.2) calculo da expressão se ( den2 = 0 ) imprima ( expressão não calculada ) imprima ( denominador nulo ) senão VL num1 / den2 imprima ( valor da expressao =, VL )

35 7) mostrando os dados de entrada imprima ( A =, A ) imprima ( B =, B ) fim

36 PORTUGOL inicio {Declaração das variáveis} inteiros A, B, num1, num2, den1, den2, VL {Entrada de Dados} imprima ( entre com dois valores ) leia ( A, B ) {Calculo da expressão} num1 5 A + B num2 2 A den1 B + 3A

37 {Verificando o denominador 1} se ( den1 = 0 ) imprima ( expressão não calculada ) imprima ( denominador nulo ) senão {Calculando o denominador 2} den2 ( A B ) + num2 / den1

38 {Verificando o denominador 2} se ( den2 = 0 ) imprima ( expressão não calculada ) imprima ( denominador nulo ) senão {Calculando e imprimindo o Valor da operação} VL num1 / den2 imprima ( valor da expressao =, VL ) imprima ( A =, A ) imprima ( B =, B ) fim

39 Linguagem C #include <stdio.h> int main () { int A, B, num1, num2, den1, den2, VL; printf ( entre com dois valores: ); scanf ( %d %d,&a,&b ); num1 = 5 * A + B; num2 = 2 * A; den1 = B + 3 * A;

40 if ( den1 == 0 ) { printf ( expressão não calculada ); printf ( denominador nulo ); } else { den2 = ( A B ) + num2 / den1; if ( den2 == 0 ) { printf ( expressão não calculada ); printf ( denominador nulo ); } else {

41 } VL = num1 / den2 ; printf ( valor da expressao = %d, VL ); } } printf ( A = %d, A ); printf ( B = %d, B );

42 Exemplo 5 São dados os resultados de uma prova que consta de 5 questões, cujas respostas podem ser uma das 3 alternativas A, B ou C; São dados também as respostas de um aluno para esta prova. Desenvolva um algoritmo para calcular o desempenho deste aluno na prova segundo o seguinte critério: Acerto de 3 ou mais questões conceito A Acerto de 1 ou 2 questões conceito B Acerto de nenhuma questão - conceito R

43 ALGORITMO / PORTUGOL objetivo: calcular o conceito de um aluno frente ao gabarito de uma prova inicio 1) definição das variáveis caracter gab1, gab2, gab3, gab4, gab5 caracter resp1, resp2, resp3, resp4, resp5 caracter conceito inteiro n_questoes 2) entrada dos dados 2.1 ) dados do gabarito imprima ( entre com as 5 alternativas do gabarito ) leia ( gab1, gab2, gab3, gab4, gab5 )

44 2.2 ) dados do aluno imprima ( entre com as 5 resposta do aluno ) leia ( resp1, resp2, resp3, resp4, resp5 ) 3) inicializando variáveis n_questoes 0 4) calculando quantas questões estão certas Se ( gab1 = resp1 ) n_questoes n_questoes + 1 Se ( gab2 = resp2 ) n_questoes n_questoes + 1

45 Se ( gab3 = resp3 ) n_questoes n_questoes + 1 Se ( gab4 = resp4 ) n_questoes n_questoes + 1 Se ( gab5 = resp5 ) n_questoes n_questoes + 1

46 5) verificando o conceito do aluno se ( n_questoes 3 ) conceito A senão se ( n_questoes > 0 ) conceito B senão conceito R

47 6) mostrando os resultados 6.1 ) dados de entrada imprima ( gabarito: ) imprima ( questao 1:, gab1 ) imprima ( questao 2:, gab2 ) imprima ( questao 3:, gab3 ) imprima ( questao 4:, gab4 ) imprima ( questao 5:, gab5 ) imprima ( resposta do aluno: ) imprima ( resposta 1:, resp1 ) imprima ( resposta 2:, resp2 ) imprima ( resposta 3:, resp3 ) imprima ( resposta 4:, resp4 ) imprima ( resposta 5:, resp5 )

48 6.2 ) quantidade de acertos imprima ( quantidade de questoes certas =, n_questoes ) 6.3 ) conceito do aluno imprima ( conceito do aluno:, conceito ) fim

49 LINGUAGEM C #include <stdio.h> int main () { char gab1, gab2, gab3, gab4, gab5; char resp1, resp2, resp3, resp4, resp5; char conceito; int n_questoes; printf ( entre com as 5 alternativas do gabarito ); scanf ( %c %c %c, &gab1, &gab2, &gab3); scanf ( %c %c, &gab4, &gab5 );

50 printf ( entre com as 5 resposta do aluno ); scanf ( %c %c %c, &resp1, &resp2, &resp3 ); scanf ( %c %c, &resp4, &resp5 ); n_questoes = 0; if ( gab1 == resp1 ) ; { n_questoes ++; } if ( gab2 == resp2 ) { n_questoes ++; }

51 if ( gab3 == resp3 ) { n_questoes ++; } if ( gab4 == resp4 ) { n_questoes ++; } if ( gab5 == resp5 ) { n_questoes ++; }

52 if ( n_questoes >= 3 ) { conceito = A ; } else { if ( n_questoes > 0 ) { conceito = B ; } else { conceito = R ; } }

53 printf ( gabarito: \n ); printf ( questao 1: %c\n, gab1 ); printf ( questao 2: %c\n, gab2 ); printf ( questao 3: %c\n, gab3 ); printf ( questao 4: %c\n, gab4 ); printf ( questao 5: %c\n, gab5 ); printf ( \n\nresposta do aluno:\n ); printf ( resposta 1: %c\n, resp1 ); printf ( resposta 2: %c\n, resp2 ); printf ( resposta 3: %c\n, resp3 ); printf ( resposta 4: %c\n, resp4 ); printf ( resposta 5: %c\n, resp5 );

54 printf ( quantidade de questoes certas = %d\n, n_questoes ); printf ( conceito do aluno: %c\n, conceito ); }

55 Exemplo 6 Dado a data de nascimento de uma pessoa, no formato DD MM AAAA, fazer um programa para ler esta data e imprimi-la na forma corrente, ou seja: DD de nome do mês ao qual MM corresponde de AAA O programa deverá fazer a consistência dos dados de entrada. ( dia e mês ) Observação: antes de fazer o programa, faça o algoritmo do mesmo.

56 Exemplos: dado: saída: 20 de março de 1950 dado: saída: dia do mês não permitido dado: saída: mês não permitido dado: saída: mês não tem 31 dias Sugestão: os valores DD, MM e AAAA devem ser fornecidos pelo usuário e armazenados cada um numa variável;

57 Primeira versão Observar nestas soluções o seguinte: A entrada de dados é fornecida num único registro, ou seja, dia mês ano ( isto significa utilizar-se apenas uma declaração de entrada para todas as variáveis ) Nesta versão após conferidas as consistências da entrada dos dados, o programa inicia a conversão pedida no enunciado; Observe que esta tarefa só é realizada após toda a consistência dos dados tiver terminado. Por isto ela fica dentro do senão do ultimo Se da consistência.

58 ALGORITMO / PORTUGOL algoritmo para imprimir de forma corrente uma data de nascimento inicio 1) Definição das variáveis inteiro dia, mes, ano 2) Entrada de dados imprima ( entre com a data de nascimento ) leia ( dia, mes, ano )

59 3) fazendo consistência dos dados e a conversão da data se ( dia < 1) ou ( dia > 31 ) imprima ( dia errado ) senão se ( mes < 1 ) ou ( mes > 12 ) imprima ( mês errado ) senão se ( ano < 0 ) ou ( ano > 2010 ) imprima ( verifique o ano ) senão

60 se ( mes = 1 ) imprima ( dia, de janeiro de, ano ) senão ano ) se ( mes = 2 ) se ( dia > 29 ) imprima ( mes com dias errado ) senão imprima ( dia, de fevereiro de, senão

61 senão se ( mes = 3 ) imprima ( dia, de março de, ano ) senão se ( mes = 4 ) se ( dia > 30 ) imprima ( mes com dias errado ) senão imprima ( dia, de abril de, ano )

62 senão se ( mes = 5 ) imprima ( dia, de maio de, ano ) senão se ( mes = 6 ) se ( dia > 30 ) imprima ( mes com dias errado ) senão imprima ( dia, de junho de, ano )

63 senão se ( mes = 7 ) imprima ( dia, de julho de, ano ) senão se ( mes = 8 ) imprima ( dia, de agosto de, ano ) senão

64 se ( mes = 9 ) se ( dia > 30 ) imprima ( mes com dias errado ) senão imprima ( dia, de setembro de, ano ) senão se ( mes = 10 ) imprima ( dia, de outubro de, ano )

65 senão se ( mes = 11 ) se ( dia > 30 ) imprima ( mes com dias errado ) senão imprima ( dia, de novembro de, ano ) senão se ( mes = 12 ) imprima ( dia, de dezembro de, ano )

66 fim

67 LINGUAGEM C: #include <stdio.h> int main () { int dia, mes, ano; printf ( entre com a data de nascimento ); scanf ( %d %d %d, &dia, &mes, &ano ); if (( dia < 1) ( dia > 31 )) { printf ( dia errado ); } else { if (( mes < 1 ) ( mes > 12 )) { printf ( mês errado ); } else {

68 if (( ano < 0 ) ( ano > 2010 )) { printf ( verifique o ano ); } else { if ( mes == 1 ) { printf ( %d de janeiro de %d, dia, ano ); } else { if ( mes == 2 ) { if ( dia > 29 ) { printf ( mes com dias errado ); } else { printf ( %d de fevereiro de %d, dia, ano ); } } else {

69 if ( mes == 3 ) { printf ( %d de março de %d, dia, ano ); } else { if ( mes == 4 ) { if ( dia > 30 ) { printf ( mes com dias errado ); } else { printf ( %d de abril de %d, dia, ano ); } } else {

70 if ( mes == 5 ) { printf ( %d de maio de %d, dia, ano ); } else { if ( mes == 6 ) { if ( dia > 30 ) { printf ( mes com dias errado ); } else { printf ( %d de junho de %d, dia, ano ); } } else {

71 if ( mes == 7 ) { printf ( %d de julho de %d, dia, ano ); } else { if ( mes == 8 ) { printf ( %d de agosto de %d, dia, ano ); } else { if ( mes == 9 ) { if ( dia > 30 ) { printf ( mes com dias errado ); } eles { printf ( %d de setembro de %d, dia, ano ) } } else {

72 if ( mes == 10 ) { printf ( %d de outubro de %d, dia, ano ); } else { if ( mes == 11 ) { if ( dia > 30 ) { printf ( mes com dias errado ); } else { printf ( %d de novembro de %d, dia, ano ); } } else { if ( mes == 12 ) { printf ( %d de dezembro de %d, dia, ano ); }

73 } } } } } } } } } } } } } } }

74 Segunda Versão A entrada de dados é a mesma; Nesta versão foram criadas algumas variáveis com o objetivo de otimizar o programa, quanto a leitura do mesmo: Variável CHAVE Variável MÊS_SAIDA A variável CHAVE é utilizada para controlar a impressão da saída, ou seja, inicialmente ela vale zero; se qualquer um erro ocorrer, tal como por exemplo, uma inconstência nos dados de entrada, esta variável passa para o valor 1; No final do programa ela é testada afim de verificar se a impressão pode ou não ocorrer.

75 Diferentemente que na versão anterior, aqui o programa inicializa várias variáveis, as quais contém cada o nome do mês por extenso, as quais vão ser utilizadas nas comparações com os dados de entrada;

76 ALGORITMO / PORTUGOL algoritmo para imprimir de forma corrente uma data de nascimento inicio 1) Definição das variáveis inteiros dia, mes, ano inteiros chave cadeia mes01, mes02, mes03, mes04, mes05, mes06, mes07, mes08, mes09, mes10, mes11, mes12 2) Entrada de dados imprima ( entre com a data de nascimento ) leia ( dia, mes, ano )

77 3) Inicializando chave de controle da impressão chave 0 4) inicializando variáveis referentes ao mês mes01 de Janeiro de mes02 de Fevereiro de mes03 de Março de mes04 de Abril de mes05 de de Maio de mes06 de Junho de mes07 de Julho de mes08 de Agosto de mes09 de Setembro de mes10 de Outubro de mes11 de Novembro de mes12 de Dezembro de

78 5) fazendo consistência dos dias e meses e ano se ( dia < 1) ou ( dia > 31 ) imprima ( dia errado ) chave 1 se ( mes < 1 ) ou ( mes > 12 ) imprima ( mês errado ) chave 1 se ( ano < 0 ) ou ( ano > 2010 ) imprima ( verifique o ano ) chave 1

79 6) fazendo a conversão da data se ( mes = 1 ) mes_sai mes01 se ( mes = 2 ) mes_sai mes02 Se ( dia > 29 ) imprima ( mês não tem mais de 29 dias ) chave 1

80 se ( mes = 3 ) mes_sai mes03 se ( mes = 4 ) mes_sai mes04 se ( dia > 30 ) imprima ( mês não tem mais de 30 dias ) chave 1

81 se ( mes = 5 ) mes_sai mes05 se ( mes = 6 ) mes_sai mes06 se ( dia > 30 ) imprima ( mês não tem mais de 30 dias ) chave 1

82 se ( mes = 7 ) mes_sai mes07 se ( mes = 8 ) mes_sai mes08

83 se ( mes = 9 ) mes_sai mes09 se ( dia > 30 ) imprima ( mês não tem mais de 30 dias ) chave 1 se ( mes = 10 ) mes_sai mes10

84 se ( mes = 11 ) mes_sai mes11 se ( dia > 30 ) imprima ( mês não tem mais de 30 dias ) chave 1 se ( mes = 12 ) mes_sai mes12

85 7) saida do resultado se ( chave = 0 ) entao imprima ( dd, mês_sai, ano ) fim

86 Terceira Versão Observe que na versão anterior, para determinados meses, aqueles que têm menos de 31 dias, o programa verifica esta possibilidade,e se o usuário entrou com a informação errada, o programa envia uma mensagem e troca a CHAVE para o valor 1; Deste modo, quando chegar ao final do programa e CHAVE for diferente de 1, ele imprime o valor do mês convertido; Ao invés de se ter um trecho igual para todos os meses onde esta verificação é feita, pode-se fazer uma única verificação conforme mostre o programa seguinte. Apenas o item 6) é trocado da versão anterior para esta;

87 6) fazendo a conversão da data se ( mes = 1 ) mes_sai mes01 se ( mes = 2 ) mes_sai mes02 se ( mes = 3 ) mes_sai mes03 se ( mes = 4 ) mes_sai mes04

88 se ( mes = 5 ) mes_sai mes05 se ( mes = 6 ) mes_sai mes06 se ( mes = 7) mes_sai mes07 se ( mes = 8 ) mes_sai mes08

89 se ( mes = 9 ) mes_sai mes09 se ( mes = 10 ) mes_sai mes10 se ( mes = 11 ) mes_sai mes11 se ( mes = 12 ) mes_sai mes12

90 se ( mes = 2 ) e ( dia > 29 ) chave 1 imprima ( mês tem mais de 29 dias ) senão se ( ( mes = 4 ) ou ( mes = 6 ) ou ( mes = 9 ) ou ( mes = 11 ) ) e ( dia > 30 ) chave 1 imprima ( mês tem mais de 30 dias )

91 Em casa construa as duas outras versão na linguagem C.

92 Comentários Todas as versões são soluções para o problema, porém é bom analisá-las e verificar que a primeira é a mais pobre de todas, tendo em vista que há um aninhamento muito grande de Seleções; A segunda versão já melhorou no sentido de que agora a saída é controlada por uma chave e foi retirada uma grande parte do aninhamento das seleções; A ultima versão é a mais otimizada, visto que todos os aninhamentos foram retirados, a chave de controle foi mantida e uma única verificação é responsável por decidir qual dos meses possui mais de 30 dias; além disto ela ficou com menos declarações.

93 Exemplo 7 Dados os coeficientes de uma equação do segundo grau, calcular as raízes reais da mesma. Fazer a consistência dos dados de entrada. ( verificar se é equação do segundo grau ) Se as raízes não forem reais, o programa deverá comunicar ao usuário este fato, mas não calculá-las. Observação: antes de fazer o programa, faça o algoritmo do mesmo.

94 ALGORITMO equacao_segundo_grau algoritmo para calcular as raízes reais de uma equação do segundo grau 1) Definição das variáveis inteiros coef1, coef2, coef3 reais delta, raiz1, raiz2 2) Entrada de dados imprima ( entre com os coeficientes da equação do segundo grau ) leia ( coef1, coef2, coef3) 3) mostrando os dados de entrada imprima ( coeficientes da equacao:, coef1, coef2, coef3 ) 4) Fazendo consistência dos dados de entrada Se ( coef1 = 0 ) imprima ( equação não é do segundo grau ) senão 4.1 ) cálculo do discriminante delta coef2. coef2 4 coef1. coef3

95 4.2 ) verificação do discriminante se ( delta < 0 ) imprima ( raízes complexas ) senão 4.2.1) calculo das raízes reais - coef2 + raiz ( discriminante ) raiz coef1 - coef2 raiz ( discriminante ) raiz coef ) mostrando as raízes calculadas imprima ( raízes reais:, raiz1, raiz2 ) fim_algoritmo

96 Em casa construa a versão na linguagem C.

97 Treinamento 1)Faça um programa que leia um número e diga se ele é divisível por 2 e por 3. Use estrutura de desvio condicional simples. 2)Faça um programa que leia um número e diga se ele é divisível por 5 ou por 7. Use estrutura de desvio condicional simples. 3)Faça um programa que leia dois números e apresente-os em ordem crescente. Use estrutura de desvio condicional simples.

98 Treinamento 4)Elabore um algoritmo que dada a idade de um nadador classifica-o em uma das seguintes categorias: infantil A = 5-7 anos infantil B = 8-10 anos juvenil A = anos juvenil B = anos adulto = maiores de 18 anos

99 Estruturas de Controle Condicional ou de seleção Seleções Múltiplas: Podemos com as seleções aninhadas criarmos múltiplas seleções, mas existe um comando ao qual as seleções múltiplas são melhor representadas. E com isto, podemos escolher mais opções que somente verdadeira e falsa. Portugol: caso (<variável>) <valor_variável 1>:Comandos de bloco 1 <valor_variável 2>:Comandos de bloco 2... <valor_variável n>:comandos de bloco n senão: Comandos de bloco F (opcional) fim-caso 99

100 Fluxograma: <variável> F Bloco de comandos F <valor_variável 1> Bloco de comandos 1 <valor_variável 2> Bloco de comandos 2 <valor_variável n> Bloco de comandos n 100

101 Estruturas de Controle Condicional ou de seleção Seleções Múltiplas: Os BREAKs são para pular os casos seguintes. LINGUAGEM C: switch ( variável ) { case <valor_variável 1> : Comandos de bloco 1; break; case <valor_variável 2> : Comandos de bloco 2; break;... case <valor_variável n> : Comandos de bloco n; break; default: Comandos de bloco F (opcional) } 101

102 Estruturas de Controle Condicional ou de seleção OBSERVAÇÃO: As seleções Múltiplas não aceitam variáveis CADEIA (STRING) e nem variável Real. 102

103 Exemplo 8 Faça um programa que a pessoa escolha qual é a sua Universidade pelo número dado: 1) UNIFEI 2) UFMG 3) UFU 4) Outra

104 Exemplo 8 #include <stdio.h> int main() { int opcao; printf("escolha a sua Universidade:\n"); printf("1) UNIFEI\n"); printf("2) UFMG\n"); printf("3) UFU\n"); printf("4) Outra\n"); scanf("%d",&opcao);

105 switch(opcao) { case 1: case 2: case 3: Exemplo 8 printf("unifei\n"); break; printf("ufmg\n"); break; printf("ufu\n"); break;

106 Exemplo 8 } case 4: printf("outra\n"); break; } return 0;

107 Exemplo 9 Faça um programa que escolha a letra que começa o nome de uma fruta, conforme a lista abaixo: a) abacaxi b) banana c) caju d) Damasco Caso o usuário digite outra letra, imprima que está errado.

108 Exemplo 9 #include <stdio.h> int main() { char opcao; printf("escolha a primeira letra de uma fruta:\n"); printf("a) abacaxi\n"); printf("b) banana\n"); printf("c) caju\n"); printf("d) damasco\n"); scanf("%d",&opcao);

109 switch(opcao) { case 'a': case 'b': case 'c': Exemplo 9 printf("abacaxi\n"); break; printf("banana\n"); break; printf("caju\n"); break;

110 Exemplo 9 } case 'd': printf("damasco\n"); break; default: printf("opcao errada\n"); } return 0;

111 Exemplo 10 Dado a data de nascimento de uma pessoa, no formato DD MM AAAA, fazer um programa para ler esta data e imprimi-la na forma corrente, ou seja: DD de nome do mês ao qual MM corresponde de AAA O programa deverá fazer a consistência dos dados de entrada. ( dia e mês ) Observação: antes de fazer o programa, faça o algoritmo do mesmo.

112 Exemplos: dado: saída: 20 de março de 1950 dado: saída: dia do mês não permitido dado: saída: mês não permitido dado: saída: mês não tem 31 dias Sugestão: os valores DD, MM e AAAA devem ser fornecidos pelo usuário e armazenados cada um numa variável;

113 ALGORITMO / PORTUGOL algoritmo para imprimir de forma corrente uma data de nascimento inicio 1) Definição das variáveis inteiro dia, mes, ano 2) Entrada de dados imprima ( entre com a data de nascimento ) leia ( dia, mes, ano )

114 3) fazendo consistência dos dados e a conversão da data se ( dia < 1) ou ( dia > 31 ) imprima ( dia errado ) senão se ( mes < 1 ) ou ( mes > 12 ) imprima ( mês errado ) senão se ( ano < 0 ) ou ( ano > 2010 ) imprima ( verifique o ano ) senão

115 caso ( mes ) 1 : imprima ( dia, de janeiro de, ano ) 2 : se ( dia > 29 ) imprima ( mes com dias errado ) senão imprima ( dia, de fevereiro de, ano ) 3 : imprima ( dia, de março de, ano )

116 4 : 5 : se ( dia > 30 ) imprima ( mes com dias errado ) senão imprima ( dia, de abril de, ano ) imprima ( dia, de maio de, ano )

117 6 : 7 : 8 : se ( dia > 30 ) imprima ( mes com dias errado ) senão imprima ( dia, de junho de, ano ) imprima ( dia, de julho de, ano ) imprima ( dia, de agosto de, ano )

118 9 : 10 : se ( dia > 30 ) imprima ( mes com dias errado ) senão imprima ( dia, de setembro de, ano ) imprima ( dia, de outubro de, ano )

119 11 : 12 : se ( dia > 30 ) imprima ( mes com dias errado ) senão imprima ( dia, de novembro de, ano ) imprima ( dia, de dezembro de, ano ) fim_caso

120 fim

121 LINGUAGEM C: #include <stdio.h> int main () { int dia, mes, ano; printf ( entre com a data de nascimento ); scanf ( %d %d %d, &dia, &mes, &ano );

122 if (( dia < 1) ( dia > 31 )) { printf ( dia errado ); } else { if (( mes < 1 ) ( mes > 12 )) { printf ( mês errado ); } else { if (( ano < 0 ) ( ano > 2010 )) { printf ( verifique o ano ); } else {

123 switch ( mes ) { case 1 : printf ( %d de janeiro de %d, dia, ano ); break; case 2 : if ( dia > 29 ) { printf ( mes com dias errado ); } else { printf ( %d de fevereiro de %d, dia, ano ); } break;

124 caso 3 : printf ( %d de março de %d, dia, ano ); break; caso 4 : if ( dia > 30 ) { printf ( mes com dias errado ); } else { printf ( %d de abril de %d, dia, ano ); } break;

125 caso 5 : printf ( %d de maio de %d, dia, ano ); break; caso 6 : if ( dia > 30 ) { printf ( mes com dias errado ); } else { printf ( %d de junho de %d, dia, ano ); } break;

126 caso 7 : printf ( %d de julho de %d, dia, ano ); break; caso 8 : printf ( %d de agosto de %d, dia, ano ); break; caso 9 : if ( dia > 30 ) { printf ( mes com dias errado ); } else { printf ( %d de setembro de %d, dia, ano ) } break;

127 caso 10 : printf ( %d de outubro de %d, dia, ano ); break; caso 11 : if ( dia > 30 ) { printf ( mes com dias errado ); } else { printf ( %d de novembro de %d, dia, ano ); } break; } caso 12 : printf ( %d de dezembro de %d, dia, ano ); break;

128 } } } }

129 Treinamento 1) Um vendedor necessita de um algoritmo que calcule o preço total devido por um cliente. O algoritmo deve receber o código de um produto e a quantidade comprada e calcular o preço total, usando a tabela abaixo: Código do Produto Preço unitário 101 R$ 3, R$ 2, R$ 1, R$ 10, R$ 2,90

130 Treinamento 2) Faça um programa que entre com uma opção de 1 a 5 e diga qual o time que a pessoa torce. a) Barcelona b) Real Madrid c) Juventus d) Milan e) Porto

131 Exercícios URI 1035 a 1038, 1040 a 1052, 1061, 1828, 1837, 1847, 1929, 1933, 1960, 2057, 2059, 2235, 2313, 2670,

CCO 016 / COM 110 Fundamentos de Programação

CCO 016 / COM 110 Fundamentos de Programação CCO 016 / COM 110 Fundamentos de Programação Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá AULA 07 Comandos Sequenciais (se senao) Linguagem de Programação C (if else) Estrutura

Leia mais

Treinamento Olimpíada Brasileira de Informática

Treinamento Olimpíada Brasileira de Informática Treinamento Olimpíada Brasileira de Informática Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá AULA 03 1/2 Estrutura Condicionais Linguagem de Programação C Bruno Otávio, George,

Leia mais

Aula 01. Programação Condicional Programação repetitiva

Aula 01. Programação Condicional Programação repetitiva Logo Aula 01 Programação Condicional Programação repetitiva 2 Programação Condicional Uma programação condicional, como o próprio nome já diz, permite que determinadas instruções sejam executadas ou não,

Leia mais

CCO 016 / COM 110 Fundamentos de Programação

CCO 016 / COM 110 Fundamentos de Programação CCO 016 / COM 110 Fundamentos de Programação Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá AULA 08 Estruturas de Repetição (Portugol/Linguagem C) Definição» Estrutura de Repetição

Leia mais

Treinamento Olimpíada Brasileira de Informática

Treinamento Olimpíada Brasileira de Informática Treinamento Olimpíada Brasileira de Informática Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá AULA 04 1/2 Estrutura de Repetição Bruno Otávio, George, Gabriel Taets, Gabriel Huhn,Thiago

Leia mais

Aula 05: Condicionais (if / else)

Aula 05: Condicionais (if / else) Aula 05: Condicionais (if / else) Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2019/1 Departamento de Computação UFOP Aula Anterior Breve Revisão Comandos de Decisão

Leia mais

Lógica de Programação I

Lógica de Programação I Gilson de Souza Carvalho gaucho.gilson@hotmail.com 1 Comando Switch O comando Switch pode ser visto como uma especialização do comando if. Foi criado para facilitar um uso particular de comandos if encadeados.

Leia mais

Introdução à Programação. Expressões Booleanas e Comandos Condicionais

Introdução à Programação. Expressões Booleanas e Comandos Condicionais Introdução à Programação Expressões Booleanas e Comandos Condicionais Comandos Condicionais Misture os ingredientes Unte forma com manteiga Despeje a mistura na forma Algoritmo para preparação de bolo

Leia mais

Aula 6 Oficina de Programação Estruturas Condicionais no C. Profa. Elaine Faria UFU

Aula 6 Oficina de Programação Estruturas Condicionais no C. Profa. Elaine Faria UFU Aula 6 Oficina de Programação Estruturas Condicionais no C Profa. Elaine Faria UFU - 2017 Estrutura Condicional Simples Algoritmo se () entao instrução fimse A instrução só será executada se

Leia mais

ALGORITMO I ESTRUTURA DE CONTROLE DECISÃO SE / CASO;

ALGORITMO I ESTRUTURA DE CONTROLE DECISÃO SE / CASO; ALGORITMO I ESTRUTURA DE CONTROLE DECISÃO SE / CASO; Jaime Evaristo (http://professor.ic.ufal.br/jaime/) Slide 1 ESTRUTURA DE CONTROLE Operadores Relacionais Símbolo Significado LING. C = Igual == Diferente!=

Leia mais

Linguagem C (estruturas condicionais)

Linguagem C (estruturas condicionais) Linguagem C (estruturas condicionais) André Tavares da Silva atavares@joinville.udesc.br Comandos de Controle de Fluxo Todos os comandos devem ser terminados com um ;. { e são usados para delimitar um

Leia mais

Estruturas de seleção

Estruturas de seleção 94 Execução condicional Etapa em um programa onde uma condição é avaliada e, dependendo do resultado, diferentes ações podem ser realizadas. condição 95 Condicional simples Uma ou mais ações serão executadas

Leia mais

Programação Estruturada

Programação Estruturada Programação Estruturada Estruturas condicionais Professores Emílio Francesquini e Carla Negri Lintzmayer 2018.Q3 Centro de Matemática, Computação e Cognição Universidade Federal do ABC Comandos condicionais

Leia mais

GFM015 Introdução à Computação Algoritmos e Programação / Controle de Fluxo / Estutura Condicional

GFM015 Introdução à Computação Algoritmos e Programação / Controle de Fluxo / Estutura Condicional GFM015 Introdução à Computação Algoritmos e Programação / Controle de Fluxo / Estutura Condicional Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/ic UFU/FACOM Programa 1. Noções básicas

Leia mais

Sistemas Operacionais e Introdução à Programação. Programação com linguagem C

Sistemas Operacionais e Introdução à Programação. Programação com linguagem C Sistemas Operacionais e Introdução à Programação Programação com linguagem C 1 Entrada e saída: escrevendo na tela Veja uma comparação entre um programa Portugol e seu equivalente em C: Inicio Inteiro

Leia mais

Algoritmos e Lógica de Programação 80 horas // 4 h/semana. Exercício... Para começar... Resolução... Para começar... Para começar...

Algoritmos e Lógica de Programação 80 horas // 4 h/semana. Exercício... Para começar... Resolução... Para começar... Para começar... Algoritmos e Lógica de Programação 80 horas // 4 h/semana Estrutura Condicional: aninhada, seleção de casos e outras. Aula 06 Prof. Piva Exercício... Faça um algoritmo que leia dois números inteiros e

Leia mais

Aula 2 Comandos de Decisão

Aula 2 Comandos de Decisão Departamento de Sistemas de Computação Universidade de São Paulo SSC 502 Laboratório de Introdução a Ciência de Computação I Aula 2 Comandos de Decisão Responsável Prof. Seiji Isotani (sisotani@icmc.usp.br)

Leia mais

ESTRUTURAS CONDICIONAIS. Baseado nos slides de autoria de Rosely Sanches e Simone Senger de Souza

ESTRUTURAS CONDICIONAIS. Baseado nos slides de autoria de Rosely Sanches e Simone Senger de Souza ESTRUTURAS CONDICIONAIS Baseado nos slides de autoria de Rosely Sanches e Simone Senger de Souza Estruturas de Controle ESTRUTURA SEQUENCIAL ESTRUTURA CONDICIONAL ESTRUTURA DE REPETIÇÃO 2 Estruturas Condicionais

Leia mais

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: Operadores relacionais e lógicos estruturas condicionais If...

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: Operadores relacionais e lógicos estruturas condicionais If... Universidade Federal de Uberlândia Faculdade de Computação Linguagem C: Operadores relacionais e lógicos estruturas condicionais If... Else Switch Prof. Renato Pimentel 1 Operações relacionais Operações

Leia mais

ESTRUTURAS CONDICIONAIS. Introdução à Ciência da ComputaçãoI Simone Senger de Souza

ESTRUTURAS CONDICIONAIS. Introdução à Ciência da ComputaçãoI Simone Senger de Souza ESTRUTURAS CONDICIONAIS Introdução à Ciência da ComputaçãoI Simone Senger de Souza Estruturas de Controle ESTRUTURA SEQUENCIAL ESTRUTURA CONDICIONAL ESTRUTURA DE REPETIÇÃO 2 Estruturas Condicionais Estrutura

Leia mais

Estruturas de Decisão. Adaptado de Deise Saccol

Estruturas de Decisão. Adaptado de Deise Saccol Estruturas de Decisão Adaptado de Deise Saccol 1 ESTRUTURAS DE DECISÃO Comandos de decisão ou desvio fazem parte das técnicas de programação, para construir estruturas de algoritmos que não são totalmente

Leia mais

MC-102 Aula 04 Expressões Relacionais, Lógicas e Comandos Condicionais

MC-102 Aula 04 Expressões Relacionais, Lógicas e Comandos Condicionais MC-102 Aula 04 Expressões Relacionais, Lógicas e Comandos Condicionais Instituto de Computação Unicamp 26 de Agosto de 2016 Roteiro 1 Expressões relacionais 2 Expressões lógicas 3 4 Exercícios (Instituto

Leia mais

Introdução à Programação I

Introdução à Programação I Introdução à Programação I Introdução à Programação Estruturada Estruturas Básicas de Controle Material da Prof. Ana Eliza Fluxograma Definição Descrição de um algoritmo utilizando elementos gráficos.

Leia mais

Programação I PRG Engenharia de Telecomunicações 2ª Fase Professor: Cleber Jorge Amaral

Programação I PRG Engenharia de Telecomunicações 2ª Fase Professor: Cleber Jorge Amaral Programação I PRG29002 Engenharia de Telecomunicações 2ª Fase Professor: Cleber Jorge Amaral 2016-1 Revisão da aula anterior Linguagens compiladas vs interpretadas Para que servem as bibliotecas? O que

Leia mais

CAPÍTULO 4 ESTRUTURAS DE CONTROLE

CAPÍTULO 4 ESTRUTURAS DE CONTROLE CAPÍTULO 4 ESTRUTURAS DE CONTROLE Fabio Augusto Oliveira Guilherme da Cunha Fonseca FEPI Centro Universitário de Itajubá Curso de Engenharia de Produção 1 INTRODUÇÃO Já vimos entrada, processamento e saída,

Leia mais

Estruturas Condicionais

Estruturas Condicionais Estruturas Condicionais Lógica de Programação Prof. Kleber Rezende Considerações Iniciais Nos capítulos anteriores foram apresentados alguns conceitos básicos sobre as estruturas e comandos que são utilizados

Leia mais

Introdução à Lógica de Programação Aula 2. Adaptação de Luis Otavio Alvares

Introdução à Lógica de Programação Aula 2. Adaptação de Luis Otavio Alvares 1 Introdução à Lógica de Programação Aula 2 Adaptação de Luis Otavio Alvares 2 Operadores Usados para incrementar, decrementar, comparar e avaliar dados, que são operações básicas em processamento de dados.

Leia mais

Para começar... Para começar... Para começar... Para começar... Algoritmos e Lógica de Programação 80 horas // 4 h/semana. Estruturas condicionais...

Para começar... Para começar... Para começar... Para começar... Algoritmos e Lógica de Programação 80 horas // 4 h/semana. Estruturas condicionais... Algoritmos e Lógica de Programação 80 horas // 4 h/semana Estrutura Condicional: simples e composta Aula 05 Prof. Piva Estruturas condicionais... Existem comandos que, a partir de uma condição, permitem

Leia mais

Linguagem C. Prof.ª Márcia Jani Cícero

Linguagem C. Prof.ª Márcia Jani Cícero Linguagem C Prof.ª Márcia Jani Cícero A estrutura Básica de um Programa em C Consiste em uma ou várias funções ou programas. main( ) // primeira função a ser executada // inicia a função // termina a função

Leia mais

Linguagem C. Programação Estruturada. Estruturas de Controle. Prof. Luis Nícolas de Amorim Trigo

Linguagem C. Programação Estruturada. Estruturas de Controle. Prof. Luis Nícolas de Amorim Trigo Programação Estruturada Linguagem C Estruturas de Controle Prof. Luis Nícolas de Amorim Trigo nicolas.trigo@ifsertao-pe.edu.br Sumário Introdução Tipos de Estruturas de Controle Estruturas de Seleção Simples

Leia mais

Introdução à Ciência da Computação

Introdução à Ciência da Computação Introdução à Ciência da Computação Introdução à Linguagem C: Parte II Prof. Ricardo J. G. B. Campello Sumário Seleção Simples Seleção Composta Seleção Encadeada Seleção de Múltipla Escolha Repetição com

Leia mais

ESTRUTURA CONDICIONAL E SELEÇÃO

ESTRUTURA CONDICIONAL E SELEÇÃO Algoritmos e Estruturas de Dados 1 Prof. Eduardo 1 ESTRUTURA CONDICIONAL E SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE OU DECISÃO) Até o momento da disciplina vimos algoritmos e programas

Leia mais

Introdução à Programação

Introdução à Programação Introdução à Programação Aula 05 Estruturas Condicionais Edirlei Soares de Lima Tomada de Decisão Até o momento, todas as instruções dos nossos programas eram executadas sequencialmente.

Leia mais

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA DE CIÊNCIAS E TECNOLOGIA. ECT1203 Linguagem de Programação Turma Prof.

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA DE CIÊNCIAS E TECNOLOGIA. ECT1203 Linguagem de Programação Turma Prof. UNIVERSIDADE EDERAL DO RIO GRANDE DO NORTE ESCOLA DE CIÊNCIAS E TECNOLOGIA ECT1203 Linguagem de Programação Turma 03 2015.1 Prof. Einstein Santos Aula 05/06: Comandos de decisão Pontos da aula O comando

Leia mais

Lógica e Linguagem de Programação Convertendo um algoritmo em pseudocódigo para a linguagem C Professor: Danilo Giacobo

Lógica e Linguagem de Programação Convertendo um algoritmo em pseudocódigo para a linguagem C Professor: Danilo Giacobo Lógica e Linguagem de Programação Convertendo um algoritmo em pseudocódigo para a linguagem C Professor: Danilo Giacobo Este documento explica como transformar um algoritmo escrito na forma pseudocódigo

Leia mais

CCO 016 Fundamentos de Programação

CCO 016 Fundamentos de Programação CCO 016 Fundamentos de Programação Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá AULA 09 Agregados Homogêneos Variáveis Indexadas Vetores EXEMPLO 1 Um programa deve calcular quem

Leia mais

controle de fluxo - condicionais

controle de fluxo - condicionais controle de fluxo - condicionais controle de fluxo - condicionais tópicos if if else if else if else expressões booleanas switch referências Capítulo 4 da apostila Capítulo 3 do livro condicionais (tomada

Leia mais

CAPÍTULO IV. Estruturas Condicionais CAPÍTULO IV ESTRUTURAS CONDICIONAIS ESTRUTURA CONDICIONAL SIMPLES

CAPÍTULO IV. Estruturas Condicionais CAPÍTULO IV ESTRUTURAS CONDICIONAIS ESTRUTURA CONDICIONAL SIMPLES NBT110- Algoritmos e Estruturas de Dados Profa. Rosanna Mara Rocha Silveira Fevereiro/2013 - Versão 1.1 CAPÍTULO IV ESTRUTURAS CONDICIONAIS 31 Dentro dos algoritmos temos comandos especiais utilizados

Leia mais

Modulo 3: Else, Case, For...

Modulo 3: Else, Case, For... PROGRAMAÇÃO DE COMPUTADORES V - TCC- 00.323 Modulo 3: Else, Case, For... Aura - Erick aconci@ic.uff.br, erickr@id.uff.br Roteiro Mais Comandos Condicionais Estrutura de Repetição Contável 2 Exemplo de

Leia mais

Faculdade Anglo-Americano Curso de Ciência da Computação Linguagem de Programação. Lista de Exercícios 1

Faculdade Anglo-Americano Curso de Ciência da Computação Linguagem de Programação. Lista de Exercícios 1 Faculdade Anglo-Americano Curso de Ciência da Computação Linguagem de Programação Lista de Exercícios 1 1. O programa seguinte tem vários erros em tempo de compilação. Encontre-os. Main() int a=1; b=2,

Leia mais

Lista de Exercícios 2

Lista de Exercícios 2 Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM Disciplina: BCC201 Introdução a Programação Professores: Túlio A. M. Toffolo e Puca

Leia mais

Introducao a Programacao Estruturas de decisão

Introducao a Programacao Estruturas de decisão Introducao a Programacao Estruturas de decisão p ericlesmiranda@gmail.com Slides fornecidos pelo professor Gurvan Huiban Plano de aula 1 Estrutura if-then 2 Estrutura if-then-else 3 O operador condicional

Leia mais

ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE)

ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE) Algoritmos e Estruturas de Dados 1 Prof. Eduardo 1 ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE) Até o momento da disciplina vimos comandos de entrada, processamento e saída

Leia mais

Linguagem C. André Tavares da Silva.

Linguagem C. André Tavares da Silva. Linguagem C André Tavares da Silva dcc2ats@joinville.udesc.br Lógica de Programação O objetivo da lógica de programação é exercitar os métodos de raciocínio e elaborar soluções coerentes para determinados

Leia mais

CCO 016 / COM 110 Fundamentos de Programação

CCO 016 / COM 110 Fundamentos de Programação CCO 016 / COM 110 Fundamentos de Programação Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá AULA 06 Operações matemáticas Comandos Sequenciais Comandos Sequenciais na Linguagem de

Leia mais

Aula 05: Condicionais (Parte 2)

Aula 05: Condicionais (Parte 2) Aula 05: Condicionais (Parte 2) Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Departamento de Computação UFOP Aula Anterior Breve Revisão Comandos de Decisão

Leia mais

ALGORITMOS. Estruturas de Controle de fluxo

ALGORITMOS. Estruturas de Controle de fluxo ALGORITMOS Estruturas de Controle de fluxo O que veremos hoje? Introdução Estruturas de Controle de Fluxo em C Exercícios Estruturas de Controle de Fluxo Estruturas de controle de fluxo São estruturas

Leia mais

Estruturas de Controle

Estruturas de Controle Estruturas de Controle ESTRUTURA SEQUENCIAL ESTRUTURAS CONDICIONAIS Estrutura Condicional Simples Estrutura Condicional Composta Seleção entre duas ou mais Seqüências de Comandos ESTRUTURA DE REPETIÇÃO

Leia mais

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação Aula 3 Introdução a Linguagem C Profa. Marina Gomes marinagomes@unipampa.edu.br 1 Aula de Hoje - Criar programas simples em C utilizando a estrutura básica; - Declarar variáveis;

Leia mais

Aula 11: Laços e exercícios

Aula 11: Laços e exercícios Aula 11: Laços e exercícios Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Departamento de Computação UFOP Aula Anterior Manipulação de laços Exercício 2 /

Leia mais

3. Linguagem de Programação C

3. Linguagem de Programação C Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3.4. Estruturas de Controle 3.4.1. Comandos

Leia mais

CCO 016 / COM 110 Fundamentos de Programação

CCO 016 / COM 110 Fundamentos de Programação CCO 016 / COM 110 Fundamentos de Programação Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá AULA 05 Entrada de dados Leia scanf Entrada dos dados Entrada de dados compreende a operação

Leia mais

Algoritmos e Lógica de Programação. 5ª Lista de Exercícios Comandos de Decisão (if)

Algoritmos e Lógica de Programação. 5ª Lista de Exercícios Comandos de Decisão (if) Algoritmos e Lógica de Programação 5ª Lista de Exercícios Comandos de Decisão (if) 1. Identifique e corrija os erros em cada um dos itens seguintes: a) if (idade >= 65); printf("idoso\n"); b) if (genero

Leia mais

ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE)

ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE) Algoritmos e Estruturas de Dados 1 Prof. Eduardo 1 ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE) Já vimos entrada, processamento e saída, que compõem os algoritmos puramente

Leia mais

Estruturas de Seleção

Estruturas de Seleção Estruturas de Seleção Em diversas situações que presenciamos, é necessário que sejam feitas escolhas... Estruturas de Seleção Introdução à Computação de 7 Estruturas de Seleção... e que toda escolha possui

Leia mais

UNIVERSIDADE FEDERAL DO PAMPA CAMPUS BAGÉ ALGORITMOS E PROGRAMAÇÃO. Estruturas de condição. Prof. Alex Camargo

UNIVERSIDADE FEDERAL DO PAMPA CAMPUS BAGÉ ALGORITMOS E PROGRAMAÇÃO. Estruturas de condição. Prof. Alex Camargo UNIVERSIDADE FEDERAL DO PAMPA CAMPUS BAGÉ ALGORITMOS E PROGRAMAÇÃO Estruturas de condição Prof. Alex Camargo alexcamargoweb@gmail.com Estruturas de condição Estrutura condicional simples: Utilização da

Leia mais

Aula 7: Estrutura de Decisão

Aula 7: Estrutura de Decisão Aula 7: Estrutura de Decisão Fernanda Passos Universidade Federal Fluminense Programação de Computadores IV Fernanda Passos (UFF) Estrutura de Decisão Programação de Computadores IV 1 / 27 Agenda 1 Revisão

Leia mais

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO LÓGICA DE PROGRAMAÇÃO PROFª. M.Sc. JULIANA H Q BENACCHIO Comandos de Decisão A maioria dos programas tomam decisões que afetam seu fluxo. Até agora, os programas eram totalmente sequenciais, ou seja, todos

Leia mais

ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO

ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO PROF. FABIANO TAGUCHI http://fabianotaguchi.wordpress.com (66) 9953-7642 AULA 02 Revisão de conteúdos da aula passada Exercícios de revisão da aula 01 Estruturas condicionais

Leia mais

Introdução a Programação de Jogos

Introdução a Programação de Jogos Introdução a Programação de Jogos Aula 06 Estruturas Condicionais Edirlei Soares de Lima Tomada de Decisão Até o momento, todas as instruções dos nossos programas eram executadas

Leia mais

Módulo 3 Controle de Fluxo

Módulo 3 Controle de Fluxo Estruturas de Dados Módulo 3 Controle de Fluxo 16/8/2005 (c) Marco A. Casanova - PUC-Rio 1 Referências Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora Campus

Leia mais

CAPÍTULO IV. Estruturas Condicionais CAPÍTULO IV ESTRUTURAS CONDICIONAIS ESTRUTURA CONDICIONAL SIMPLES

CAPÍTULO IV. Estruturas Condicionais CAPÍTULO IV ESTRUTURAS CONDICIONAIS ESTRUTURA CONDICIONAL SIMPLES NB217 Algoritmos e Estruturas de Dados I Profa. Rosanna Mara Rocha Silveira Fevereiro/2012 - Versão 4.1 CAPÍTULO IV ESTRUTURAS CONDICIONAIS 35 Dentro dos algoritmos temos comandos especiais utilizados

Leia mais

PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C

PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C 1 2 Condicional 1 Se 'C' é verdadeira Então?; 3 Condicional 1 Se 'C' é verdadeira Então? if (C)?; 4 Condicional 2 Se 'C' é verdadeira Então? Senão?? 5 Condicional

Leia mais

Declarações. C diferencia letras maiúsculas de minúsculas! int n, N; n é diferente de N!

Declarações. C diferencia letras maiúsculas de minúsculas! int n, N; n é diferente de N! Declarações Os nomes das variáveis devem conter apenas letras, dígitos e o símbolo _ Os principais tipos são: int, float, double e char Exemplos: int n; int quantidade_valores; float x, y, somavalores;

Leia mais

Programação para Games I

Programação para Games I Programação para Games I Estrutura de Decisão Estrutura de Decisão Uma estrutura de decisão examina uma ou mais condições e decide quais delas serão executadas Em jogos digitais, considere inicialmente

Leia mais

Aula 8 Comandos de Seleção

Aula 8 Comandos de Seleção Aula 8 Comandos de Seleção Algoritmos e Programação de Computadores Profs: Ronaldo Castro de Oliveira ronaldo.co@ufu.br Anilton Joaquim da Silva anilton@ufu.br 1 Introdução Até agora não aprendemos a dizer

Leia mais

Cap. 3 Entrada e Saída e Controle de Fluxo

Cap. 3 Entrada e Saída e Controle de Fluxo Programação de Computadores II Cap. 3 Entrada e Saída e Controle de Fluxo Livro: Waldemar Celes, Renato Cerqueira, José Lucas Rangel. Introdução a Estruturas de Dados, Editora Campus (2004) Slides adaptados

Leia mais

Prática - Linguagem C. Exercícios - Desenvolvendo um pequeno projeto

Prática - Linguagem C. Exercícios - Desenvolvendo um pequeno projeto Universidade Federal Rural de Pernambuco - UFRPE Departamento de Estatística e Informática - DEINFO DISCIPLINA: Paradigmas de Programação PROFESSOR: Gláucya Carreiro Boechat Prática - Linguagem C Exercícios

Leia mais

2º Roteiro de Laboratório Estruturas condicionais

2º Roteiro de Laboratório Estruturas condicionais 2º Roteiro de Laboratório Estruturas condicionais Tópicos abordados 1. Estruturas if e if/ 1.1. Sintaxe 1.2. Exemplo: par_impar.c 2. Aplicação 2.1. Problema resolvido: [PR 1] 2.2. Problemas propostos:

Leia mais

Fundamentos de Programação 1

Fundamentos de Programação 1 Fundamentos de Programação 1 Linguagem C Funções Slides 7 Prof. SIMÃO Jean Marcelo SIMÃO 1 #include void calc_area_quadrado(); void calc_area_triang_ret(); Funções e variáveis globais void calc_area_quadrado

Leia mais

Linguagens de Programação I

Linguagens de Programação I Linguagens de Programação I Tema # 4 Operadores em C Susana M Iglesias FUNÇÕES ENTRADA-SAÍDA I/O printf(), utilizada para enviar dados ao dispositivo de saída padrão (stdout), scanf(), utilizada para ler

Leia mais

Controle de Fluxo - Condicionais. INF1005 Programação I Profa. Simone D.J. Barbosa sala 410 RDC

Controle de Fluxo - Condicionais. INF1005 Programação I Profa. Simone D.J. Barbosa sala 410 RDC Controle de Fluxo - Condicionais INF1005 Programação I Profa. Simone D.J. Barbosa simone@inf.puc-rio.br sala 410 RDC 1 controle de fluxo - condicionais tópicos if if else if else if else expressões booleanas

Leia mais

CCO 016 Fundamentos de Programação

CCO 016 Fundamentos de Programação CCO 016 Fundamentos de Programação Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá Aula 05 Entrada de dados Leia scanf ou cin Entrada de Dados Entrada de dados compreende a operação

Leia mais

ALGORITMOS E LÓGICA DE PROGRAMAÇÃO. Prof. Esp. Fabiano Taguchi

ALGORITMOS E LÓGICA DE PROGRAMAÇÃO. Prof. Esp. Fabiano Taguchi ALGORITMOS E LÓGICA DE PROGRAMAÇÃO Prof. Esp. Fabiano Taguchi http://fabianotaguchi.wordpress.com fabianotaguchi@gmail.com ALGORITMOS Em nosso cotidiano muitas situações requerem uma tomada de decisão,

Leia mais

Capítulo 4: Condicionais

Capítulo 4: Condicionais Capítulo 4: Condicionais INF1004 e INF1005 Programação 1 Pontifícia Universidade Católica Departamento de Informática Tomada de Decisão Até o momento, todas as instruções eram executadas, uma após a outra.

Leia mais

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À PROGRAMAÇÃO COM C/C++ Prof. Dr. Daniel Caetano

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À PROGRAMAÇÃO COM C/C++ Prof. Dr. Daniel Caetano LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À PROGRAMAÇÃO COM C/C++ Prof. Dr. Daniel Caetano 2013-1 Objetivos Entender o mecanismo de um programa em C/C++ Apresentar e estrutura da Linguagem C/C++

Leia mais

Prof. Tiago Alves de Oliveira. Tiago Alves de Oliveira - 1

Prof. Tiago Alves de Oliveira. Tiago Alves de Oliveira - 1 Prof. Tiago Alves de Oliveira tiagofga@gmail.com 1 Operadores Aritméticos; Operadores Relacionais; Operadores Lógicos; Operador MOD Calcula o resto da divisão Estrutura X MOD 2 = 0 verifica se o resto

Leia mais

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação Aula 4 Estruturas de Condição Profa. Marina Gomes marinagomes@unipampa.edu.br 06/04/2017 Engenharia de Computação - Unipampa 1 Aula de Hoje Estrutura condicional simples Utilização

Leia mais

Solucionário de. Programação

Solucionário de. Programação Solucionário de Programação Questão 0 Crie um programa em que o usuário possa entrar com o valor de uma peça, com o número de peças compradas e dar um desconto de 12% ao comprador. O dado de saída é o

Leia mais

15/03/2018. Professor Ariel da Silva Dias Paradigma Imperativo

15/03/2018. Professor Ariel da Silva Dias Paradigma Imperativo Professor Ariel da Silva Dias Paradigma Imperativo Imperare Comandar É o mais antigo de todos; Baseado no modo de funcionamento do computador; Caracterizada por três conceitos Variáveis; Atribuições; Sequência;

Leia mais

Revisão. Profa Marina Gomes

Revisão. Profa Marina Gomes Revisão Profa Marina Gomes Algoritmos Na construção de um programa, o problema que o algoritmo representa é composto por três fases. Entrada: dados de entrada do algoritmo. Processamento: ações sobre os

Leia mais

Programação Estruturada

Programação Estruturada Algoritmos e Técnicas - Estruturas de Controle de Fluxo - Programação Estruturada Programação estruturada é a técnica de construir e formular algoritmos de uma forma sistemática. Utilizada para apresentar

Leia mais

3. Linguagem de Programação C

3. Linguagem de Programação C Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 3.3. Conceitos Básicos de C: Expressões, Operadores e Bibliotecas

Leia mais

Programação II. Aula 3

Programação II. Aula 3 Programação II Aula 3 Algoritmo Algoritmo: REVISÃO qualquer procedimento bem definido que toma algum valor como entrada e produz algum valor como saída. Técnica de refinamentos sucessivos: dividir um processo

Leia mais

Capítulo 2: Condicionais. Pontifícia Universidade Católica Departamento de Informática

Capítulo 2: Condicionais. Pontifícia Universidade Católica Departamento de Informática Capítulo 2: Condicionais Pontifícia Universidade Católica Departamento de Informática Tomada de Decisão Até o momento, todas as instruções eram executadas, uma após a outra. No capítulo 3, vimos que a

Leia mais

Linguagem C++ Estruturas de controle Parte II Estruturas de repetição

Linguagem C++ Estruturas de controle Parte II Estruturas de repetição Fundamentos de Programação Linguagem C++ Estruturas de controle Parte II Estruturas de repetição Prof. Bruno E. G. Gomes IFRN 1 Estruturas de Controle Permitem o controle da sequência de execução de um

Leia mais

USP - ICMC - SSC SSC o. Semestre Disciplina de Introdução à Computação para Engenharia Ambiental

USP - ICMC - SSC SSC o. Semestre Disciplina de Introdução à Computação para Engenharia Ambiental USP - ICMC - SSC SSC 0301-2o. Semestre 2013 Disciplina de Introdução à Computação para Engenharia Ambiental Prof. Dr. Fernando Santos Osório LRM - Laboratório de Robótica Móvel do ICMC / CROB-SC Email:

Leia mais

CCO 016 / COM 110 Fundamentos de Programação

CCO 016 / COM 110 Fundamentos de Programação CCO 016 / COM 110 Fundamentos de Programação Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá AULA 06 Operações matemáticas Comandos Sequenciais Comandos Sequenciais na Linguagem de

Leia mais

COMANDOS DE CONTROLE DE FLUXO. Luís Charneca.

COMANDOS DE CONTROLE DE FLUXO. Luís Charneca. COMANDOS DE CONTROLE DE FLUXO Luís Charneca luis.charneca@gmail.com O Comando IF (1) Os comandos de controle de fluxo são aqueles que permitem ao programador alterar a sequência de execução do programa.

Leia mais

Aula 02 -Introdução àlinguagc Programação: Estrutura-Seleção. OPL e IC1 Prof: Anilton Joaquim da Silva

Aula 02 -Introdução àlinguagc Programação: Estrutura-Seleção. OPL e IC1 Prof: Anilton Joaquim da Silva Aula 02 -Introdução àlinguagc Programação: Estrutura-Seleção OPL e IC1 Prof: Anilton Joaquim da Silva Anilton.ufu@outlook.com 1 Estrutura de Seleção Até agora não aprendemos a dizer para o computador Se

Leia mais

Controle de Fluxo Utilizando C

Controle de Fluxo Utilizando C Instituto Federal de Santa Catarina Câmpus Chapecó Ensino Médio Integrado em Informática Módulo III Unidade Curricular: Programação Estruturada Professora: Lara Popov Zambiasi Bazzi Oberderfer Controle

Leia mais

Estrutura de Seleção Múltipla Switch

Estrutura de Seleção Múltipla Switch Estrutura de Seleção Múltipla Switch Disciplina: Algoritmos e Programação Luciano Moraes Da Luz Brum Universidade Federal do Pampa Unipampa Campus Bagé Email: lucianobrum18@gmail.com Horários de atendimento:

Leia mais

Linguagem C estruturas de repetição

Linguagem C estruturas de repetição Linguagem C estruturas de repetição IF61A/IF71A - Computação 1 Prof. Leonelo Almeida Universidade Tecnológica Federal do Paraná Até agora... Introdução à linguagem C Estrutura de um programa Escrita e

Leia mais

Linguagem C/C++ Estrutura Condicional. Prof: Rosemary Melo

Linguagem C/C++ Estrutura Condicional. Prof: Rosemary Melo Linguagem C/C++ Estrutura Condicional Prof: Rosemary Melo Estrutura Condicional if... (simples) Sintaxe (como o comando deve ser escrito): if (condição) comando; ou, no caso de mais de um comando: if (condição)

Leia mais

Métodos Computacionais. Comandos Condicionais e de Repetição em C

Métodos Computacionais. Comandos Condicionais e de Repetição em C Métodos Computacionais Comandos Condicionais e de Repetição em C Tópicos da Aula Hoje vamos acrescentar comportamentos mais complexos a programas em C Comandos Condicionais if-else switch Comandos de Repetição

Leia mais

Decisão. Prof. Dr. Silvio do Lago Pereira. Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo

Decisão. Prof. Dr. Silvio do Lago Pereira. Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo Decisão Prof. Dr. Silvio do Lago Pereira Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo Valores lógicos C não oferece tipo de dados específico para valores lógicos. O número

Leia mais

Comandos em C (cont.)

Comandos em C (cont.) Comandos em C (cont.) Operador ternário:? O operador condicional possui uma opção um pouco estranha. É o único operador C que opera sobre três expressões. Sua sintaxe geral possui a seguinte construção:

Leia mais

Modulo 4: while do while (limites de variáveis)

Modulo 4: while do while (limites de variáveis) PROGRAMAÇÃO DE COMPUTADORES V - TCC- 00.323 Modulo 4: while do while (limites de variáveis) Aura - Erick aconci@ic.uff.br, erickr@id.uff.br Roteiro Até aqui apreendemos as estruturas: If e If...else Switch

Leia mais

Programação I Estruturas de Decisão

Programação I Estruturas de Decisão Programação I Estruturas de Decisão Prof. Carlos Alberto carlos.batista@facape.br carlos36_batista@yahoo.com.br Expressões Lógicas Em C, não existe um tipo específico para a representação de valores lógicos.

Leia mais