Controle de Fluxo Comandos de decisão



Documentos relacionados
Controle de Fluxo Comandos de decisão

Programação: Estruturas de seleção

Linguagem algorítmica: Portugol

Controle de Fluxo Comandos de decisão multipla

Introdução à Lógica de Programação (cont.)

Controle de Fluxo Comandos de decisão multipla

ESTRUTURA CONDICIONAL

Aula 3 Desvio Condicional

Estruturas (registros)

1. Estrutura de seleção. Seleção: algumas etapas (passos) do algoritmo são executadas dependendo do resultado de uma condição

Estruturas II UFOP 1/1

Técnicas de Programação I

Introdução à Lógica de Programação

Programação WEB I Estruturas de controle e repetição

Python Condicionais e Loops. Introdução à Programação SI1

Estruturas de Controle A Tomada de Decisões

Lista de Exercícios de Estrutura Condicional

Aula 02: C# - Estruturas de Decisão

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

7. Estrutura de Decisão

Estruturas II UFOP 1/35

Variáveis e Comandos de Atribuição

INTRODUÇÃO À LINGUAGEM C++

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO UFRPE

Definição. de solução de um problema passo-a-passo. Representa a lógica l. passo.

CURSO BÁSICO DE PROGRAMAÇÃO AULA 9. Introdução a linguagem C Estruturas de decisão

ALP Algoritmos e Programação

LÓGICA DE PROGRAMAÇÃO. Vitor Valerio de Souza Campos

CONCEITOS BÁSICOS PARA A CONSTRUÇÃO DE ALGORITMOS PARA COMPUTADORES. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

José Romildo Malaquias

VisuALG Estruturas de Repetição. Professores: Vilson Heck Junior Felipe Schneider Costa

Algoritmos com VisuAlg

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

Estrutura Condicional em Java

1ª Lista de exercícios

Programação científica C++

Programação de Computadores I Pseudocódigo PROFESSORA CINTIA CAETANO

CURSO BÁSICO DE PROGRAMAÇÃO AULA 9. Revisão Aula Anterior Estruturas de Decisão (If e Switch)

Estruturas de entrada e saída

1. Fazer um programa em C que pergunta um valor em metros e imprime o correspondente em decímetros, centímetros e milímetros.

Prefeitura Municipal de Venda Nova do Imigrante

9 Comandos condicionais

Exercícios de Fixação Pseudocódigo e Estruturas Básicas de Controle

Lista de Exercícios 03b Algoritmos Repetição

Algoritmo. Linguagem natural: o Ambígua o Imprecisa o Incompleta. Pseudocódigo: o Portugol (livro texto) o Visualg (linguagem) Fluxograma

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

Processamento da Informação Teoria. Algoritmos e Tipos de dados

Introdução a programação Controle de Fluxo

Introdução a Algoritmos Parte 04

3/19/2014. Compilador DEV C++ ENGENHARIAS LÓGICA DE PROGRAMAÇÃO Henry Lubanco/ Joelio Piraciaba

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.

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

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

Algoritmos e Programação. Prof. Tarcio Carvalho

2. OPERADORES ALGORITMOS, FLUXOGRAMAS E PROGRAMAS FUNÇÕES... 10

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

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia de Computação CECOMP

Estruturas de Repetição

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto

Programação de Computadores I Fluxogramas PROFESSORA CINTIA CAETANO

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.

CURSO BÁSICO DE PROGRAMAÇÃO AULA 7

LINGUAGEM C. Estrutura básica de um programa

3ª Lista de exercícios

Aula 11: Laços e exercícios

JAVA NETBEANS PGOO Prof. Daniela Pires Conteúdo

1 Lógica de Programação

TUTORIAL AMBIENTE WEB PORTUGOL

Questões dadas em Sala de Aula (para cada turma), nas aulas de Teoria:

EXERCÍCIOS. 2. Faça um algoritmo que receba dois números e ao final mostre a soma, subtração, multiplicação e a divisão dos números lidos.

Lista de Exercícios Fluxograma, Estruturas de Sequência e Decisão Prof: Yuri Frota

ESTRUTURA DE UM PROGRAMA EM C++ Estrutura de um Programa em C++


Lista de Exercícios. Vetores

Fundamentos de Programação II. Introdução à linguagem de programação C++

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

3. Estruturas de seleção

I Lista de Exercícios

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

Algoritmos Estruturas Seqüenciais. José Gustavo de Souza Paiva

Módulo 4. Instruções for, while e do/while. Algoritmos e Estruturas de Dados I C++ (Rone Ilídio)

Expressões Lógicas Comandos de Seleção

Estruturas de Repetição Parte II PARA-ATÉ

PROGRAMAÇÃO DE COMPUTADORES (Teoria)

Exercícios de estrutura de Repetição

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

Algoritmos e Programação Conceitos e Estruturas básicas (Variáveis, constantes, tipos de dados)

SOFTWARE DE ACOMPANHAMENTO DE PROJETOS RURAIS

Conceitos Importantes:

9.1.2 Laços Controlados por Entrada: Contador

Conceitos Básicos de Programação

2ª Lista de exercícios

Transcrição:

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

Expressões Relacionais I <express~ao> == <express~ao>: retorna verdadeiro quando as expressões forem iguais. Ex a == b <express~ao>!= <express~ao>: retorna verdadeiro quando as expressões forem diferentes. Ex a!= b 2/1

Expressões Relacionais II <express~ao> > <express~ao>: retorna verdadeiro quando a expressão da esquerda tiver valor maior que a expressão da direita. Ex a > b <express~ao> < <express~ao>: retorna verdadeiro quando a expressão da esquerda tiver valor menor que a expressão da direita. Ex a < b 3/1

Expressões Relacionais III <express~ao> >= <express~ao>: retorna verdadeiro quando a expressão da esquerda tiver valor maior ou igual que a expressão da direita. Ex a >= b <express~ao> <= <express~ao>: retorna verdadeiro quando a expressão da esquerda tiver valor menor ou igual que a expressão da direita. Ex a <= b 4/1

Expressões Lógicas I Expressões lógicas são aquelas que realizam uma operação lógica (ou, e, não, etc.) e retorna verdadeiro ou falso (como as expressões relacionais) 5/1

Expressões Lógicas II <express~ao> && <express~ao>: retorna verdadeiro quando ambas as expressões são verdadeiras. Sua tabela de verdade é Ex: a = = 0 && b = = 0 Op 1 Op 2 Ret V V V V F F F V F F F F 6/1

Expressões Lógicas III <express~ao> <express~ao>: retorna verdadeiro quando pelo menos uma das expressões é verdadeiras. Sua tabela de verdade é Ex: a == 0 b == 0 Op 1 Op 2 Ret V V V V F V F V V F F F 7/1

Expressões Lógicas IV!<express~ao>: retorna verdadeiro quando a expressão é falsa. Sua tabela de verdade é Ex:!(a = = 0) Op 1 V F Ret F V 8/1

Expressões Lógicas V Estes operadores OU e E devem ser sempre usados entre duas expressões relacionais, como por exemplo: ((2 > 1) (3 < 7)) ((3 < 2)&&(2 == 2)) ((5! = 0) (1 < 2)) 9/1

Expressões Lógicas VI ((2 > 1) (3 < 7)) : resultado VERDADEIRO ((3 < 2)&&(2 == 2)) : resultado FALSO ((5! = 0) (1 < 2)) : resultado VERDADEIRO 10/1

Comandos de condicionais I Permite decidir se um determinado bloco de comandos deve ou não ser executado, a partir do resultado de uma expressão lógica. 11/1

Comandos de decisão I O comando if (se) serve para alterar o fluxo de execução de um programa baseado no valor, verdadeiro ou falso, de uma expressão lógica. Fluxograma sim condição Comando 1 Comando 2 12/1

Comandos de decisão II Portugol s e ( c o n d i c a o ) entao l i s t a de comandos f i m s e C/C++ i f ( e x p r l o g ) comando1 ; // e x e c u t a d o s e e x p r l o g f o r v e r d a d e i r a comando2 ; // e x e c u t a d o sempre i n d e p e n d e n t e da c o n d i c a o Ex. Inserir um número e mostrar uma mensagem se ela é positiva. (solução sgte slide) 13/1

Comandos de decisão III I n i c i o i n t e i r o : num ; e s c r e v a ( " Inserir numero" ) ; l e i a (num ) ; s e num > 0 e s c r e v a ( "Numero positivo " ) ; f i m s e ; Fim 14/1

Comandos de decisão IV #i n c l u d e <i o s t r e a m > u s i n g namespace s t d ; i n t main ( ) { i n t num ; cout << " Inserir numero" ; c i n >> num ; i f (num > 0) cout << "Numero positivo \n" ; r e t u r n 0 ; } 15/1

Comandos de decisão V Ex. Escreva um programa que lê o valor de venda de um vendedor e calcula seu prêmio (10% do valor de venda). Se o valor do prêmio for maior do que 2000, o programa imprime uma mensagem de congratulação. 16/1

Comandos de decisão VI I n i c i o r e a l : venda, premio ; e s c r e v a ( " Inserir valor de venda: " ) ; l e i a ( venda ) ; premio < venda 0. 1 ; s e premio > 2000 e s c r e v a ( " Congratulacoes pelo premio de ", premio ) ; f i m s e ; Fim 17/1

Comandos de decisão VII #i n c l u d e <i o s t r e a m > u s i n g namespace s t d ; i n t main ( ) { d o u b l e venda, premio ; cout << " Inserir valor de venda: " ; c i n >> venda ; premio = venda 0. 1 ; i f ( premio > 2000) c o u t << " Congratulacoes pelo premio de" << premio ) r e t u r n 0 ; } 18/1

Comandos de decisão VIII Formato 2: Fluxograma sim condição Comando 1 não Comando 2 Comando 3 19/1

Comandos de decisão IX Portugol s e ( c o n d i c a o ) entao l i s t a de comandos senao l i s t a de comandos f i m s e C/C++ i f ( e x p r l o g ) comando1 ; // e x e c u t a d o s e e x p r l o g f o r v e r d a d e i r a e l s e comando2 ; // e x e c u t a d o s e e x p r l o g f o r f a l s a comando3 ; // e x e c u t a d o sempre i n d e p e n d e n t e da c o n d i c a o Ex. Dado um número imprimir se ele é par ou ímpar. (solução sgte slide) 20/1

Comandos de decisão X I n i c i o i n t e i r o : num ; e s c r e v a ( " Inserir numero" ) ; l e i a (num ) ; s e (num mod 2 = 0) entao // d i v i s i v e l por d o i s? e s c r e v a ( "Numero par" ) ; senao e s c r e v a ( "Numero impar" ) ; f i m s e Fim 21/1

Comandos de decisão XI #i n c l u d e <i o s t r e a m > u s i n g namespace s t d ; i n t main ( ) { i n t num ; cout << " Inserir numero" ; c i n >> num ; i f (num % 2 = = 0) // d i v i s i v e l por d o i s? cout << "Numero par \n" ; e l s e cout << "Numero impar \n" ; r e t u r n 0 ; } 22/1

Comandos de decisão XII Faça um algoritmo que leia os valores A, B, C e imprima na tela se a soma de A + B é menor que C ou maior igual. 23/1

Comandos de decisão XIII I n i c i o i n t e i r o : A, B, C ; e s c r e v a ( " Inserir 3 numeros " ) ; l e i a (A, B, C ) ; s e (A+B >= C) entao e s c r e v a ( "A soma de A+B eh maior igual que C" ) ; senao e s c r e v a ( "A soma de A+B eh menor que C" ) ; f i m s e Fim 24/1

Comandos de decisão XIV #i n c l u d e <i o s t r e a m > u s i n g namespace s t d ; i n t main ( ) { i n t A, B, C ; cout << " Inserir 3 numeros " ; c i n >> A >> B >> C ; i f (A+B >= C) c o u t << "A soma de A+B eh maior igual que C" ; e l s e c o u t << "A soma de A+B eh menor que C" ; r e t u r n 0 ; } 25/1

Comandos de decisão XV Formato 3: i f ( e x p r l o g ) { comando1 ; // e x e c u t a d o s e e x p r l o g f o r v e r d a d e i r a comando2 ; comando3 ; } e l s e { comando4 ; // e x e c u t a d o s e e x p r l o g f o r f a l s a comando5 ; } comando6 ; // e x e c u t a d o sempre i n d e p e n d e n t e da c o n d i c a o comando7 ; Ex. Dado um número, mostrar uma mensagem que ele é par e calcular o quadrado de dito número. Se ele é ímpar mostrar a mensagem que é ímpar e calcular o cubo de dito número. (solução sgte slide) 26/1

Comandos de decisão XVI I n i c i o i n t e i r o : num ; e s c r e v a ( " Inserir numero" ) ; l e i a (num ) ; s e (num mod 2 = 0) entao // d i v i s i v e l por d o i s? e s c r e v a ( "Numero par" ) ; e s c r e v a (num num ) ; senao e s c r e v a ( "Numero impar" ) ; e s c r e v a (num num num ) ; f i m s e Fim 27/1

Comandos de decisão XVII #i n c l u d e <o i s t r e a m > u s i n g namespace s t d ; i n t main ( ) { i n t num ; cout << " Inserir numero" ; c i n >> num ; i f (num % 2 = = 0) // d i v i s i v e l por d o i s? { cout << "Numero par \n" ; cout << num num ; } e l s e { cout << "Numero impar \n" ; cout << num num num ; } r e t u r n 0 ; } 28/1

Comandos de decisão XVIII Faça um algoritmo que leia o nome, o sexo e o estado civil de uma pessoa. Caso sexo seja (F)emenino e estado civil seja (C)asada, solicitar o tempo de casada (anos). As entradas para sexo sera: (F)emenino ou (M)asculino; e para estado civil: (C)asado ou (S)olteiro 29/1

Comandos de decisão XIX I n i c i o c a r a c t e r : nome, sexo, e s t a d o C i v i l ; i n t e i r o : anos ; e s c r e v a ( " Inserir nome: " ) ; l e i a ( nome ) ; e s c r e v a ( " Inserir sexo (M) asculino /(F) emenino : " ) ; l e i a ( s e x o ) ; e s c r e v a ( " Inserir estado civil (C)asado /(S) olteiro : " ) ; l e i a ( e s t a d o C i v i l ) ; s e ( s e x o = "F" e e s t a d o C i v i l = "C" ) e s c r e v a ( "Tempo de casada : " ) ; l e i a ( anos ) ; f i m s e ; Fim 30/1

Comandos de decisão XX #i n c l u d e <i o s t r e a m > #i n c l u d e <s t r i n g > u s i n g namespace s t d ; i n t main ( ) { s t r i n g nome, c h a r sexo, e s t a d o C i v i l ; i n t anos ; cout << " Inserir nome: " ; g e t l i n e ( cin, nome ) ; cout << " Inserir sexo (M) asculino /(F) emenino : " ; c i n >> s e x o ; cout << " Inserir estado civil (C)asado /(S) olteiro : " ; c i n >> e s t a d o C i v i l ; i f ( s e x o = = F && e s t a d o C i v i l = = C ) { cout << "Tempo de casada : " ; c i n >> anos ; } r e t u r n 0 ; } 31/1

Aninhamento de Ifs I Fluxograma sim sim condição 1 condição 2 Comando 1 não não Comando 2 Comando 3 Comando 4 32/1

Aninhamento de Ifs II Pseudocódigo s e ( c o n d i c a o 1) entao s e ( c o n d i c a o 2) entao l i s t a de comandos senao l i s t a de comandos f i m s e senao l i s t a de comandos f i m s e 33/1

Aninhamento de Ifs III i f ( e x p r l o g ) i f ( e x p r l o g 2 ) comando1 ; // e x e c u t a d o s e e x p r l o g e // e x p r l o g 2 forem v e r d a d e i r a s e l s e comando2 ; // e x p r l o g v e r d a d e i r a e e x p r l o g 2 f a l s a e l s e comando3 ; // e x e c u t a d o s e e x p r l o g eh f a l s a Ex. Mostrar se um número par é divisível por 3 (solução sgte slide). 34/1

Aninhamento de Ifs IV i n t main ( ) { i n t num ; cout << " Inserir numero: " ; c i n >> num ; i f (num % 2 = = 0) // d i v i s i v e l por d o i s? { i f (num % 3 = = 0) cout << "Par divisivel por 3 \n" ; } r e t u r n 0 ; } Ex. Dado um número par determinar se ele é ou não divisível por 3. Se o número for ímpar mostrar se ele é divisível ou não por 5 (solução sgte slide) 35/1

Aninhamento de Ifs V i n t main ( ) { i n t num ; cout << " Inserir numero: " ; c i n >> num ; i f (num % 2 = = 0) // d i v i s i v e l por d o i s => PAR { i f (num % 3 = = 0) cout << "Par divisivel por 3 \n" ; e l s e cout << "Par nao divisivel por 3 \n" ; } e l s e // Se f o r IMPAR { i f (num % 5 = = 0) cout << "Impar divisivel por 5 \n" ; e l s e c o u t << " Impar nao divisivel por 5 \n" ; } r e t u r n 0 ; } 36/1

Aninhamento de Ifs VI 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. 37/1

Aninhamento de Ifs VII #i n c l u d e <i o s t r e a m > u s i n g namespace s t d ; i n t main ( ) { d o u b l e nota1, nota2, nota3, nota4 ; d o u b l e media ; cout << " Inserir 4 notas" ; c i n >> nota1 >> nota2 >> nota3 >> nota4 ; media = ( nota1+nota2+nota3+nota4 ) / 4 ; i f ( media >= 7) cout << "Aluno aprovado \n" ; e l s e i f ( media >= 5) cout << "Esta em Recuperacao \n" ; e l s e cout << "Aluno reprovado \n" ; r e t u r n 0 ; } 38/1

FIM 39/1