Controle de Fluxo Comandos de decisão multipla

Documentos relacionados
Controle de Fluxo Comandos de decisão multipla

Aula 05: Condicionais (Parte 2)

Aula 06: Condicionais (switch)

Controle de Fluxo Comandos de repetição

Controle de Fluxo Comandos de decisão

Algoritmos e Programação

Controle de Fluxo Comandos de decisão

Aula 8 Comandos de Seleção

Estruturas Homogêneas II (Matrizes)

Procedimentos e Funções

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

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA ESTRUTURA COM DECISÃO MÚLTIPLA. Prof. Dr. Daniel Caetano

1ra. Avaliação - Grupo B

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...

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

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPI JOÃO CÂMARA COMANDOS DE DESVIO

Lógica de Programação I

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

ESTRUTURA COM DECISÃO COMPOSTA

Procedimentos e Funções

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

Controle de Fluxo Comandos de repetição: while e do-while

Treinamento Olimpíada Brasileira de Informática

BCC Introdu c ao ` a Programa c ao Portugol Guillermo C amara-ch avez UFOP 1/35

Estruturas II UFOP 1/35

Programação científica C++

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

3. Linguagem de Programação C

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

INSTITUTO FEDERAL CATARINENSE Campus Ibirama

Aula 2 Comandos de Decisão

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

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

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: estruturas de repetição While / Do While / For

Variáveis, Comandos de Atribuição e Comando de Entrada e Saída

Estruturas de seleção. Prof.: Jesus

Linguagem C: if-else e operadores lógicos

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

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

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

Linguagem C (estruturas condicionais)

Unidade 10: Estruturas de Decisão Compostas Prof. Daniel Caetano

Estrutura de controle repetitiva: Para (for)

Aula 6: Comandos Estruturados Estrutura Condicional

PROGRAMAÇÃO A. Estrutura Condicional

Estruturas de Controle de Fluxo Estruturas de Seleção. Givanaldo Rocha

Estruturas de Decisão em C

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

COMANDOS DE CONTROLE DE FLUXO. Luís Charneca.

Aula 17: Funções (Parte III) e Introdução a Vetores

Estruturas de Decisão. Adaptado de Deise Saccol

Estruturas de controle: Estrutura de DECISÃO

Estruturas de Controle

Controle de Fluxo Utilizando C

Introdução à Programação SCC-121

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

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

Programação Estruturada

controle de fluxo - condicionais

Linguagem de Programação C

Módulo 3 Controle de Fluxo

Modulo 3: Else, Case, For...

PSEUDO-CÓDIGO. Nickerson Fonseca Ferreira

AVALIAÇÃO SIMULADA. 2ª Questão: (0,6 pontos): O que vai aparecer na tela ao se executar o código abaixo?

LINGUAGEM C: COMANDOS DE CONTROLE CONDICIONAL

Programação I Estruturas de Decisão

Aula 05: Condicionais (if / else)

Processamento Sequencial e Condicional

AVALIAÇÃO SIMULADA. 2ª Questão: (0,75 pontos): O que vai aparecer na tela ao se executar o trecho de código abaixo?

Módulo 5. Instruções if e switch. Algoritmos e Estruturas de Dados I C++ (Rone Ilídio)

CONTROLE DE FLUXO. Algoritmos e Programação. Prof. Alceu Britto Slides cedidos pelo Prof. Edson J. R. Justino (PUCPR) Aula 9 e 10

Programação Orientada a Objetos II Java Segunda aula. Prof. Rogério Albuquerque de Almeida

Linguagem de Programação

Aula 7: Estrutura de Decisão

Algoritmos e Estruturas de Dados I IEC012. Linguagem C - Estruturas de Controle - Seleção. Prof. César Melo

AVALIAÇÃO SIMULADA. 2ª Questão: (0,6 pontos): O que vai aparecer na tela ao se executar o código abaixo?

Seleção Múltipla Laços (while, do-while, for) AULA 05

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

Comandos de Controle do Programa

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

Aula 16 Estruturas de Controle. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

NOME DO ALUNO: AVALIAÇÃO SIMULADA

Estruturas de seleção. Prof.: Jesus

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

Entrada. Comando 1 Comando 2. Saída

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

Algoritmos e Programação

Universidade Federal de Uberlândia Faculdade de Computação. Expressões aritméticas, relacionais e lógicas Estruturas condicionais

Algoritmos Estrutura Condicional

Variáveis, Comandos de Atribuição e Comando de Entrada e Saída

Aula 05 Estruturas de controle em PHP. Prof. Pedro Baesse

Sistemas Operacionais e Introdução à Programação. Introdução à Lógica de Programação: estruturas de repetição

Introducao a Programacao Estruturas de decisão

Estruturas Condicionais

Sintaxe Básica de Java Parte 2

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

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA

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

Programação II. Victor Amorim dos Santos

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

Transcrição:

BCC 201 - Introdução à Programação Controle de Fluxo Comandos de decisão multipla Guillermo Cámara-Chávez UFOP 1/29

Lembrando a aula passada... I 2/29

Lembrando a aula passada... II Comando de decisão: i f ( e x p r ) {... // s e f o r VERDADEIRA e l s e {... // s e f o r FALSA 3/29

Lembrando a aula passada... III Pseudocódigo e fluxograma Entrada s e e x p r então... senão... f i m s e Comando 2 não condição sim Comando 1 Saída 4/29

Lembrando a aula passada... IV Ler quatro notas escolares de um aluno e imprimir uma mensagem dizendo que o aluno foi aprovado se o valor da média escolar for maior ou igual a 7,0. Se a media for entre 5,0 e 6,9 à mensagem deve aparecer como Esta em Recuperação e se a média for inferior a 5.0 o aluno esta reprovado. 5/29

Lembrando a aula passada... V... sim media 7 não Aprovado sim media 5 não Em recuperação Reprovado... 6/29

Lembrando a aula passada... VI #i n c l u d e <s t d i o. h> i n t main ( ) { d o u b l e nota1, nota2, nota3, nota4 ; d o u b l e media ; p r i n t f ( " Inserir 4 notas" ) ; s c a n f ( " %lf %lf %lf %lf", &nota1, &nota2, &nota3, &nota4 ) ; media = ( nota1+nota2+nota3+nota4 ) / 4 ; i f ( media >= 7) p r i n t f ( "Aluno aprovado \n" ) ; e l s e i f ( media >= 5) p r i n t f ( "Esta em Recuperaç~ao \n" ) ; e l s e p r i n t f ( "Aluno reprovado \n" ) ; r e t u r n 0 ; 7/29

Lembrando a aula passada... VII... media 7 sim Aprovado media 5 e media < 7 sim Em recuperação media < 5 sim Reprovado... 8/29

Lembrando a aula passada... VIII #i n c l u d e <s t d i o. h> i n t main ( ) { d o u b l e nota1, nota2, nota3, nota4 ; d o u b l e media ; p r i n t f ( " Inserir 4 notas" ) ; s c a n f ( " %lf %lf %lf %lf", &nota1, &nota2, &nota3, &nota4 ) ; media = ( nota1+nota2+nota3+nota4 ) / 4 ; i f ( media >= 7) p r i n t f ( "Aluno aprovado \n" ) ; i f ( media >= 5 && media < 7) p r i n t f ( "Esta em Recuperaç~ao \n" ) ; i f ( media < 5) p r i n t f ( "Aluno reprovado \n" ) ; r e t u r n 0 ; 9/29

Lembrando a aula passada... IX #i n c l u d e <s t d i o. h> i n t main ( ) { d o u b l e nota1, nota2, nota3, nota4 ; d o u b l e media ; p r i n t f ( " Inserir 4 notas" ) ; s c a n f ( " %lf %lf %lf %lf", &nota1, &nota2, &nota3, &nota4 ) ; media = ( nota1+nota2+nota3+nota4 ) / 4 ; i f ( media >= 7) p r i n t f ( "Aluno aprovado \n" ) ; i f ( media >= 5 & media < 7) p r i n t f ( "Esta em Recuperaç~ao \n" ) ; e l s e p r i n t f ( "Aluno reprovado \n" ) ; r e t u r n 0 ; Código certo? 10/29

Lembrando a aula passada... X... media 7 sim Aprovado não media 5 e media < 7 sim Reprovado Em recuperação... 11/29

Estrutura seletiva I O objetivo do comando é verificar várias possibilidades para valores de uma variável ou expressão Fluxograma idade 5 15 25 30 5 anos 15 anos 20 20 anos 25 anos 30 anos 12/29

Estrutura seletiva II Pseudocódigo E s c o l h a < e x p r e s s ã o de s e l e ç ã o > caso < exp 1 > < l i s t a de comandos 1 > caso < exp 2 > < l i s t a de comandos 2 > caso < exp 3 > < l i s t a de comandos 3 >... o u t r o c a s o < l i s t a de comandos n > f i m e s c o l h a 13/29

Estrutura seletiva III C/C++ s w i t c h ( e x p r e s s ã o ) { c a s e c o n s t 1 : grupo de comandos 1 ; b reak ; c a s e c o n s t 2 : grupo de comandos 2 ; b reak ;... d e f a u l t : grupo de comandos d e f a u l t ; 14/29

Estrutura seletiva IV Funciona da seguinte forma: switch verifica se a expressão é equivalente a const1, se for, executa o grupo de comandos 1 até que encontre um break. Se a expressão não for igual a const1, verifica a relação com const2 e assim por diante. Se não for nenhum dos valores, o grupo de comandos default é executado. 15/29

Estrutura seletiva V Os dois trechos de programa abaixo são equivalente s w i t c h ( x ) { c a s e 1 : p r i n t f ( "x eh 1" ) ; b reak ; c a s e 2 : p r i n t f ( "x eh 2" ) ; b reak ; d e f a u l t : p r i n t f ( "valor de x desconhecido " ) ; 16/29

Estrutura seletiva VI i f ( x == 1) p r i n t f ( "x eh 1" ) ; e l s e { i f ( x == 2) p r i n t f ( "x eh 2" ) ; e l s e p r i n t f ( "valor de x desconhecido " ) ; 17/29

Estrutura seletiva VII Se não usamos o comando break em cada case o programa continuaria até o fim do bloco s w i t c h ( x ) { c a s e 1 : // s e x f o r 1, p a s s a por a q u i c a s e 2 : // s e x f o r 1 ou 2, p a s s a por a q u i c a s e 3 : p r i n t f ( "x eh 1, 2 ou 3" ) ; b reak ; d e f a u l t : p r i n t f ( "x n~ao eh nem 1, nem 2 e nem 3" ) ; 18/29

Estrutura seletiva VIII O switch só permite comparar expressões com constantes. Se precisarmos comparar com variáveis ou verificar faixas de valores, devemos usar o comando if. 19/29

Exemplo 1 I um programa que leia o código de um determinado produto e mostre a sua classificação. Utilize a tabela abaixo como referência: Código Classificação 1 Alimento não-perecível 2 Alimento perecível 3 Vestuário 4 Limpeza 20/29

Exemplo 1 II Fluxograma Inicio cod Digite Código Leia cod cod 1 2 4 outro caso Alimento não-perecível Alimento perecível 3 Vestuário Limpeza Produto não existe Fim 21/29

Exemplo 1 III Pseudocódigo I n i c i o i n t e i r o : cod ; E s c r e v a ( "Digite código" ) ; L e i a ( cod ) ; E s c o l h a cod caso 1 E s c r e v a ( " Alimento nao - perecivel " ) ; caso 2 E s c r e v a ( " Alimento perecivel " ) ; caso 3 E s c r e v a ( " Vestuario " ) ; caso 4 E s c r e v a ( " Limpeza " ) ; o u t r o c a s o E s c r e v a ( " Produto nao existe " ) ; f i m e s c o l h a Fim 22/29

Exemplo 1 IV i n t main ( ) { i n t cod ; p r i n t f ( " Inserir codigo produto \n" ) ; s c a n f ( " %d", &cod ) ; s w i t c h ( cod ) { c a s e 1 : p r i n t f ( " Alimento nao - perecivel \n" ) ; break ; c a s e 2 : p r i n t f ( " Alimento perecivel \n" ) ; break ; c a s e 3 : p r i n t f ( " Vestuario \n" ) ; b reak ; c a s e 4 : p r i n t f ( " Limpeza \n" ) ; break ; d e f a u l t : p r i n t f ( " Produto nao existe \n" ) ; r e t u r n 0 ; 23/29

Exemplo 2 Dada uma letra, escreva na tela se essa letra é ou não uma vogal (pode considerar apenas letras minúsculas). 24/29

Exemplo 2 Dada uma letra, escreva na tela se essa letra é ou não uma vogal (pode considerar apenas letras minúsculas). i n t main ( ) { c h a r l e t r a ; p r i n t f ( " Inserir uma letra \n" ) ; s c a n f ( " %c", &l e t r a ) ; s w i t c h ( l e t r a ) { c a s e a : c a s e e : c a s e i : c a s e o : c a s e u : p r i n t f ( "Vogal!! \n); break; default : printf("nao eh uma v o g a l \n"); return 0; 24/29

Exemplo 3 I Implemente o programa da calculadora utilizando uma instrução switch-case para determinar a operação que deve ser executada, conforme o usuário escolheu no menu de opções: 25/29

Exemplo 3 II i n t main ( ) { d o u b l e num1, num2 ; c h a r op ; p r i n t f ( " Inserir numeros e operador (3 + 5) \n" ) ; s c a n f ( " %d %c %d", &num1, &op, &num2 ) ; s w i t c h ( op ) { c a s e + : p r i n t f ( " %d", num1 + num2 ) ; break ; c a s e - : p r i n t f ( " %d", num1 num2 ) ; break ; c a s e * : p r i n t f ( " %d", num1 num2 ) ; break ; c a s e / : i f (num2!= 0) p r i n t f ( " %d", num1 / num2 ) ; e l s e p r i n t f ( " divisao invalida \n" ) ; b reak ; d e f a u l t : p r i n t f ( " Operador invalido \n" ) ; r e t u r n 0 ; 26/29

Exemplo 4 I um programa que indique o número de dias existentes em um mês. Número de dias Meses 31 01, 03, 05, 07, 08, 10, 12 30 04, 06, 09, 11 28 02 27/29

Exemplo 4 II i n t main ( ) { i n t mes ; p r i n t f ( "Digite o mes: " ) ; s c a n f ( " %d", &mes ) ; s w i t c h ( mes ) { c a s e 1 : c a s e 3 : c a s e 5 : c a s e 7 : c a s e 8 : c a s e 1 0 : c a s e 1 2 ; p r i n t f ( "Mes tem 31 dias" ) ; b reak ; c a s e 4 : c a s e 6 : c a s e 9 : c a s e 1 1 : p r i n t f ( "Mes tem 30 dias" ) ; b reak ; c a s e 2 : p r i n t f ( "Mes tem 28 dias" ) ; b reak ; d e f a u l t : p r i n t f ( "Mes n~ao existe" ) ; 28/29

FIM 29/29