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

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

José Romildo Malaquias

Programação de Computadores I Estruturas de Repetição PROFESSORA CINTIA CAETANO

Controle de Fluxo Comandos de decisão

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

CURSO BÁSICO DE PROGRAMAÇÃO AULA 7

Programação científica C++

Controle de Fluxo Comandos de decisão

Aula 11: Desvios e Laços

Estruturas de Repetição

Estrutura de repetição para número indefinido de repetições com teste no inicio (Enquanto - while)

Estruturas de Repetição

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

Universidade Federal de Ouro Preto UFOP. Instituto de Ciências Exatas e Biológicas ICEB. Departamento de Computação DECOM

Linguagem algorítmica: Portugol

DESENVOLVIMENTO DE SOFTWARE II. Aula 07 A linguagem de programação C# e sua sintaxe

11 a Aula ESTRUTURAS DE REPETIÇÃO

Estruturas de Repetição

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

Inteligência Artificial

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

Simulado de Linguagem de Programação Java

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

Equivale a um conjunto de if 's encadeados, porém mais estruturado.

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

FACULDADE DE ENGENHARIA SÃO PAULO PROCESSAMENTO DE DADOS - BP1 LINGUAGEM C++ BUILDER PARTE II

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

Computação e Processamento de Dados CPD INF400

Lista de Exercícios 04a Repetição. 5) Escreva um programa que imprima todos os números inteiros de 200 a 100 (em ordem decrescente).

Estruturas II UFOP 1/1

JAVA NETBEANS PGOO Prof. Daniela Pires Conteúdo

Fundamentos de Programação. Diagrama de blocos

Introdução ao. Script. Baltazar Tavares (Psycho Mantys)

ALGORITMOS E PROGRAMAÇÃO Estruturas de repetição. Andreza Leite andreza.leite@univasf.edu.br

Estruturas de Repetição

Comandos de repetição while

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

Linguagem C: for. Introdução à linguagem C(++) Profs. Anilton, Lasaro e Paulo Coelho. Faculdade de Computação Universidade Federal de Uberlândia

Técnicas de Programação I

Estruturas de Repetição. Programação em Java Estruturas de Repetição

PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C

2. ALGORITMOS. Unesp Campus de Guaratinguetá

Introdução ao Javascript. Parte 2 Prof. Victor Hugo Lopes

Programação Básica em Arduino Aula 2

Estruturas (registros)

MC Teste de Mesa e Comandos Repetitivos

UNIVERSIDADE DO VALE DO RIO DOS SINOS - UNISINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS - CENTRO 06. Funções, variáveis, parâmetros formais

Exercícios de estrutura de Repetição

Introdução a Algoritmos Parte 04

Exercícios (if/ if else/ if elseif else)

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

Aluísio Eustáquio da Silva

Lista de Exercícios 04 Estruturas de Dados Homogêneas - Vetores

Algoritmos: Estruturas de Repetição. Prof. Carlos Lopes

Estruturas de entrada e saída

Capítulo 2 Introdução à Programação Estrutura de Controle

Python: Comandos Básicos. Claudio Esperança

Exercícios: comandos de repetição

Prof Evandro Manara Miletto. parte 2

Algoritmos em Javascript

ESTRUTURA CONDICIONAL

CAPITULO 5 COMANDO DE FLUXO IF

Desenvolvimento OO com Java 3 Estruturas de Controle e Programação Básica

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO UFRPE

Capítulo 5: Repetições

Departamento de Informática - PUC-Rio INF 1005 Programação I P1 22/09/2010 Nota

Estruturas de Controle A Tomada de Decisões

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

Introdução à Informática

Elabore um algoritmo na Linguagem de Programação do VisuAlg usando a estrutura de repetição PARA que satisfaça as seguintes condições:

HEMOVIDA (CICLO DO SANGUE - Gerenciamento de estoque para grandes eventos)

C A P I T U L O 6 E S T R U T U R A S D E C O N T R O L E D E R E P E T I Ç Ã O

Algoritmos e Programação. Prof. Tarcio Carvalho

Comandos de Desvio 1

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

Técnicas de Contagem I II III IV V VI

Programação de Computadores. Professor Ilaim Costa Junior

ALGORITMOS E PROGRAMAÇÃO. Andreza Leite Andreza.leite@univasf.edu.br

Sumário Algoritmos e Estrutura de Dados Repetição

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

Laboratório de Banco de Dados Prof. Luiz Vivacqua. PL/pgSQL A Linguagem de programação do PostgreSQL

1. Escreva um programa em Pascal que leia três valores inteiros e mostre-os em ordem crescente. Utilize seleção encadeada.

Introdução à Programação. Funções e Procedimentos. Prof. José Honorato F. Nunes honoratonunes@gmail.com

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

Convertendo Algoritmos para a Linguagem C

PROCEDIMENTO INSTALAÇÃO SINAI ALUGUEL

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

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

Estrutura de Repetição Simples

UNIVERSIDADE ESTADUAL PAULISTA. Apostila Pascal Ed Prof. Dr. Galeno José de Sena DMA/FEG CAPÍTULO 8

Nesta aula serão apresentados alguns comandos de condição, repetição e gráficos.

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática

SISTEMA CAÇA-TALENTOS MANUAL DE OPERAÇÃO PERFIL SECRETARIA

ALGORITMOS cont. Universidade Federal do Rio Grande do Norte Centro de Tecnologia Departamento de Computação e Automação

CAMPUS DE GUARATINGUETÁ FACULDADE DE ENGENHARIA. Introdução à Programação em C. Algoritmos: Estruturas de Repetição. Prof. Dr. Galeno.J.

Programação Estruturada Linguagem C

Transcrição:

BCC 201 - Introdução à Programação Controle de Fluxo Comandos de repetição: while e do-while Guillermo Cámara-Chávez UFOP 1/26

Comandos de Repetição (Laços) I São muito comuns as situações em que se deseja repetir um determinado trecho de um programa um certo número de vezes. As estruturas de repetição são muitas vezes chamadas de Laços ou também de Loops. 2/26

Comandos de Repetição (Laços) II Classificação: Laços Contados: Conhecimento previo de quantas vezes o comando no interior da construção será executado; Laços Condicionais: Não se conhece de antemão o número de vezes que o conjunto de comandos no interior do laço será repetido. Amarrado a uma condição sujeita à modificação pelas instruções do interior do laço. 3/26

Comandos de Repetição (Laços) I O conjunto de comandos em seu interior é executado até que uma determinada condição seja satisfeita. Laços condicionais mais comuns nas linguagens de programação modernas: Enquanto : laço condicional com teste no início Faça-enquanto : laço condicional com teste no final 4/26

Comandos de Repetição (Laços) II A variável que é testada deve estar sempre associada a um comando que a atualize no interior do laço. Caso isso não ocorra, o programa ficará repetindo indefinidamente este laço, gerando um laço infinito. 5/26

Laços Condicionais com Teste no Inicio - while I O comando while define uma estrutura de repetição na qual: o número de repetições pode não ser conhecido a priori, a repetição será controlada pelo valor de uma expressão. 6/26

Laços Condicionais com Teste no Inicio - while II A sintaxe geral do comando while é a seguinte: w h i l e ( e x p r e s s ã o ) { <s e q u ê n c i a de comandos >; } 7/26

Laços Condicionais com Teste no Inicio - while III 8/26

Laços Condicionais com Teste no Inicio - while IV Se a condição for verdadeira (= =1) o corpo do laço é executado e a condição é novamente avaliada. Esta operação se repete até que a condição se torne falsa (= =0), encerrando o laço e continuando a executar o programa depois do corpo do laço. O laço while é mais apropriado para situações que a repetição possa ser encerrada inesperadamente, 9/26

Laços Condicionais com Teste no Inicio - while V Enquanto que o for é mais empregado em quantidades de repetições mais conhecidas. O while também pode ser aninhado, ou seja, possuir um while dentro de outro while. 10/26

While I Escreva um programa em C++ para calcular o fatorial de um número inteiro e positivo fornecido pelo usuário do programa 11/26

While II #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 f a t = 1 ; i n t i, n ; cout << " Inserir numero \n" ; c i n >> n ; i = 1 ; w h i l e ( i <= n ) { f a t = f a t i ; i ++; } cout << "O Fatorial de "<< n << "eh " << f a t ; r e t u r n 0 ; } 12/26

While III Escreva o algoritmo e o respectivo programa em C++ para um programa que conte a quantidade de números pares e ímpares digitados por um usuário. O usuário pode digitar quantos números quiser, e pode encerrar o programa quando desejar. 13/26

While 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 contapar = 0, contaimpar = 0, num ; c h a r r e s p = s ; w h i l e ( r e s p = s r e s p == S ) { cout << " Inserir numero \n" ; c i n >> num ; i f (num % 2 == 0) contapar++; e l s e contaimpar++; c o n t i n u a << " Continua s/n? \n" ) ; c i n >> r e s p ; } cout <<"Numero de Pares: "<< contapar << e n d l ; cout <<"Numero de Impares : "<< contaimpar ; r e t u r n 0 ; } 14/26

While V Escreva o programa em C++, para um programa que conte a quantidade de números primos positivos digitados por um usuário. O usuário pode digitar quantos números quiser, e pode encerrar o programa quando desejar. 15/26

While VI #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 cont, num, i ; c h a r r e s p = s ; w h i l e ( r e s p = s r e s p == S ) { cout << "Digite um numero \n" ; c i n >> num ; i = 2 ; cont = 0 ; w h i l e ( i <= num) { i f (num % i == 0) cont++; } i f ( cont == 1) cout << num << " eh primo \n" ; cout << " continua s/n?" ; c i n >> r e s p ; } r e t u r n 0 ; } 16/26

Laços Condicionais com Teste no Inicio - do-while I Efetua um teste lógico no final de um laço, verificando se é permitido ou não executar novamente o conjunto de comandos no interior do mesmo. Na construção do-while o comando é executado uma ou mais vezes (pelo menos uma vez). Na construção while o comando é executado zero ou mais vezes 17/26

Laços Condicionais com Teste no Inicio - do-while II do { s e q u ê n c i a de comandos } w h i l e ( c o n d i ç ã o ) ; 18/26

Laços Condicionais com Teste no Inicio - do-while III 19/26

Laços Condicionais com Teste no Inicio - do-while IV A conversão de graus Fahrenheit para Centígrados é obtida pela fórmula C = 5/9(F 32). Escreva um algoritmo que calcule e escreva uma tabela de graus centígrados em função de graus Fahrenheit que variem de 150 até 50 de 0,5 em 0,5. 20/26

Laços Condicionais com Teste no Inicio - do-while V #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 F = 150, C ; c o u t << " Fahrenheit Centigrados \n" ; do { C = 5. 0 / 9 (F 3 2 ) ; cout << setw ( 1 0 ) << f i x e d << s e t p r e c i s i o n ( 2 ) << F <<" " << setw ( 1 0 ) << C << e n d l ; F = 0. 5 ; } w h i l e (F >= 5 0 ) ; r e t u r n 0 ; } 21/26

Laços Condicionais com Teste no Inicio - do-while VI Fazer um algoritmo para calcular a média aritmética de um conjunto de valores inteiros positivos (considere o valor zero como finalizador do programa). 22/26

Laços Condicionais com Teste no Inicio - do-while 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 ( ) { i n t soma = 0, cont = 0, num ; do{ cout << " Inserir numero \n" ; c i n >> num ; i f (num > 0) { soma += num ; cont++; } } w h i l e (num!= 0 ) ; i f ( cont > 0) cout << s t a t i c c a s t <double >(soma ) / cont ; r e t u r n 0 ; } 23/26

Laços Condicionais com Teste no Inicio - do-while VIII Dado um país A, com 5.000.000 habitantes e uma taxa de crescimento de 3% ao ano, e um país B com 7.000.000 habitantes e uma taxa de natalidade de 2% ao ano. Construa um algoritmo que calcule e imprima quanto tempo é necessário para que a população do país A ultrapasse a população do país B. 24/26

Laços Condicionais com Teste no Inicio - do-while IX #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 populacaoa = 5000000, populacaob = 7000000; i n t cont = 0 ; w h i l e ( populacaoa < populacaob ) { cont++; populacaoa = populacaoa + 0. 0 3 populacaoa ; populacaob = populacaob + 0. 0 2 populacaob ; } cout << "Eh necessario " << cont << "anos \n" ; r e t u r n 0 ; } 25/26

FIM 26/26