controle de fluxo - condicionais
|
|
|
- Armando Costa Estrada
- 8 Há anos
- Visualizações:
Transcrição
1 controle de fluxo - condicionais
2 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
3 condicionais (tomada de decisão) if if ( expressão booleana ) /* se expressão for verdadeira */ bloco de comandos 1 /*... Executa o bloco de comandos 1, */ próximo comando... /* prossegue para o próximo comando após o if */ exemplo if ( nota < 5.0 ) /* se expressão for verdadeira */ printf( Reprovado ); /*... Executa o bloco de comandos 1, */... printf ( \nfim );.. /* prossegue para o próximo comando após o if */
4 condicionais (tomada de decisão) if else if ( expressão booleana ) /* se expressão for verdadeira */ bloco de comandos 1 /*... Executa verdadeiro: o bloco expressao de comandos!= 0 1, */... else /* senao */ bloco de comandos 2 /*... Executa falso: o bloco expressao de comandos == 0 2, */... próximo comando... /* prossegue para o próximo comando após o if */ exemplo if ( media >= 6.0 ) /* se expressão for verdadeira */ printf( Aprovado ); /*... Executa o bloco de comandos 1, */ else /* senao */ printf( Em prova final\n ); /*... Executa o bloco de comandos 2, */ printf ( \nfim );.. /* prossegue para o próximo comando após o if */
5 exemplo #include <stdio.h> int main (void) float media; printf( Digite sua media: ); scanf ( %f, &media); if (media >= 6.0) printf ( Aprovado\n ); else printf ( Em prova final ); return 0; #include <stdio.h> int main (void) float media; printf( Digite sua media: ); scanf ( %f, &media); if (media >= 6.0) printf ( Aprovado\n ); else printf ( Em prova final ); return 0; Quando só tem um comando, não precisa marcar com bloco entre e.
6 tomada de decisão exemplo (1): qualificando a temperatura Casos de teste 5ºC 15ºC 25ºC 35ºC
7 cuidado!
8 cuidado!
9 ainda incompleto
10 condicionais (tomada de decisão) if expressão booleana é uma expressão que, quando avaliada, resulta no valor falso ou verdadeiro. a linguagem C não tem um tipo de dado específico para armazenar valores booleanos: Em C, o valor booleano é representado por um valor inteiro: 0 significa falso e qualquer outro valor diferente de zero significa verdadeiro. Em geral, usa-se 1 para representar o valor verdadeiro, e qualquer expressão booleana que resulta em verdadeiro resulta no valor 1.
11 operadores relacionais
12 operadores lógicos
13 operadores lógicos - conjunção
14 operadores lógicos conjunção exemplo
15 operadores lógicos disjunção
16 operadores lógicos disjunção exemplo
17 operadores lógicos negação
18 operadores lógicos negação exemplo
19 condicionais (tomada de decisão) encadeamento if else if else if ( expressao1 ) /* se expressão1 for verdadeira */ bloco de comandos 1 /*... Executa o bloco de comandos 1, */ else if ( expressao2 ) /* senao se expresão2 for verdadeira */ bloco de comandos 2 /*... Executa o bloco de comandos 2, */ else if ( expressao3 ) /* senao se expresao3 for verdadeira */ bloco de comandos 3 /*... Executa o bloco de comandos 3, */ else /* senao */ bloco de comandos n /*executado quando todas as expressões são falsas*/ próximo comando... /* prossegue para o próximo comando após o if */
20 dúvidas?
21 exemplo (2) Implemente e teste um programa para converter o critério de avaliação de alunos em escolas brasileiras para o critério utilizado em escolas americanas. Nas escolas brasileiras, a avaliação dos alunos é reportada por uma nota que varia de 0 a 10. Nas escolas americanas, a avaliação dos alunos é baseada em conceitos: A, B, C, D, ou F. Assuma a seguinte equivalência: A (9.0 a 10.0), B (8.0 a 8.9), C (7.0 a 7.9), D (5.0 a 6.9), e F (menor que 5.0)
22 exemplo (2): solução (1) #include <stdio.h> int main (void) float nota; printf("entre com a nota: "); scanf("%f", ¬a); if (nota >= 9.0) printf("a"); if (nota >= 8.0 && nota < 9.0) printf("b"); if (nota >= 7.0 && nota < 8.0) printf("c"); if (nota >= 5.0 && nota < 7.0) printf("d"); if (nota < 5.0) printf("f"); return 0;
23 exemplo (2): solução (2) /* solução mais estruturada e mais eficiente */ #include <stdio.h> int main (void) float nota; printf("entre com a nota: "); scanf("%f",¬a); if (nota >= 9.0) printf("a"); else if (nota >= 8.0) printf("b"); else if (nota >= 7.0) printf("c"); else if (nota >= 5.0) printf("d"); else printf("f"); return 0;
24 bloco de comandos Na linguagem C, podemos agrupar comandos em blocos, envolvendo-os com abre e fecha chaves (...), como fizemos para delimitar o bloco de comando if e else nas construções para tomada de decisões. Na verdade, podemos criar blocos de comandos em qualquer ponto do programa, bastando envolver comandos com chaves. Uma variável declarada dentro de um bloco existe enquanto os comandos do bloco estiverem sendo executados. Quando o bloco chega ao fim, as variáveis declaradas dentro dele deixam de existir.
25 blocos de comandos Segundo o padrão C89 da linguagem C, uma variável só pode ser declarada no início de um bloco de comandos (mudou no padrão C99). Nas construções do comando if, os blocos são importantes para identificar o conjunto de comandos cuja execução está submetida à avaliação da expressão booleana. No entanto, se um bloco de comandos for constituído por apenas um único comando, as chaves podem ser omitidas.
26 bloco de comandos voltando ao exemplo (2) #include <stdio.h> int main (void) float nota; printf("entre com a nota: "); scanf("%f",¬a); if (nota >= 9.0) printf("a"); else if (nota >= 8.0) printf("b"); else if (nota >= 7.0) printf("c"); else if (nota >= 5.0) printf("d"); else printf("f"); return 0;
27 exercício Escreva um programa em C que leia uma média e exiba o status de um aluno: AP se o aluno está aprovado (média final >= 6) RM se o aluno está reprovado (média final < 3) PF se o aluno está em prova fina (caso contrário)
28 exercício Escreva um programa em C que leia uma média e exiba o status de um aluno: AP se o aluno está aprovado (média final >= 6) RM se o aluno está reprovado (média final < 3) PF se o aluno está em prova fina (caso contrário) #include <stdio.h> int main (void) float media; printf("digite a media: "); scanf("%f", &media); if (media >= 6) printf("ap"); else if (media < 3) printf("rm"); else printf("pf"); return 0;
29 o que tem de errado com esse código? if ( media >= 6.0 ) printf ( Aprovado.\n ); else if ( media < 6.0 ) Isso é conceitualmente ruim. Por quê? printf( Em prova final.\n ); printf( fim.\n ); if ( media >= 6.0 ) printf ( Aprovado.\n ); else printf( Em prova final.\n ); printf( fim.\n );
30 exemplo (3): cálculo das raízes em uma equação do 2º grau Como primeiro exemplo mais complexo, vamos discutir a construção de um programa para calcular as raízes de uma equação do segundo grau. Sabemos que as raízes de uma equação na forma ax2+bx+c=0 são dadas por: b b 2 4* a* c 2* a Este seria um problema de codificação direta de uma expressão matemática se não fosse pelo fato das raízes poderem não existir. Na verdade, a raiz quadrada só é definida para valores positivos.
31 exemplo (3): cálculo das raízes em uma equação do 2º grau Se, dentro de um programa, tentarmos avaliar uma expressão matemática cujo resultado é indefinido, o resultado do programa certamente não será o desejado. Isto inclui ações como: tentar extrair a raiz quadrada de um número negativo, calcular o logaritmo de um número negativo, ou mesmo fazer uma divisão por zero. Por este motivo, devemos avaliar estas expressões apenas após certificarmos que os operandos são válidos.
32 #include <stdio.h> #include <math.h> int main (void) exemplo double a, b, c; /*(3): coeficientes solução */ double x1, x2; /* raízes */ double delta; printf("entre com os coeficientes (a b c):"); scanf("%lf", &a); scanf("%lf", &b); scanf("%lf", &c); if (a == 0.0) printf("valor de 'a' nao pode ser zero."); return 1; delta = b*b - 4*a*c; if (delta < 0) printf("raizes reais inexistentes."); else if (delta == 0.0) x1 = -b / (2*a); printf("uma raiz real: %f", x1); else delta = sqrt(delta); x1 = (-b + delta) / (2*a); x2 = (-b - delta) / (2*a); printf("duas raizes reais: %f e %f", x1, x2); return 0;
33 dúvidas?
34 seleção comando switch Seleciona um dentre vários casos (opk deve ser um inteiro ou caractere) switch ( expr ) case op1: bloco de comandos 1; break; case op2: bloco de comandos 2; break; case op3: bloco de comandos 3; break;... default: bloco de comandos default; break; próximo comando... /* prossegue para o próximo comando após o if */ O switch seleciona apenas o ponto de entrada. O comando break é necessário para prosseguir a partir do comando que sucede o switch, pulando os cases seguintes.
35 exemplo calculadora /* calculadora de quatro operações */ #include <stdio.h> int main (void) float num1, num2; char op; printf("digite uma expressao: numero operador numero\n"); scanf ("%f %c %f", &num1, &op, &num2); switch (op) case '+': printf(" = %f\n", num1 + num2); break; case '-': printf(" = %f\n", num1 - num2); break; case '*': printf(" = %f\n", num1 * num2); break; case '/': printf(" = %f\n", num1 / num2); break; default : printf("operador invalido!\n"); break; return 0;
36 dúvidas?
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.
INF1007: Programação 2. 0 Revisão. 06/08/2015 (c) Dept. de Informática - PUC-Rio 1
INF1007: Programação 2 0 Revisão 06/08/2015 (c) Dept. de Informática - PUC-Rio 1 Tópicos Principais Variáveis e Constantes Operadores e Expressões Entrada e Saída Tomada de Decisão Construção com laços
Linguagem C (estruturas condicionais)
Linguagem C (estruturas condicionais) André Tavares da Silva [email protected] Comandos de Controle de Fluxo Todos os comandos devem ser terminados com um ;. { e são usados para delimitar um
Linguagem C: Elementos fundamentais
Instituto de C Linguagem C: Elementos fundamentais Luis Martí Instituto de Computação Universidade Federal Fluminense [email protected] - http://lmarti.com Tópicos Principais Variáveis e Constantes Operadores
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
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;
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!=
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
Linguagem de Programação C. Comandos de Seleção e Desvio
Cristiano Lehrer Valores Lógicos Em C não existe nenhum tipo específico de dados para armazenar valores lógicos. Em C o valor lógico FALSO é representado por 0 (ZERO). Tudo aquilo que seja diferente de
ponteiros INF Programação I Prof. Roberto Azevedo
ponteiros INF1005 -- Programação I -- 2016.1 Prof. Roberto Azevedo [email protected] ponteiros tópicos o que são ponteiros operadores usados com ponteiros passagem de ponteiros para funções referência
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
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
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
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
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
Capítulo 4: Condicionais
Capítulo 4: Condicionais Waldemar Celes e Roberto Ierusalimschy 18 de Agosto de 2009 1 Tomada de decisão Nos capítulos anteriores, foram apresentados programas nos quais o fluxo de execução seguia uma
Estruturas%de%seleção%
Estruturas'de'seleção' 93% Execução'condicional' Etapa'em'um'programa'onde'uma'condição'é'avaliada'e,'dependendo'do' resultado,'diferentes'ações'podem'ser'realizadas.' 94% Condicional'simples' Uma'ou'mais'ações'serão'executadas'se,'
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
Introdução à Programação I
Introdução à Programação I Programação Estruturada Álgebra Booleana e Expressões Compostas Material da Prof. Ana Eliza Definição: Chama-se proposição todo o conjunto de palavras ou símbolos que exprimem
Capítulo 1: Introdução à Linguagem C. Pontifícia Universidade Católica Departamento de Informática
Capítulo 1: Introdução à Linguagem C Pontifícia Universidade Católica Departamento de Informática Programa Programa é um algoritmo escrito em uma linguagem de programação. No nosso caso, a linguagem C.
Introdução à Computação
Introdução à Computação Tipos de Dados, Expressões, Operadores e Comandos Básicos Prof.: Julliano Rosa Nascimento [email protected] Roteiro Tipos de Dados: Revisão Expressões Operadores Comandos Básicos
Linguagem C (repetição)
Linguagem C (repetição) André Tavares da Silva [email protected] Exercício Escrever um programa que conte (mostre na tela) os números de 1 a 100. Comandos aprendidos até o momento: printf, scanf, getchar,
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
Métodos Computacionais. Operadores, Expressões Aritméticas e Entrada/Saída de Dados
Métodos Computacionais Operadores, Expressões Aritméticas e Entrada/Saída de Dados Tópicos da Aula Hoje aprenderemos a escrever um programa em C que pode realizar cálculos Conceito de expressão Tipos de
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
Estrutura do programa
Linguagem C Estrutura do programa Exemplo: #include #include main() { printf( Ola, mundo! ); system( pause ); }
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
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
LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO
LÓGICA DE PROGRAMAÇÃO PROFª. M.Sc. JULIANA H Q BENACCHIO Primeiro programa em C #include int main() { int num1, num2, result; scanf("%d",&num1); scanf("%d",&num2); result = num1 + num2; printf("%d",
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
Lógica de Programação I
Gilson de Souza Carvalho [email protected] 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.
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
Programação 1. Atribuição, operadores aritméticos, entrada de dados. Técnico em Eletrônica Semestre 5 02
Programação 1 Atribuição, operadores aritméticos, entrada de dados Técnico em Eletrônica Semestre 5 02 Armazenando na memória tipo de variável #include #include main() { int ano; Declaração
Aula 12- Variáveis e valores reais
Aula 12- Variáveis e valores reais Até agora todos os nossos problemas continham apenas valores inteiros e portanto variáveis do tipo int. Para resolver problemas que usam valores com parte fracionária,
Linguagem de Programação I. Aula 07 Linguagem C: Estruturas de Controle
Linguagem de Programação I Aula 07 Linguagem C: Estruturas de Controle Da Aula Anterior Tipos de dados básicos em C Modificadores de tipo Declaração de Variáveis Operadores em C Nesta Aula Estruturas de
Introdução a Computação
Introdução a Computação Aula 03 Introdução a Linguagem C Edirlei Soares de Lima Programação Programa é um algoritmo escrito em uma linguagem de programação. Existem diversas linguagens
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
Aula 06: Condicionais (switch)
Aula 06: Condicionais (switch) 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 Condicionais (if - else) Exemplos
MC102 Algoritmos e Programação de Computadores
MC102 Algoritmos e Programação de Computadores Instituto de Computação UNICAMP Primeiro Semestre de 2014 Roteiro 1 Maior número 2 Soma de n números 3 Fatorial 4 Máximo Divisor Comum (MDC) 5 Números primos
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
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
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,
Estruturas de Decisão e loops
Estruturas de Decisão e loops Nos códigos que vimos até agora, as instruções são seguidas seqüencialmente usando os valores de variáveis atuais a cada linha. Essa estrutura linear não é adequada para a
Parte 1. Programação (linguagem C) Introdução Geral
Parte 1 Programação (linguagem C) Introdução Geral Por que a Linguagem C? Permite o desenvolvimento de programas menores e mais rápidos Programador possui controle maior sobre o código Programador deve:
C Comandos de Controle
C Comandos de Controle Adriano Cruz [email protected] 19 de julho de 2017 Instituto de Matemática Departamento de Ciência da Computação UFRJ 1 Revisão da Seção Introdução Comandos de Teste Comandos de
INF 1620 P1-04/10/03 Questão 1 Nome:
INF 1620 P1-04/10/03 Questão 1 a) Implemente uma função para calcular as raízes de uma equação do segundo grau do tipo ax 2 +bx+c=0. O protótipo dessa função deve ser: void raizes (float a, float b, float
Algoritmos RESUMO - LINGUAGEM C
Algoritmos RESUMO - LINGUAGEM C 1 Sintaxe da linguagem C Componentes reconhecidos pela linguagem C (sintaxe da linguagem): tipos propriedades dos dados; declarações partes do programa, podendo dar significado
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
Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO
Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO Introdução Criada em 1972, por Dennis Ritchie; Centro de Pesquisas da Bell Laboratories; Para utilização no S.O. UNIX; C é uma linguagem
Algoritmos e Programação
Algoritmos e Programação Aula 4 Estruturas de Condição Profa. Marina Gomes [email protected] 06/04/2017 Engenharia de Computação - Unipampa 1 Aula de Hoje Estrutura condicional simples Utilização
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
