Curso de C. Estruturas Condicionais

Documentos relacionados
Prof. A. G. Silva. 04 de abril de Prof. A. G. Silva INE5231 Computação Científica I 04 de abril de / 90

Curso de C. Estruturas de Repetição 1/4/ :31 1

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

Programação Estruturada

Desenvolvimento de Aplicações Desktop

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

Curso de C. Estruturas de Repetição 29/03/ :18 1

Curso de C. Declaração de Variáveis 18/3/ :48 1

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

PCI- Operadores, Expressões e Funções. Profa. Mercedes Gonzales Márquez

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

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

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

INTRODUÇÃO À LINGUAGEM C. Prof. Msc. Luis Filipe Alves Pereira 2015

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

LINGUAGEM C: COMANDOS DE CONTROLE CONDICIONAL

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

MC-102 Aula 05 Comandos Condicionais

Aula 05: Condicionais (if / else)

Computação El E etrônic i a If-Else

controle de fluxo - condicionais

Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria

Controle de Fluxo Utilizando C

Estruturas de seleção

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

PROGRAMAÇÃO A. Estrutura Condicional

Aula 06: Condicionais (switch)

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

ALGORITMOS. Estruturas de Controle de fluxo

Aula 14: Estruturas de Seleção e Controle em C

Controle de Fluxo - Condicionais

Introdução à Programação

Introducao a Programacao Estruturas de decisão

Introdução à Programação

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

Estruturas%de%seleção%

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

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

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

Linguagens de programação. Introdução ao C (continuação)

Estruturas condicionais

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

Operadores. A linguagem C é muito rica em operadores internos. Ela define quatro classes de operadores:

Capítulo 4: Condicionais

ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO

Aula 2 Comandos de Decisão

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

LEI 2016 LICENCIATURA EM ENGENHARIA INFORMÁTICA

Algoritmos e Programação

Lógica de Programação Atividade Avaliativa 1 RESPOSTAS

Módulo 3 Controle de Fluxo

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

Linguagem C (estruturas condicionais)

Revisão. Profa Marina Gomes

INF1007: Programação 2. 0 Revisão. 06/08/2015 (c) Dept. de Informática - PUC-Rio 1

Subprogramas. (ou Sub-rotinas) em C: Procedimentos e Funções. 2015/1 Programação Básica de Computadores (INF 09325)

Introdução a Programação de Jogos

Métodos Computacionais em Física

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

Controle de Fluxo Utilizando C

Prof. A. G. Silva. 28 de agosto de Prof. A. G. Silva INE5603 Introdução à POO 28 de agosto de / 1

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

Terminal. Entrada de dados via teclado. Processamento de dados (cálculos) Tomada de decisão (condição) Saída de dados (via vídeo) Ponto de conexão

Lógica de Programação I

Tópicos Cap. 3 Entrada e Saída e Controle de Fluxo Livro printf e scanf if e? while for switch break continue Entrada e Saída Entrada e Saída

2º Roteiro de Laboratório Estruturas condicionais

Linguagens de Programação I

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

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

Sub-rotinas. 2014/2 Programação Básica de Computadores (INF 09325) Freddy Brasileiro

Estruturas de Repetição

Programação II. Aula 3

CIT Aula 02 Variáveis e Estruturas de desvio condicional. Autor: Max Rodrigues Marques Carga Horária: 2 h 22/07/15 1

Estruturas de seleção. Prof.: Jesus

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

Aula 15: Repetição (Parte 3)

USP - ICMC - SSC SSC o. Semestre 2010 Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas. Aula Tópico 2

Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria

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

4.1- Aritméticos + soma - subtração * multiplicação / divisão % módulo (resto da divisão de inteiros ).

Comandos de Controle do Programa

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

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

TE091 Programação Orientada a Objetos Engenharia Elétrica

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

Conceitos básicos. Computação eletrônica: Gurvan Huiban

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

Lista de Exercícios II. 01. Desenvolva um programa em C que receba um valor numérico real, verifique e mostre se esse número é positivo.

Programação Orientada a Objetos

Algoritmos e Técnicas de Programação. Professora: Luciana Faria

Estruturas de Decisão e loops

COMANDOS DE CONTROLE DE FLUXO. Luís Charneca.

INSTITUTO FEDERAL CATARINENSE Campus Ibirama

Comandos de decisão. Tiago Alves de Oliveira. Adaptado de slides das Profas. Patrícia Jaques, Mônica Py e Deise Sacol

Entender o problema Encontrar um algoritmo para resolvê-lo. Implementar o algoritmo numa linguagem de programação

Introdução à Linguagem C

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

Computação I (MAB120) DCC/UFRJ

Transcrição:

Curso de C Estruturas Condicionais

Curso C - IC/UNICAMP Estruturas Condicionais Objetivos: Aprender: Como vincular a execução de blocos de sentenças à condições Quando utilizar cada uma das estruturas disponíveis

Curso C - IC/UNICAMP Estruturas Condicionais Roteiro: Exemplo Condições e operadores relacionais Comando if Comando if... else Operadores lógicos Comandos if... else if em cascata Comando switch

Curso C - IC/UNICAMP Estruturas Condicionais Motivação: int intmain(int argc, argc, char* char* argv[]) { double pi pi = 3.141592; double raio, raio, area, area, perimetro; Seqüencial: Algoritmos Simples } printf("digite o raio: raio: "); "); scanf("%lf", &raio); area area = pi pi * (raio (raio* raio); perimetro = 2.0 2.0 * pi pi * raio; raio; printf("raio: %lf %lf\n", raio); printf( Area: %lf %lf\n", area); printf("perimetro: %lf %lf\n", perimetro); return 0; 0; Condições: Como decidir se deve executar ou não um bloco EstruturasCondicionais\AreaPerimetro01\AreaPerimetro01.vcproj

Estruturas Condicionais Condições

Condições Curso C - IC/UNICAMP O que são condições: Expressões matemáticas convencionais! Testam validade de uma afirmação Resultado: número inteiro Interpretação: 0: significa falso não 0: significa verdadeiro Operadores especiais: < <= = ==!=

Operador de Comparação: Maior que: esquerda direita Condições Curso C - IC/UNICAMP Resultado: 1: 1: se se esq dir dir 0: 0: caso contrário Valor constante Variável Outra expressão

Condições Curso C - IC/UNICAMP Operadores de comparação: Atenção Cuidado! Expressão a a a a a a = < <= ==!= b b b b b b Condição se a b se a b se a b se a < b se a < b se a b se a b se a b se a = b se a b se a b se a = b 1 0 1 0 1 0 1 0 1 0 1 0 Resultado (verdadeiro) (falso) (verdadeiro) (falso) (verdadeiro) (falso) (verdadeiro) (falso) (verdadeiro) (falso) (verdadeiro) (falso) Não confundir igualdade (==) com atribuição (=)!

Condições Curso C - IC/UNICAMP Exemplo: int a, b;... a = (1 < 2); b = (3 <= 2); a a = =? 1 (verdade) b b = =? 0 (falso) int c = 3; int d = 10; int e, f;... e = (c == d); f = (c!= d); e e = =? 0 (falso) f f = =? 1 (verdade)

Estruturas Condicionais if...

Curso C - IC/UNICAMP Estrutura if... if... Executa código somente se uma condição for verdadeira. (resultado da expressão diferente de zero) Sintaxe: início; if (expressão) { sentença; sentença;... } fim; 0 início expressão 1 sentença(s) fim

Curso C - IC/UNICAMP if... Exemplo if... int main(int argc, char *argv[]) { int idade; printf("digite sua idade: "); scanf("%d", &idade); if (idade = 18) { printf("já pode obter habilitação!"); } } return 0; EstruturasCondicionais\Idade01\Idade01.vcproj

Curso C - IC/UNICAMP if... Estrutura if... Sintaxe simplificada: Uma única sentença Sem bloco início Sintaxe: início; if (expressão) sentença; fim; 0 expressão 1 sentença(s) fim

Estruturas Condicionais if...else...

if...else... Curso C - IC/UNICAMP Exemplo: int intmain(int argc, argc, char char *argv[]) { int intidade; printf("digite sua sua idade: "); "); scanf("%d", &idade); Condições mutuamente exclusivas if if (idade = = 18) 18) { printf("você já jápode obter obter habilitação!"); } if if (idade <= <= 17) 17) { printf("espere mais mais alguns anos!"); } return 0; 0; EstruturasCondicionais\Idade02\Idade02.vcproj

Estrutura if...else... Sintaxe: início; if (expressão) { sentença;... } else { sentença;... } fim; if...else... Condição verdadeira: executa o primeiro bloco. Caso contrário: executa o segundo bloco. Curso C - IC/UNICAMP início expressão 1 0 sentença(s) fim sentença(s)

if...else... Curso C - IC/UNICAMP Exemplo if...else... int main(int argc, char *argv[]) { int idade, diferenca_tempo; printf("digite sua idade: "); scanf("%d", &idade); } if (idade = 18) { diferenca_tempo = idade - 18; printf("voce tem habilitacao ha %d ano(s)", diferenca_tempo); } else { diferenca_tempo = 18 - idade; printf( Espere mais %d ano(s)!\n", diferenca_tempo); } return 0; EstruturasCondicionais\Idade03\Idade03.vcproj

Estrutura if...else... Sintaxe simplificada: Uma única sentença Sem bloco if...else... Curso C - IC/UNICAMP Sintaxe: início; if (expressão) sentença; else sentença; fim; início expressão 1 0 sentença(s) sentença(s) fim

Estruturas Condicionais Operadores Lógicos

Operadores Lógicos Curso C - IC/UNICAMP O que são Operadores Lógicos: Objetivo: Condições com mais de um teste Combinação: (E / AND) Duas expressões precisam ser verdadeiras Alternativas: (OU / OR) Uma das duas expressões precisa ser verdadeira Negação: (NÃO / NOT) A condição precisa ser falsa

Operadores Lógicos Curso C - IC/UNICAMP Exemplos conceituais: Carteira de Habilitação: Idade maior ou igual que 18 anos Aprovação nos exames Combinação E / AND Cargo de boa remuneração: Excelente currículo profissional Indicação de uma pessoa influente Alternativa OU / OR

Operadores Lógicos: Operadores Lógicos Curso C - IC/UNICAMP Expressão a && b a b! a Condição se a não 0 e b não 0 se a não 0 ou b não 0 se a é 0 1 1 1 Resultado (verdadeiro) (0 caso contrário) (verdadeiro) (0 caso contrário) (verdadeiro) (0 caso contrário)

Tabelas Verdade: Operadores Lógicos Curso C - IC/UNICAMP cond1 && cond2 (E / AND) falso cond2 verdadeiro falso falso falso cond1 verdadeiro falso verdadeiro cond1 cond2 (OU / OR) falso cond2 verdadeiro cond falso verdadeiro cond1 falso verdadeiro falso verdadeiro verdadeiro verdadeiro! cond verdadeiro falso

Operadores Lógicos Curso C - IC/UNICAMP Exemplos: Média pelo menos 7.0 e freqüência de pelo menos 40 aulas: aprovado = (nota = 7.0) && (frequencia = 40) nota = 5.0; frequencia = 30; aprovado = 0; nota = 8.0; frequencia = 30; aprovado = 0; nota = 5.0; frequencia = 50; aprovado = 0; nota = 8.0; frequencia = 50; aprovado = 1;

Operadores Lógicos Curso C - IC/UNICAMP Exemplos: Média superior a 5.0 ou freqüência superior a 30 aulas: aprovado = (nota 5.0) (frequencia 30) nota = 3.0; frequencia = 20; aprovado = 0; nota = 8.0; frequencia = 20; aprovado = 1; nota = 3.0; frequencia = 50; aprovado = 1; nota = 8.0; frequencia = 50; aprovado = 1;

Operadores Lógicos Curso C - IC/UNICAMP Exemplo: int main(int argc, char *argv[]) { int idade; float media; printf("digite sua idade: "); scanf("%d", &idade); printf("digite sua media nos exames: "); scanf("%f", &media); } if ( (idade = 18) && (media = 5.0) ) { printf("voce esta aprovado!"); } else { printf("ainda nao aprovado!"); } return 0; EstruturasCondicionais\Idade04\Idade04.vcproj

Estruturas Condicionais if...else if...else

Curso C - IC/UNICAMP if...else if...else Estrutura if...else if...else... Múltiplas decisões mutuamente exclusivas Sintaxe: início; if (expressão) { sentença;... } else if (expressão) { sentença;... } else { sentença;... } fim; início 1 expressão sentença(s) 0 0 expressão 0 1 sentença(s) sentença(s) fim

Curso C - IC/UNICAMP if...else if...else Exemplo if...else if...else... int main(int argc, char *argv[]) { int idade; printf("digite sua idade: "); scanf("%d", &idade); } if ( (idade = 0) && (idade < 18) ) { printf("nao possui habilitacao.\n"); } else if ( (idade = 18) && (idade < 65) ) { printf("renove exames a cada 5 anos.\n"); } else if (idade = 65) { printf("renove exames a cada 3 anos.\n"); } return 0; EstruturasCondicionais\Idade05\Idade05.vcproj

Curso C - IC/UNICAMP if...else if...else Estrutura if...else if...else... Sintaxe simplificada: Sintaxe: início; if (expressão) sentença; else if (expressão) sentença; else sentença; fim; início expressão 1 sentença(s) 0 0 expressão 1 sentença(s) 0 sentença(s) fim

Estruturas Condicionais switch

Curso C - IC/UNICAMP switch Conceitos: Várias alternativas (case) Valores constantes Avalia expressão Compara com cada case Entra no case correspondente default: se não encontra alternativa break Finaliza switch Execução prossegue através doscases! início expressão case: sentença(s) break case: sentença(s) break default: sentença(s) break fim...

Curso C - IC/UNICAMP switch Sintaxe: início; switch (expressão) { case valor1: sentença(s); break; case valor2: sentença(s); break; case valor3: sentenças; break; default: sentença(s); break; } fim; início expressão case: sentença(s) break case: sentença(s) break default: sentença(s) break fim...

Curso C - IC/UNICAMP switch Exemplo switch... int main(int argc, char *argv[]) { float preco, preco_final; char categoria; printf("digite o preço do ingresso: "); scanf("%f", &preco); printf("e - estudante,\n ); printf("a - aposentado,\n ); printf("n - normal\n"); printf("digite a categoria do cliente (E/A/N): "); scanf("%c", &categoria); switch (categoria)... } return 0;

Curso C - IC/UNICAMP switch Exemplo switch... switch (categoria) { case 'e': case 'E': preco_final = preco * 0.50f; printf( Preco: %f\n", preco_final); break; case 'a': case 'A': preco_final = preco * 0.70f; printf( Preco: %f\n", preco_final); break; case 'n': case 'N': printf("preco sem desconto: %f\n", preco); break; default: printf("categoria invalida!\n"); break; } EstruturasCondicionais\Cinema01\Cinema01.vcproj

Estruturas Condicionais Casos de Uso

Casos de Uso Quando usar cada estrutura? if Execução condicional de um bloco if + return: Para finalizar execução sob determinadas condições (ex: erros) if...else... Execução condicional de um bloco ou outro Condições mutuamente exclusivas Aceitar um dado ou imprimir mensagem de erro Curso C - IC/UNICAMP

Casos de Uso Quando usar cada estrutura? if...else if...else Testar intervalos de valores Várias condições mutuamente exclusivas Condições com prioridade switch (...)... Expressão com alternativas discretas Alternativas em grande número Se processamento for igual para para várias alternativas Curso C - IC/UNICAMP