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

Documentos relacionados
compreender a importância de cada estrutura de controle disponível na Linguagem C;

Estrutura switch if-else switch switch switch if-else-if switch switch case default break switch switch break Observações: case

7. Estrutura de Decisão

Programação: Estruturas de seleção

A linguagem C oferece quatro estruturas de decisão: if, if-else, switch e o operador condicional.

Elementos de programação em C

Linguagem C: Estruturas de Controle. Prof. Leonardo Barreto Campos 1

Comando de Seleção: Switch

INTRODUÇÃO À LINGUAGEM C++

O comando switch. c Professores de ALPRO I 04/2012. Faculdade de Informática PUCRS. ALPRO I (FACIN) O comando switch 04/ / 31

Técnicas de Programação I

9 Comandos condicionais

3. INTRODUÇÃO À LINGUAGEM C 3.1. CONCEITOS BÁSICOS. Lógica de Programação

P r o g r a m a ç ã o d e C o m p u t a d o r e s 1 o S e m P r o f. A n d r é A m a r a n t e L u i z L A B 5 tag %2d while printf PE1:

Comandos de Controle do Programa

Apresentar os conceitos básicos e as estruturas de linguagem relacionadas à tomada de decisão ofertadas pela linguagem C, tais como:

Convertendo Algoritmos para a Linguagem C

Java Como Programar, 8/E

Estruturas%de%seleção%

O comando if. O comando condicional permite incluir no programa trechos de código que dependem de uma ou mais condições para sua execução.

Variáveis e Comandos de Atribuição

José Romildo Malaquias

Estrutura Condicional C++

COMANDOS DE CONTROLE DE FLUXO. Luís Charneca.

Programação Estruturada e Orientada a Objetos REVISÃO

LINGUAGEM C. Estrutura básica de um programa

Plano de Aula. if(condição) { bloco de comandos; } else { bloco de comandos2; }

Linguagem C (estruturas condicionais)

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

Prof. Vania Gimenez.Notas de aula Lógica de programação- Este material não substitui os livros indicados no site no link bibliografia.

Instruções condicionais. Instruções de repetição. Programa simples. Se fizeres barulho então apanhas um estalo!!!! Se condição então acção.

LINGUAGEM C: DESCOMPLICADA. Prof. André R. Backes

C Comandos de Controle

Comandos Sequenciais if else, e Switch

Entrada. Comando 1 Comando 2. Saída

INF 1007 Programação II

INFORMÁTICA E COMPUTAÇÃO CMP 1060 CONTROLE DE FLUXO ESTRUTURA CONDICIONAL 1

Algoritmos e Estruturas de Dados I 01/2013. Estruturas Condicionais e de Repetição (parte 2) Pedro O.S. Vaz de Melo

Aula 2 Comandos de Decisão

Módulo 3 Controle de Fluxo

ATENÇÃO!!! Rui Morgado - TLP 2

Programação II. Aula 3

Algoritmos e Programação

5 - COMANDOS DE CONTROLE DE PROGRAMA Em C existem os comandos de decisões, os comandos de iteração (ou de laços) e os comandos de desvios.

Introdução a Computação

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

COMANDOS DE DECISÕES. O COMANDO if. O comando if instrui o computador a tomar uma decisão simples. Forma Geral: if (expressão de teste) instrução;

Comando Switch. Embora a escada if else-if possa executar testes de várias maneiras, ela não é de maneira nenhuma elegante.

cast poderia ser usado também para transformar um real (float) em inteiro. A sintaxe C (float)i pode ser substituída em C++ por float(i).

Analise o código abaixo:

Introdução à Programação Aula 07. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

Introdução à Programação

Resumo da Matéria de Linguagem de Programação. Linguagem C

Operadores unários de incremento/decremento. Ciclo for

Tarefa Orientada 18 Procedimentos armazenados

Programação científica C++

Algoritmos e Estruturas de Dados I. Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3

Linguagem C Funções definidas pelo usuário. Lógica de Programação

Edwar Saliba Júnior. Dicas, Comandos e Exemplos Comparativos entre Linguagem Algorítmica e Linguagem C / C++

Curso C: Controle de Fluxo

LEI 2016 LICENCIATURA EM ENGENHARIA INFORMÁTICA

Linguagem de Programação

Linguagem de Programação C. Comandos de Seleção e Desvio

Exercícios práticos - Folha 3

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

Conceitos básicos da linguagem C

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery

Programação de Computadores I Funções de Repetição da Linguagem C PROFESSORA CINTIA CAETANO

Introdução à Programação. Armazenamento de Grande Quantidade de Informação Usando Vetores

Neste artigo estudaremos os conceitos relacionados às matrizes unidimensionais (vetores) e multidimensionais.

Estruturas de entrada e saída

Programação. MEAer. Bertinho Andrade da Costa. Instituto Superior Técnico. Introdução ao Pré-Processador. 2011/2012 1º Semestre

14.1 Vetor - Problemas

20 Caracteres - Tipo char

Aula 02: C# - Estruturas de Decisão

Técnicas de Programação I

5 Apresentando a linguagem C

UNIVERSIDADE DO TOCANTINS TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PRÁTICA EM PROGRAMAÇÃO DE SISTEMAS ESTUDO DE CASO I

Module Introduction. Programação. Cap. 4 Algoritmos e Programação Estruturada

Estrutura Condicional em Java

Introdução à Programação I

valor_dolar = converte(valor_compra, taxa_dolar); valor_final = converte(valor_dolar, taxa_real) * ;

Testando e Comparando Valores

INF 1005 Programação I

controle de fluxo - condicionais

Edwar Saliba Júnior. Dicas, Comandos e Exemplos Comparativos entre Linguagem Algorítmica e Linguagem C

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

02. [Manzano, 1996] Escreva um programa em C que apresente os quadrados dos números inteiros de 15 a 200.

Programação Orientada a Objetos

Linguagem e Técnicas de Programação I Operadores, expressões e funções. Prof. MSc. Hugo Souza Material desenvolvido por: Profa.

Universidade Federal de Rondônia Técnicas de Desenvolvimento de Programas Lista 4

Capítulo 2: Introdução à Linguagem C

PROGRAMAÇÃO FUNÇÕES NA LINGUAGEM C

O COMPUTADOR. Introdução à Computação

C Comandos de Controle

Estruturas de Dados. Alguns dados não costumam ser tão simples assim... Podem ser compostos por vários dados distintos

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

SSC304 Introdução à Programação Para Engenharias. Controle de Fluxo. GE4 Bio

Transcrição:

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

Também chamado de estrutura de seleção múltipla (caso). Assim como o if-else, o switch também é uma estrutura de seleção. O if-else realiza o teste da condição e considera apenas duas alternativas para a expressão: verdadeiro ou falso. Já o switch é próprio para se testar uma variável em relação a diversos valores préestabelecidos 2

switch (variável) { case constante1: sequencia de comandos; case constante2: sequencia de comandos;... case constante_n: sequencia de comandos; default: sequencia de comandos; } 3

O switch testa a variável entre parênteses e compara seu valor com os rótulos dos casos (case). A variável só pode ser do tipo int ou char, não aceita outros tipos de variáveis, como por exemplo, o tipo float. Cada case deve ser rotulado por uma constante, também do tipo inteiro ou caractere. Esta constante deve ser terminada por dois pontos (:). Os rótulos dos casos devem ser todos diferentes. 4

Pode haver um ou mais comandos dentro de cada case. Essa sequência de comandos não necessita estar entre chaves. Apenas o comando principal switch deve possuir as chaves de início e fim. O switch testa a variável e executa a sequência de comandos cujo case corresponda ao valor atual da variável. A sequência de comandos será executada até que o comando break seja alcançado. 5

O comando break é um dos comandos de desvio em C. Quando um break é encontrado em um switch, causa uma saída imediata e a execução do programa salta para a linha de código seguinte ao comando switch. 6

Se nenhum case for satisfeito, a sequência de comandos existentes em default é executada. O default é opcional e, se não estiver presente, nenhum comando será executado se todos os testes falharem. O default de um switch não necessita de break, porque depois de executar as instruções associadas ao último comando, termina a execução do switch. 7

int num; printf ("Digite um numero: "); scanf ("%d",&num); switch (num) { case 9: printf ("\n\no numero e igual a 9.\n"); case 10: printf ("\n\no numero e igual a 10.\n"); case 11: printf ("\n\no numero e igual a 11.\n"); default: printf ("\n\no numero nao e nem 9 nem 10 nem 11.\n"); } 8

Outra diferença entre o if-else é que a estrutura switch não aceita expressões: aceita apenas constantes. int num;... if (num % 2 == 0) printf("par"); else printf("impar"); int num, res;... res = num % 2; switch (res) { case 0: printf("par"); default: printf("impar"); } 9

Mas é importante perceber qual comando devemos utilizar em cada situação! Por exemplo, no problema para verificar se uma idade é maior ou igual a 18, o comando switch não pode ser utilizado, uma vez que o switch só pode testar igualdade, diferente do if-else que pode avaliar uma expressão lógica ou relacional. 10

int idade; printf("digite a idade: "); scanf("%d", &idade); if (idade >= 18) printf("maior de idade\n"); else printf("menor de idade\n"); Nesse caso, é impossível utilizar o comando switch. 11

No exemplo abaixo é possível verificar que a utilização do comando switch é melhor aplicado do que a utilização do comando if-else. char turno;... if ( turno == 'M') printf("matutino"); else if (turno == 'V') printf("vespertino"); else if (turno == 'N') printf("noturno"); else printf("turno invalido"); Muitos if-else aninhados!! 12

char turno;... switch (turno) { case 'M': printf("matutino"); case 'V': printf("vespertino"); case 'N': printf("noturno"); default: printf("turno invalido"); } Melhor utilizar o switch!! 13

Exemplo para verificar o sexo: char sexo;... switch (sexo) { case 'm': } printf("sexo masculino"); case 'M': printf("sexo masculino"); case 'f': printf("sexo feminino"); case 'F': printf("sexo feminino"); default: printf("sexo digitado incorretamente"); 14

Passar caindo pelos cases: Tecnicamente, os comandos break, dentro do switch, são opcionais. Eles terminam a seqüência de comandos associados com cada constante. Se o comando break é omitido, a execução continua pelos próximos cases até que um break, ou o fim do switch, seja encontrado. 15

Alterando o exemplo para verificar o sexo: char sexo;... switch (sexo) { case 'm': case 'M': printf("sexo masculino"); case 'f': case 'F': printf("sexo feminino"); default: printf("sexo digitado incorretamente"); } 16

Passar caindo pelos case's Com esse exemplo é possível verificar duas situações no comando switch: 1. Você pode ter cases sem comandos associados 2. A execução continua no próximo case se nenhum comando break estiver presente Quando isso ocorre, a execução simplesmente cai no case seguinte O fato de os case s poderem ser executados em conjunto quando nenhum break estiver presente evita a duplicação indesejável de código, resultando em um código mais eficiente. 17

Utilização como menu: O comando switch é frequentemente usado para processar uma entrada, via teclado, como em uma seleção por menu. Por exemplo, o programa para simular uma calculadora: 18

int main( ) { int op; float num1, num2, res; printf("calculadora\n\n"); printf("digite os numeros para realizar a operacao:\n"); printf("primeiro numero:"); scanf("%f", &num1); printf("segundo numero:"); scanf("%f", &num2); printf("\nescolha a opcao:\n"); printf("1. Soma\n"); printf("2. Subtracao\n"); printf("3. Multiplicacao\n"); printf("4. Divisao\n"); scanf ("%d",&op); 19

switch (op) { case 1: res = num1 + num2; printf("\nresultado da soma = %.2f\n\n", res); case 2: res = num1 - num2; printf("\nresultado da subtraca = %.2f\n\n", res); case 3: res = num1 * num2; printf("\nresultado da multiplicacao = %.2f\n\n", res); 20

} case 4: if (num2 == 0) printf ("\ndivisao por zero!\n\n"); else { res = num1 / num2; printf("\nresultado da divisao = %.2f\n\n", res); } default: printf ("\nopcao inexistente!\n"); } return 0; 21