Comandos de repetição while



Documentos relacionados
Estruturas de Repetição

INTRODUÇÃO À LINGUAGEM C++

Comandos de repetição while

Sumário Algoritmos e Estrutura de Dados Repetiçã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:

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

Variáveis, Expressões, Atribuição, Matrizes, Comandos de Desvio

Laboratório de Programação I

Convertendo Algoritmos para a Linguagem C

Conceitos básicos da linguagem C

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

7. Estrutura de Decisão

Programação: Estruturas de seleção

9.1.2 Laços Controlados por Entrada: Contador

Informática de Gestão 1º ano / 1º semestre Ano letivo: 2014/2015. Visual Basic VBA

Organização de Computadores Software

Estruturas de Controle em PHP

Notas de Aula de Algoritmos e Programação de Computadores

Programação científica C++

ALGORITMOS E FLUXOGRAMAS

José Romildo Malaquias

9 Comandos condicionais

Testando e Comparando Valores

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

Algoritmo Iterativo. Dilema do Martelo x Edifício. O Martelo. O Edifício 01/06/2014. Dilema das ações x declarações

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

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

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

Estrutura Condicional em Java

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

Bem vindo Joe Ramone!

TÉCNICAS DE PROGRAMAÇÃO

2ª Lista de Exercícios

insfcanceof new public switch transient while byte continue extends for int null

Programação I. Departamento de Engenharia Rural Centro de Ciências Agrárias

Capítulo 8. CICLOS. Tabela 8.1 Programa8a.f90.

1.2 Uma linguagem de programação muito simples

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

Técnicas de Programação I

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

JavaScript (ou JScript)

Programação Funcional. Aula 5. Funções Recursivas. José Romildo Malaquias. Departamento de Computação Universidade Federal de Ouro Preto 2011.

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

Aula 3 Desvio Condicional

JAVA NETBEANS PGOO Prof. Daniela Pires Conteúdo

Regras Métodos Identificadores Variáveis Constantes Tipos de dados Comandos de atribuição Operadores aritméticos, relacionais e lógicos

Primeiro roteiro de exercícios no Scilab Cálculo Numérico

2 Pesquisa de valores em uma lista de dados

DESENVOLVIMENTO DE SOFTWARE

Unidade: Unidade Lógica e Aritmética e Registradores. Unidade I:

- UNIVERSIDADE DO VALE DO RIO DOS SINOS CIÊNCIAS EXATAS E TECNOLÓGICAS Curso: Informática / Ciência da Computação

Sistemas de Apoio à Decisão

LÓGICA DE PROGRAMAÇÃO. Professor Celso Masotti

Aula 4 Estatística Conceitos básicos

Programas C com Repetição

Revisão: Variáveis, Expressões, Matrizes, Comandos de Desvio

COMANDO DA AERONÁUTICA ESCOLA DE ESPECIALISTAS DE AERONÁUTICA SUBDIVISÃO DE ADMISSÃO E DE SELEÇÃO

O professor vai utilizar o computador no estúdio, apresentando o ambiente Excel.

Usando o do-file editor Automatizando o Stata

LINGUAGEM C. Estrutura básica de um programa

Estruturas de Repetição

Técnicas de Programação I

2. A influência do tamanho da palavra

Programação Básica em Arduino Aula 2

Objetivo principal: aprender como definir e chamar funções.

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

UNIDADE 6 - PROGRAMAÇÃO MODULAR

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

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

Capítulo 2. VARIÁVEIS DO TIPO INTEIRO

MODELAGEM E SIMULAÇÃO

Tutorial de Matlab Francesco Franco

Linguagem de Programação I

Elementos de programação em C

Um jogo de preencher casas

Tuplas e Dicionários. Vanessa Braganholo vanessa@ic.uff.br

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

CURSO de CIÊNCIA DA COMPUTAÇÃO - Gabarito

Introdução sobre Scilab

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

Introdução à Programação. João Manuel R. S. Tavares

Algoritmos e Programação Parte Teórica

5. Uma lousa denominada EPI (registrador de endereço de próxima instrução).

Estruturas de Dados Aula 15: Árvores 17/05/2011

Introdução à Engenharia ENG1000

A estrutura de repetição em um algoritmo consiste na execução de um trecho do mesmo levando em consideração certas condições imposta pelo algoritmo.

AV1 - MA (b) Se o comprador preferir efetuar o pagamento à vista, qual deverá ser o valor desse pagamento único? 1 1, , , 980

Aula Teórica 16: Estruturas de Dados Heterogêneas

Fila de Prioridade. Siang Wun Song - Universidade de São Paulo - IME/USP. MAC Estruturas de Dados

QUANTIFICADORES. Existem frases declarativas que não há como decidir se são verdadeiras ou falsas. Por exemplo: (a) Ele é um campeão da Fórmula 1.

Linguagem e Técnicas de Programação I Tipos de dados, variáveis e constantes. Prof. MSc. Hugo Souza Material desenvolvido por: Profa.

Aluísio Eustáquio da Silva

OPERADORES E ESTRUTURAS DE CONTROLE

Programação em MATLAB

Representação de Algoritmos - Linguagens de Programação

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

fx-82ms fx-83ms fx-85ms fx-270ms fx-300ms fx-350ms

Transcrição:

Programação de Computadores I UFOP DECOM 2014 2 Aula prática 6 Comandos de repetição while Resumo Nesta aula vamos trabalhar com problemas cuja solução envolve realizar um cálculo ou tarefa repetidas vezes, enquanto uma determinada condição é satisfeita. Em outras palavras, a implementação da solução de tais problemas requer o uso de um comando de repetição, tal como o comando while. Sumário 1 Comandos de repetição - while 1 2 Exemplos 1 2.1 Exibindo uma sequência de números naturais........................ 1 3 Resolvo problemas 3 1 Comandos de repetição - while A solução de diversos problemas, em computação, envolve a repetição de uma sequência de tarefas, ou comandos, enquanto uma determinada condição é satisfeita. Esse processo de repetição, ou loop, é implementado por meio do comando while, que tem a seguinte sintaxe: while condição do bloco de comandos while A condição deve ser uma expressão booleana, isto é, cujo valor é verdadeiro (%t) ou é falso (%f). O bloco de comandos é qualquer sequência de comandos, incluindo, possivelmente, comandos de atribuição, de entrada e saída, de desvio ou outros comandos de repetição. A execução de um comando while é feita do seguinte modo: 1. a condição do while é avaliada; 2. se a condição avalia como %t (verdadeira), o bloco de comandos while é executado, e volta-se ao passo 1; 3. caso contrário, isto é, se a condição avalia para %f (falso), comando while termina. A execução do programa prossegue a partir do comando imediatamente subsequente ao do comando while. Note que, se a condição for inicialmente falsa, isto é, se o resultado for %f na primeira vez em que a condição é avaliada, o bloco de comandos while não é executado nenhuma vez. Por outro lado, se o valor da condição permanece sempre verdadeiro, em cada iteração do comando while, a execução desse comando prossegue indefinidamente. 2 Exemplos 2.1 Exibindo uma sequência de números naturais Escrever uma aplicação para exibir a sequência dos números naturais menores que 25, usando a estrutura de repetição while. 1

Contagem dos número naturais até 25: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 O comando para exibir o número deverá ser escrito uma única vez no programa, dentro de um comando de repetição, e ele será repetido várias vezes. Em cada repetição ele exibirá um número diferente. Isto só será possível se usarmos uma variável para armazenar o número a ser exibido, e a cada repetição o valor da variável for modificado. Assim para resolvermos este problema será usada uma variável para fazer a contagem dos números naturais de 0 até 25. Chamaremos esta variável de contador. O valor desta variável será exibido dentro do comando de repetição. O valor inicial da variável deverá ser 1, o primeiro valor a ser exibido. A cada repetição o valor da variável deverá ser incrementado em uma unidade, ou seja, contador receberá um novo valor igual ao seu successor do seu valor atual. O corpo do comando de repetição deverá ser executado enquando a variável contador estiver dentro do intervalo desejado. Logo a teste a ser usado no comando while deve verificar se contador é menor ou igual a 25. Com estas considerações, chegamos ao seguinte programa: clear; clc; printf("contagem dos número naturais até 25\n"); contador = 1; while contador <= 25 do printf("%g ", contador); contador = contador + 1; 2

3 Resolvo problemas Tarefa 1: Contagem dos números pares Escreva um programa para exibir os números naturais pares dentro de um intervalo. O usuário deverá informar os limites do intervalo. Não é necessário fazer a validação da entrada: assumiremos que o usuário é inteligente o suficiente para digitar valores corretos. ontagem dos número naturais pares ================================== limite inferior do intervalo: 10 limite superior do intervalo: 25 10 12 14 16 18 20 22 24 ================================== Solução: clear; clc; printf("contagem dos número naturais pares\n"); printf("==================================\n"); a = input("limite inferior do intervalo: "); b = input("limite superior do intervalo: "); contador = a; while contador <= b do printf("%g ", contador); contador = contador + 2; printf("\n==================================\n"); 3

Tarefa 2: Cálculo da média aritmética Escreva um programa para calcular a média aritmética das notas obtidas pelos alunos de Programação de Computadores. O usuário deverá primeiramente informar a quantidade de alunos da turma, e em seguida a nota obtida por cada aluno. Então o programa deve calcular e exibir a média aritmética das notas, caso o número de alunos seja positivo. Cálculo da média aritmética das notas ===================================== Informe a quantidade de alunos na turma: 0 Não há alunos na turma Cálculo da média aritmética das notas ===================================== Informe a quantidade de alunos na turma: 5 Informe a nota do aluno: 9.4 Informe a nota do aluno: 5 Informe a nota do aluno: 6.5 Informe a nota do aluno: 7.5 Informe a nota do aluno: 2.6 Média calculada: 6.20 Dicas: Use uma variável para armazenar o número total de alunos da turma. Use uma variável para calcular a soma das notas dos alunos. O seu valor inicial deve ser 0 (o elemento neutro da adição). Use uma variável para fazer a contagem dos alunos. O seu valor inicial deverá ser 1. Esta variável será usada para controlar as repetições. No corpo do comando de repetição: leia a nota de um aluno, armazenando-a em uma variável, atualize a variável da soma para acrescentar o nota lida à soma já calculada, e atualize a variavel contadora, para indicar que mais uma nota foi processada. Após a finalização da entrada das notas, verifique se a quantidade de alunos realmente é positiva. Neste caso calcule e exiba a média. Caso contrário exiba uma mensagem adequada. Solução: 4

clear; clc; printf("cálculo da média aritmética das notas\n"); printf("=====================================\n"); printf("\n"); quant = input("informe a quantidade de alunos na turma: ") printf("\n"); soma = 0; contador = 1; while contador <= quant do nota = input("informe a nota do aluno: "); soma = soma + nota; contador = contador + 1; printf("\n"); if quant > 0 then media = soma/quant; printf("média calculada: %.2f\n", media) else printf("não há alunos na turma\n") 5

Tarefa 3: Portaria da festa Baranga 2014 No ginásio da UFOP ocorrerá a festa Baranga 2014/2. O ingresso masculino será de R$ 12,50 e o feminino será de R$ 7,40. Um calouro ficou encarregado de operar um programa na portaria do ginário para controlar o acesso das pessoas à festa. O programa é executado da seguinte forma: 1. Quando chega um homem na festa, ele digita h. 2. Quando chega uma mulher na festa ele digita m. 3. Quando o calouro quiser encerrar a entrada de dados ele digita q. O calouro não tem noção de quantas pessoas irão à festa. No momento que a entrada de dados for encerrada, o programa calcula quanto foi arrecadado com os ingressos masculinos e com os ingressos femininos. Também é calculado o total arrecadado. Codifique o programa operado pelo calouro na linguagem Scilab. Portaria da festa BARANGA 2014/2 -------------------------------- Quem chegou (h/m/q): w Quem chegou (h/m/q): i Quem chegou (h/m/q): p Quem chegou (h/m/q): q Quantidade de homens...: 0 Quantidade de mulheres...: 0 Arrecadação com homens...: R$ 0.00 Arrecadação com mulheres..: R$ 0.00 Arrecadação total...: R$ 0.00 Portaria da festa BARANGA 2014/2 -------------------------------- Quem chegou (h/m/q): q Quantidade de homens...: 4 Quantidade de mulheres...: 6 Arrecadação com homens...: R$ 50.00 Arrecadação com mulheres..: R$ 44.40 Arrecadação total...: R$ 94.40 Dicas: A entrada de dados deve ser textual. Logo lembre-se de usar um segundo argumento na chamada da função input para indicar que será lida uma stringa. Utilize uma variável para contar os homens, e outra para contar as mulheres. 6

Incremente a variável adequada quando o usuário digitar h ou m. O comando de repetição deve encerrar quando o usuário digitar q. A primeira entrada de dados deve ser feita antes de começar a repetir, pois a condição de repetição depe do valor digitado pelo usuário. As demais entradas de dados devem ser feitas no corpo do comando de repetição. Solução: clear; clc; printf("portaria da festa BARANGA 2014/2\n"); printf("--------------------------------\n"); homens = 0; // contador do número de homens mulheres = 0; // contador do número de mulheres quem = input("quem chegou (h/m/q): ", "s"); while quem <> q if quem == h then homens = homens + 1; elseif quem == m then mulheres = mulheres + 1; quem = input("quem chegou (h/m/q): ", "s"); arrecadacaoh = homens * 12.50; arrecadacaom = mulheres * 7.40; arrecadacaot = arrecadacaoh + arrecadacaom; printf("\nquantidade de homens...: %g", homens); printf("\nquantidade de mulheres...: %g", mulheres); printf("\narrecadação com homens...: R$ %.2f", arrecadacaoh); printf("\narrecadação com mulheres..: R$ %.2f", arrecadacaom); printf("\narrecadação total...: R$ %.2f", arrecadacaot); 7