Comandos de repetição while

Tamanho: px
Começar a partir da página:

Download "Comandos de repetição while"

Transcrição

1 Programação de Computadores I UFOP DECOM 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 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 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 para %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 Exemplo 1 Suponha que queremos determinar a menor sequência 1,2,..., k, tal que a soma k é maior ou igual a um dado valor n. Uma possível maneira de resolver este problema, seria calcular a soma k repetidamente, para valores crescentes de k, até que essa soma seja maior ou igual a n. Isso pode ser implementado, em Scilab, do seguinte modo: 1

2 // Menor sequência 1, 2,..., k cujo somatório é maior ou igual a n n = input("digite um número inteiro positivo: ") nums = [] // sequência de números considerados soma = 0 // soma de todos os valores da sequência nums next = 1 // próximo inteiro a ser incluído na sequência while soma < n nums(1,next) = next // inclui o o valor de next no vetor nums soma = soma + next // adiciona o valor de next à soma da sequência next next = next + 1 // próximo número a ser considerado na sequência printf("a menor sequência 1, 2,..., k cujo somatório é >= %g é:", n) disp(nums) Digite um número inteiro positivo: 10 A menor sequência 1, 2,..., k cujo somatório é >= 10 é:" Observações: 1. No corpo do comando while do programa acima, a execução do comando nums(1,next) = next atribui ao elemento da linha 1, coluna next, do vetor nums, o valor contido na variável next. Por exemplo, se o valor de next for 5, após execução deste comando, o valor de nums(1,5) será 5. Note que, no programa acima, isso significa que nums é estido, colocando-se mais um valor no final desse vetor. Em Scilab, pode também ser usada a seguinte forma alternativa, que pode ser entida como "esta o vetor nums, incluindo o valor next no final deste vetor". nums = [nums next] 2. A função disp pode ser usada para exibir um valor na tela, de maneira semelhante à função printf. A função disp recebe como argumento apenas os valores a serem exibidos na tela, não permitindo especificar como esses valores devem ser formatados, o que significa que os valores são exibidos em uma formatação padrão adotada pelo Scilab. 2.2 Exemplo 2 - Validando um dado de entrada Uma tarefa comum em programas consiste em testar se um dado fornecido pelo usuário é válido, isto é, se corresponde a um valor esperado. Quando um usuário digita um valor inválido, em geral queremos permitir que ele possa corrigir seu erro, digitando um novo valor. Para isso, devemos solicitar ao usuário uma nova entrada, repetidas vezes, até que o valor digitado seja válido. O exemplo a seguir ilustra a implementação desse tipo de tarefa, onde se considera a entrada válida somente se ela for um número inteiro positivo: // Verifica se o valor digitado é um inteiro positivo n = input("digite um valor inteiro positivo: "); while n <> int(n) n <= 0 printf("valor inválido.") n = input("digite um valor inteiro positivo: "); O corpo do comando while será repetido enquanto o usuário insistir em digitar um número que não seja inteiro, ou que seja negativo ou nulo. Portanto, garante-se que, ao final do while, 2

3 o valor de n será um número inteiro positivo. Note que, se o usuário digitar um valor válido inicialmente, o corpo do comando while não será executado nenhuma vez. 2.3 Exemplo 3 - Controle de Qualidade Uma indústria de tubos de aço possui, em sua linha de produção, uma máquina para cortar tubos. A máquina de corte é controlada por um programa, que verifica se os comprimentos dos tubos cortados estão dentro de uma determinada margem de erro, em relação ao comprimento desejado. Os tubos com comprimento inadequado são rejeitados. No início da operação da máquina, são especificados o comprimento desejado para os tubos, a margem de erro aceitável e a quantidade de tubos necessária. A operação da máquina deve parar quando tiver sido obtido o número de tubos desejados, com comprimentos dentro da margem de erro especificada. Ao final da operação da máquina, o programa imprime o total de tubos cortados e o número de tubos rejeitados, tal como mostrado no exemplo de execução do programa, a seguir. Controle de Qualidade de Corte de Tubos Comprimento de corte dos tubos: 10 Erro aceitável:.2 Número de tubos desejados: 4 Comprimento do tubo cortado: 10.1 Comprimento do tubo cortado: 9.7 Comprimento do tubo cortado: 9.9 Comprimento do tubo cortado: 10.3 Comprimento do tubo cortado: 10 Comprimento do tubo cortado: 10.2 Desligue a máquina. Total de tubos cortados = 6 Total de tubos rejeitados = 2 Como poderia ser implementado esse programa? A idéia é usar um loop, que deverá terminar quando for obtido o número de tubos desejados. No corpo do loop, devemos contar o número de tubos com comprimento válido, isto é, com comprimento dentro da margem de erro aceitável, em relação ao comprimento desejado. Essa idéia é implementada pelo programa a seguir. 3

4 clear; clc; // Controle de Qualidade de corte de tubos printf("controle de Qualidade de Corte de Tubos\n") printf("\n") lenp = input("comprimento de corte dos tubos: ") errp = input("erro aceitável: ") ntubos = input("número de tubos desejados: ") printf("\n") tubosok = 0 // quantidade de tubos com comprimento aceitável tottubos = 0 // quantidade total de tubos cortados while tubosok < ntubos len = input("comprimento do tubo cortado: ") err = abs(len - lenp) if err <= errp then tubosok = tubosok + 1 tottubos = tottubos + 1 printf("\n") printf("desligue a máquina.\n") printf("total de tubos cortados = %g\n", tottubos) printf("total de tubos rejeitados = %g\n", tottubos-ntubos) 4

5 3 Resolvo problemas Tarefa 1: Adivinhe! - 1 Qual é o menor número inteiro par que é divisível por 7 e cujo cubo é maior do que 4.000? Escreva um programa para calcular e imprimir esse número. O menor número par que é múltiplo de 7 e cujo cubo é maior do que é 28 Dica: A idéia é usar um loop, que seja repetido enquanto o número procurado n não for múltiplo de 2, ou não for múltiplo de 7, ou seu cubo for menor que Em cada passo, ou iteração do loop, o valor de n deve ser incrementado. É claro que, antes iniciar o loop, deve ser atribuído a n um valor apropriado. Existem quatro possíveis alternativas para implementar a solução: 1. Atribuir inicialmente a n o valor 1, e incrementar n de 1 em cada passo do loop. Neste caso, qual deve ser a condição de teste do loop? 2. Atribuir inicialmente a n o valor 2, e incrementar n de 2 emcada passo do loop. Neste caso, qual deve ser a condição de teste do loop? Note que essa solução é mais eficiente do que a soluçãoanterior, pois o número de iterações do loop é a metade que na solução anterior. Além disso, a condição de teste do loop envolve um teste a menos. 3. Atribuir inicialmente a n o valor 7, e incrementar n de 7 em cada passo do loop. Neste caso, qual deve ser a condição de teste do loop? Essa solução é mais eficiente do que as duas anteriores. Porque? 4. Existe uma alternativa ainda mais eficiente do que as 3 anteriores. Qual é ela? Qual deve ser o valor inicial de n? De quanto n deve ser incrementado, em cada passo do loop? Qual deve sera condição de teste? Quão mais eficiente é esta solução, em relação à primeira? Veja que mesmo um programa bastante simples como este admite diversas soluções alternativas, com diferentes tempos de execução. É claro sempre almejamos a solução mais eficiente possível. Portanto, pense bem sobre a solução de cada problema, antes de implementá-lo. Tarefa 2: Adivinhe! - 2 Vamos agora generalizar o programa da tarefa anterior. Escreva um programa que leia 4 valores inteiros positivos a, b, c e k e encontre o menor número inteiro n que seja divisível por a e por b e tal que n k > c. Cálculo do menor n tal que n a, n b e n^k > c a = 2 b = 7 c = 4000 k = 3 n = 28 5

6 Dica: Qual seria o valor apropriado para inicialização de n, antes do loop? De quanto n deve ser incrementado em cada passo do loop? Lembre-se que o máximo divisor comum de dois números inteiros a e b mdc(a, b) pode ser calculado pelo algoritmo de Euclides. O mínimo múltiplo comum de a e b mmc(a, b) pode ser calculado como: mmc(a, b) = aḃ mdc(a, b) Muitas vezes, um problema específico, tal como o do exemplo??, pode ser generalizado. A solução do problema mais geral nos permite obter resposta para vários problemas particulares, que são instâncias do problema mais geral. Essa capacidade de generalização, ou abstração, é um dos conceitos mais fundamentais em computação e na ciência em geral. Então, ao resolver um problema, pense sempre se ele pode ser generalizado, pois a solução do problema mais geral possivelmente poderá ser útil como parte da solução de outros problemas. 6

7 Tarefa 3: Collatz A conjectura de Collatz, também conhecida como conjectura 3n+1, foi proposta pelo matemático Lothar Collatz, em Para explicar essa conjectura, considere o seguinte processo que descreve como obter a Sequência de Collatz para um número inteiro n > 0: Se n for par, divida n por 2, obto n/2; se n for ímpar, multiplique n por 3 e some 1, obto 3n + 1. Repita esse processo para o valor obtido, e assim sucessivamente, até que o valor obtido seja 1. Exemplos: n sequência de Collatz para n 5 5, 16, 8, 4, 2, , 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, , 6, 3, 10, 5, 16, 8, 4, 2, 1 A conjectura é que esse processo de cálculo sempre termina: sempre se obtém, eventualmente, o valor 1, para qualquer inteiro n > 0 dado inicialmente. Tal conjectura nunca foi provada, mas também nunca se encontrou um exemplo em contrário. Escreva um programa que leia um valor inteiro n > 0 e imprima a sequência de Collatz para n, assim como o comprimento dessa sequência. O programa deve verificar se o valor de entrada é válido, solicitando um novo valor caso não o seja. Sequência de Collatz Digite um número inteiro > 0: 11 Collatz: Comprimento da sequência = 15 Dicas: 1. Uma maneira de implementar o programa é usar um vetor para armazenar a sequência de Collatz. Esse vetor deve conter, inicialmente, apenas o número digitado. Cada novo número da sequência é incluído nesse vetor, tal como mostrado no exemplo??. 2. Para imprimir a sequência no formato acima, use os comandos a seguir, onde seq é o vetor que contém a sequência gerada e i é o número de elementos dessa sequência: printf("\ncollatz: ") printf(strcat(repmat("%g ",1,i)),seq) O significado das funções repmat e strcat é explicado a seguir (veja mais detalhes no Help do Scilab): função descrição exemplo repmat( A,m,n) retorna uma matriz que consiste de m n cópias da matriz A repmat([1 2], 2, 3) = [ ; ] strcat(s) concatena todos os strings na matriz de strings S strcat(["ab" "cd"] = "abcd" strcat(["ab" "cd"; "ef" "gh"]) = "abefcdgh" 7

8 Tarefa 4: Controle de Qualidade Sua tarefa agora é modificar o programa apresentado no exemplo?? de modo que, ao final do programa, sejam também impressos os seguintes dados: 1. o comprimento de cada um dos tubos aceitos, 2. o erro médio de corte de todos os tubos, e 3. o maior erro de corte dos tubos. Controle de Qualidade de Corte de Tubos Comprimento de corte dos tubos: 10 Erro aceitável:.2 Número de tubos desejados: 4 Comprimento do tubo cortado: 10.1 Comprimento do tubo cortado: 9.7 Comprimento do tubo cortado: 10.3 Comprimento do tubo cortado: 10 Comprimento do tubo cortado: 10.2 Comprimento do tubo cortado: 9.9 Desligue a máquina. Total de tubos cortados = 6 Total de tubos rejeitados = 2 Tubos aceitos: Erro médio = Maior erro = 0.3 8

Comandos de repetição while

Comandos de repetição while Programação de Computadores I UFOP DECOM 2013 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,

Leia mais

Comandos de repetição while

Comandos de repetição while Programação de Computadores I UFOP DECOM 2014 1 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,

Leia mais

Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM Programação de Computadores I - BCC701

Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM Programação de Computadores I - BCC701 Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM Programação de Computadores I - BCC701 www.decom.ufop.br/red 2017-1 Aula Teórica 05 Laços 1 Conteúdos da Aula Instrução de Repetição

Leia mais

Escreva um programa que imprima todos os números impares do intervalo fechado de 1 a 100.

Escreva um programa que imprima todos os números impares do intervalo fechado de 1 a 100. Exercício 1 PROGRAMAÇÃO DE COMPUTADORES I - BCC701 Aula Prática 07 Escreva um programa que imprima todos os números impares do intervalo fechado de 1 a 100. Execução: 1 3 5 7 9 11 13 15 17 19 21 23 25

Leia mais

Comandos de Desvio 1

Comandos de Desvio 1 Programação de Computadores I UFOP DECOM 2014 1 Aula prática 3 Comandos de Desvio 1 Sumário Resumo Nesta aula você irá resolver problemas que requerem uma decisão com base em um teste, ou condição. Para

Leia mais

Aula Teórica 06. Material Didático Proposto. Conteúdos da Aula. Estruturas de Repetição Exercícios

Aula Teórica 06. Material Didático Proposto. Conteúdos da Aula. Estruturas de Repetição Exercícios Universidade Federal de Ouro Preto -UFOP Departamento de Computação - DECOM Comissão da Disciplina Programação de Computadores I CDPCI Programação de Computadores I BCC701 2014/1 Aula Teórica 06 Material

Leia mais

Estrutura de Repetição

Estrutura de Repetição Programação de Computadores I - BCC 701 Lista de Exercícios 2 - Módulo 2 Estrutura de Repetição Exercício 01 Considere o somatório com n termos definido a seguir: n k (n 1) (k + 1) (n 2) (n 3) (n 4) +

Leia mais

Universidade Federal de Mato Grosso do Sul. Lista de Exercícios 2

Universidade Federal de Mato Grosso do Sul. Lista de Exercícios 2 Universidade Federal de Mato Grosso do Sul Facom - Faculdade de Computação Programação de Computadores I - Engenharia Ambiental Lista de Exercícios 2 Exercícios usando if 1. Escreva um programa que leia

Leia mais

Exercícios Repetição

Exercícios Repetição Curso de Engenharia de Controle e Automação Disciplina: Informática para a Automação Professor: Marcelo Cendron Exercícios Repetição 1.1 8.3 Exercícios 1. Faça um programa utilizando o comando while, que

Leia mais

Aula prática 4. Comandos de Desvio. Resumo. 1 Comandos de Desvio Condições mutuamente exclusivas... 2

Aula prática 4. Comandos de Desvio. Resumo. 1 Comandos de Desvio Condições mutuamente exclusivas... 2 Programação de Computadores I UFOP DECOM 2013 2 Aula prática 4 Comandos de Desvio Resumo Nesta aula você irá resolver problemas que requerem uma decisão com base em um teste, ou condição. Para implementar

Leia mais

Fixação de conteúdo teórico

Fixação de conteúdo teórico BCC701 Programação de Computadores (2019-01) Universidade Federal de Ouro Preto - MG Departamento de Computação - DECOM http://www.decom.ufop.br/bcc701 [Aula 12] Estruturas de Repetição (prática 2) Fixação

Leia mais

Aula 15: Repetição (Parte 3)

Aula 15: Repetição (Parte 3) Aula 15: Repetição (Parte 3) 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

Leia mais

Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM Programação de Computadores I - BCC701

Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM Programação de Computadores I - BCC701 Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM Programação de Computadores I - BCC701 www.decom.ufop.br/red AULA TEÓRICA 02 1 Prof. Marcelo Luiz Silva Red CONTEÚDOS DA AULA

Leia mais

Comandos de Desvio 2

Comandos de Desvio 2 Programação de Computadores I UFOP DECOM 2014 1 Aula prática 4 Comandos de Desvio 2 Resumo Nesta aula você irá resolver mais problemas que requerem uma decisão com base em um teste, ou condição. Para implementar

Leia mais

Introdução a programação Comandos de repetição

Introdução a programação Comandos de repetição Instituto Federal de Minas Gerais Campus Ponte Nova Introdução a programação Comandos de repetição Professor: Saulo Henrique Cabral Silva Laços de repetição 2 Vamos começar com um exercício Imprimir os

Leia mais

Resumindo As estruturas de repetição são utilizadas quando necessitamos realizar comandos diversas vezes

Resumindo As estruturas de repetição são utilizadas quando necessitamos realizar comandos diversas vezes Desenvolvimento de Software I - 1 Aula 07 Estruturas de Repetição / Dialog Result 1. Definição Em ciência da computação, uma estrutura de repetição é uma estrutura de desvio do fluxo de controle presente

Leia mais

Aula 15 - Estruturas de Repetição (p3)

Aula 15 - Estruturas de Repetição (p3) BCC701- Programação de Computadores I Aula 15 - Estruturas de Repetição (p3) Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM http://www.decom.ufop.br/bcc701 BCC701-2019-01

Leia mais

PROGRAMAÇÃO DE COMPUTADORES I BCC Aula Prática 15

PROGRAMAÇÃO DE COMPUTADORES I BCC Aula Prática 15 Exercício 1 PROGRAMAÇÃO DE COMPUTADORES I BCC701 2017-1 Aula Prática 15 No jogo Inventei, cada posição do tabuleiro é representada por suas coordenadas x e y e contém um número. O tabuleiro pode ser representado

Leia mais

Aula prática 4. Comandos de Desvio. Resumo. 1 Comandos de Desvio Condições mutuamente exclusivas... 2

Aula prática 4. Comandos de Desvio. Resumo. 1 Comandos de Desvio Condições mutuamente exclusivas... 2 Programação de Computadores I UFOP DECOM 2013 2 Aula prática 4 Comandos de Desvio Resumo Nesta aula você irá resolver problemas que requerem uma decisão com base em um teste, ou condição. Para implementar

Leia mais

Programação Procedimental

Programação Procedimental Programação Procedimental Maria Adriana Vidigal de Lima Universidade Federal de Uberlândia - 2013 1 Escrita de Algoritmos 1.1 Técnicas de Programação e Algoritmos Na elaboração de programas maiores e complexos

Leia mais

Laços de repetição for, while, do-while

Laços de repetição for, while, do-while Computação Eletrônica Laços de repetição for, while, do-while Prof: Luciano Barbosa Estruturas de Repetição Imagine um programa que calcula a média de um aluno. Este programa é bastante simples, bastaria:

Leia mais

Prática 10 - Funções

Prática 10 - Funções Programação de Computadores I UFOP DECOM June 9, 2016 Prática 10 - Funções Abstract Nesta aula prática você vai aprender a definir e usar funções em um programa. Contents 1 Funções 1 1.1 Definição e chamada

Leia mais

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: estruturas de repetição While / Do While / For

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: estruturas de repetição While / Do While / For Universidade Federal de Uberlândia Faculdade de Computação Linguagem C: estruturas de repetição While / Do While / For Prof. Renato Pimentel 1 Estruturas de repetição O real poder dos computadores está

Leia mais

Python 3.x Estrutura de Repetição while

Python 3.x Estrutura de Repetição while Python 3.x Estrutura de Repetição while Introdução à Ciência da Computação Prof. Edison Ishikawa Sumário Atribuição Atualizando variáveis Iterações Revisitando o laço for Laço while Rastreando um programa

Leia mais

BCC701 Programação de Computadores I Lista de Exercícios 05: Funções Definidas pelo Usuário

BCC701 Programação de Computadores I Lista de Exercícios 05: Funções Definidas pelo Usuário BCC701 Programação de Computadores I 2018-02 Lista de Exercícios 05: Funções Definidas pelo Usuário http://www.decom.ufop.br/bcc701/ Questão 1. (2014-01) A distância entre dois pontos, A e B, no plano

Leia mais

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

Algoritmos e Técnicas de Programação. Professora: Luciana Faria Algoritmos e Técnicas de Programação Professora: Luciana Faria Estrutura de Repetição condicional Estrutura de repetição Nas aulas anteriores verificamos que a execução sequencial dos comandos da função

Leia mais

PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95

PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95 PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95 Exercícios de revisão Lista 01: a) Monte um mapa conceitual indicando as relações entre os seguintes conceitos, no contexto do assunto visto em aula:

Leia mais

Aula 14: Repetição (Parte 2)

Aula 14: Repetição (Parte 2) Aula 14: Repetição (Parte 2) 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 Laços de repetição Comando de repetição

Leia mais

Aula 16: Laços aninhados e desvios

Aula 16: Laços aninhados e desvios Aula 16: Laços aninhados e desvios 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 Comandos de Repetição (Parte

Leia mais

Comandos de Repetição

Comandos de Repetição Programação de Computadores I UFOP DECOM 2013 2 Exercícios de Revisão Comandos de Repetição Sumário 1 Testes de Compreensão 1 2 Exercícios de Programação 2 1 Testes de Compreensão 1 Determine o valor de

Leia mais

Material Didático Unificado.

Material Didático Unificado. Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM Comissão da Disciplina Programação de Computadores I CDPCI Programação de Computadores I BCC701 www.decom.ufop.br/bcc701 Material

Leia mais

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação Aula 5 Estruturas de Repetição Profa. Marina Gomes marinagomes@unipampa.edu.br 26/04/2017 Engenharia de Computação - Unipampa 1 Aula de Hoje Estrutura de repetição Comando for

Leia mais

AULA TEÓRICA 03 COMANDO CONDICIONAL

AULA TEÓRICA 03 COMANDO CONDICIONAL Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM BCC701 Programação de Computadores I www.decom.ufop.br/red 2017-1 AULA TEÓRICA 03 COMANDO CONDICIONAL 1 Programação Estruturada

Leia mais

ESTRUTURAS DE REPETIÇÃO - PARTE 1

ESTRUTURAS DE REPETIÇÃO - PARTE 1 AULA 15 ESTRUTURAS DE REPETIÇÃO - PARTE 1 15.1 O comando enquanto-faca- Considere o problema de escrever um algoritmo para ler um número inteiro positivo, n, e escrever todos os números inteiros de 1 a

Leia mais

Aula 7 Oficina de Programação Estruturas de Repetição no C. Profa. Elaine Faria UFU

Aula 7 Oficina de Programação Estruturas de Repetição no C. Profa. Elaine Faria UFU Aula 7 Oficina de Programação Estruturas de Repetição no C Profa. Elaine Faria UFU - 2017 Aula de Hoje Estruturas de repetição: do while while for Introdução Apresentar as estruturas de repetição do while,

Leia mais

Working 04 : Conceitos Básicos III

Working 04 : Conceitos Básicos III Universidade Federal do Espirito Santo Centro Tecnologico Working 04 : Conceitos Básicos III Objetivos: Dominar a construção de estruturas de repetição em C; Aperfeiçoar-se na resolução de problemas; Prazo

Leia mais

ESTRUTURAS DE CONTROLE ESTRUTURAS DE REPETIÇÃO

ESTRUTURAS DE CONTROLE ESTRUTURAS DE REPETIÇÃO ESTRUTURAS DE CONTROLE ESTRUTURAS DE REPETIÇÃO Baseado nos slides de autoria de Rosely Sanches Estruturas de Controle ESTRUTURA SEQUENCIAL ESTRUTURAS CONDICIONAIS Estrutura Condicional Simples Estrutura

Leia mais

1ª Lista de Exercícios

1ª Lista de Exercícios Universidade Federal do Rio de Janeiro Data: 26/04/05 Disciplina: Computação I 1ª Lista de Exercícios 1) Faça um programa, em pseudo-código, que peça ao usuário que informe n números reais e então calcule

Leia mais

Fixação de conteúdo teórico

Fixação de conteúdo teórico BCC701 Programação de Computadores (2019-01) Universidade Federal de Ouro Preto - MG Departamento de Computação - DECOM http://www.decom.ufop.br/bcc701 [Aula 06] Estrutura de Decisão (prática 1) Fixação

Leia mais

1 TECNOLOGIA ELEMENTAR CAPÍTULO 4 E-books PCNA. Vol. 1 TECNOLOGIA ELEMENTAR CAPÍTULO 4 ROTINAS DE REPETIÇÃO. Página 1

1 TECNOLOGIA ELEMENTAR CAPÍTULO 4 E-books PCNA. Vol. 1 TECNOLOGIA ELEMENTAR CAPÍTULO 4 ROTINAS DE REPETIÇÃO. Página 1 1 TECNOLOGIA ELEMENTAR CAPÍTULO 4 E-books PCNA Vol. 1 TECNOLOGIA ELEMENTAR CAPÍTULO 4 ROTINAS DE REPETIÇÃO Página 1 2 TECNOLOGIA ELEMENTAR CAPÍTULO 4 SUMÁRIO Apresentação -----------------------------------------------------------

Leia mais

Breve Introdução à Programação em Scilab 6.0

Breve Introdução à Programação em Scilab 6.0 Universidade Federal do Paraná UFPR Departamento de Engenharia Química Breve Introdução à Programação em Scilab 6.0 Prof. Éliton Fontana 2018/2 2 Conteúdo 1 Conceitos Básicos 4 2 Operando Vetores e Matrizes

Leia mais

Variáveis, Atribuição, Entrada e Saída

Variáveis, Atribuição, Entrada e Saída Programação de Computadores I UFOP DECOM 2013 2 Aula prática 2 Variáveis, Atribuição, Entrada e Saída Resumo Nesta aula o aluno deverá desenvolver programas simples para resolver problemas de cálculo usando

Leia mais

Programação de Computadores I BCC701 Aula Teórica 08 Exercícios

Programação de Computadores I BCC701 Aula Teórica 08 Exercícios Programação de Computadores I BCC701 Aula Teórica 08 Exercícios 2017-2 Exercício 1 Escrever um programa que, dado um número de conta corrente com três dígitos, retorne o seu dígito verificador, que é calculado

Leia mais

Estruturas de Repetição

Estruturas de Repetição Algoritmos e Estruturas de Dados I (DCC/003) Estruturas de Repetição Aula Tópico 4 (while, for) 1 Problema 10 Suponha que soma (+) e subtração (-) são as únicas operações disponíveis em C. Dados dois números

Leia mais

Material Didático Proposto

Material Didático Proposto Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM Comissão para Coordenação das Atividades Pedagógicas da Disciplina BCC701 CAP-BCC701 www.decom.ufop.br/bcc701 2014-1 Material

Leia mais

Programação Estruturada Comandos Condicionais (Decisão) Operadores Relacionais

Programação Estruturada Comandos Condicionais (Decisão) Operadores Relacionais Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM Comissão para Coordenação das Atividades Pedagógicas da Disciplina BCC701 CAP-BCC701 www.decom.ufop.br/bcc701 2014-1 Material

Leia mais

Algoritmos e Programação (While Do While - Do) Prof. Me. Adelson Felipe Dias Nogueira

Algoritmos e Programação (While Do While - Do) Prof. Me. Adelson Felipe Dias Nogueira Algoritmos e Programação (While Do While - Do) Prof. Me. Adelson Felipe Dias Nogueira E-mail: adelson.nogueira@pitagoras.com.br Aplicação: 1) Como imprimir os três primeiros número ímpares? Aplicação:

Leia mais

Waldemar Celes e Roberto Ierusalimschy. 29 de Fevereiro de 2012

Waldemar Celes e Roberto Ierusalimschy. 29 de Fevereiro de 2012 Capítulo 5: Repetições Waldemar Celes e Roberto Ierusalimschy 29 de Fevereiro de 2012 1 Construção de laços Uma das principais características de um computador é sua capacidade para realizar cálculo e

Leia mais

ESTRUTURAS DE CONTROLE ESTRUTURAS DE REPETIÇÃO

ESTRUTURAS DE CONTROLE ESTRUTURAS DE REPETIÇÃO ESTRUTURAS DE CONTROLE ESTRUTURAS DE REPETIÇÃO Baseado nos slides de autoria de Rosely Sanches Estruturas de Controle ESTRUTURA SEQUENCIAL ESTRUTURAS CONDICIONAIS Estrutura Condicional Simples Estrutura

Leia mais

Estruturas de Repetição

Estruturas de Repetição Estruturas de Repetição Lista de Exercícios - 04 Programação de Computadores I Professor: Edwar Saliba Júnior Estruturas de Repetição O que são e para que servem? São comandos que são utilizados na programação

Leia mais

LINGUAGEM C: COMANDOS DE REPETIÇÃO

LINGUAGEM C: COMANDOS DE REPETIÇÃO LINGUAGEM C: COMANDOS DE REPETIÇÃO Prof. André Backes ESTRUTURAS DE REPETIÇÃO Uma estrutura de repetição permite que uma sequência de comandos seja executada repetidamente, enquanto determinadas condições

Leia mais

E X E R C Í C I O S 01. Sobre o comando CASO, marque as alternativas como verdadeira (V) ou falsa (F):

E X E R C Í C I O S 01. Sobre o comando CASO, marque as alternativas como verdadeira (V) ou falsa (F): Aula com exercícios de questões fechadas, simulando a segunda prova oficial. É importante chegar neste ponto sabendo desenvolver programas, pois uma questão fechada de algoritmos requer conhecimento de

Leia mais

A resposta apresentada em aula, no quadro, (em Chapin e/ou Português Estruturado) está correta?

A resposta apresentada em aula, no quadro, (em Chapin e/ou Português Estruturado) está correta? 23 Algoritmos com Repetição Nos exemplos e exercícios vistos até agora, sempre foi possível resolver os problemas com uma sequência de instruções que eram executadas apenas uma vez. Existem três estruturas

Leia mais

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação Aula 4 Estruturas de Condição Profa. Marina Gomes marinagomes@unipampa.edu.br 06/04/2017 Engenharia de Computação - Unipampa 1 Aula de Hoje Estrutura condicional simples Utilização

Leia mais

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição 1 Comando while Deseja-se calcular o valor de: 1 + 2 + 3 +... + N. Observação: não sabemos, a priori, quantos termos

Leia mais

Aula 15 Variáveis Indexadas (vetores)

Aula 15 Variáveis Indexadas (vetores) Aula 15 Variáveis Indexadas (vetores) Além das variáveis normais já conhecidas, podemos ter também variáveis indexadas. Tais variáveis são referenciadas por um nome e um índice. Especialmente úteis para

Leia mais

Estruturas de Repetição

Estruturas de Repetição Estruturas de Repetição Introdução As estruturas de repetição, permitem executar mais de uma vez um mesmo trecho de código. Trata-se de uma forma de executar blocos de comandos somente sob determinadas

Leia mais

Aula 5 - Mais C e repetição

Aula 5 - Mais C e repetição Vamos nesta aula mostrar mais detalhes e a forma geral dos comandos C vistos até agora. O comando de atribuição A forma geral do comando de atribuição é: = A expressão

Leia mais

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO MARANHÃO - CAMPUS CAXIAS. Aluno (s): 01 ATIVIDADE. Revisão de Conteúdo

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO MARANHÃO - CAMPUS CAXIAS. Aluno (s): 01 ATIVIDADE. Revisão de Conteúdo INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO MARANHÃO - CAMPUS CAXIAS DISCIPLINA: Lab. de Programação PROF: MSc. Flávio Barros PERÍODO: 2 DATA: Aluno (s): 01 ATIVIDADE / / Revisão de Conteúdo

Leia mais

Comandos de desvio de fluxo. Expressões lógicas.

Comandos de desvio de fluxo. Expressões lógicas. BCC701 Programação de Computadores I Universidade Federal de Ouro Preto Departamento de Ciência da Computação www.decom.ufop.br/bcc701 2012/01 Semana 03 Comandos de desvio de fluxo. Expressões lógicas.

Leia mais

Variáveis, Atribuição, Entrada e Saída

Variáveis, Atribuição, Entrada e Saída Programação de Computadores I UFOP DECOM 2013 2 Aula prática 2 Variáveis, Atribuição, Entrada e Saída Resumo Nesta aula o aluno deverá desenvolver programas simples para resolver problemas de cálculo usando

Leia mais

Agenda. Programação estruturada. Sequência. Decisão: Desvio de fluxo INTRODUÇÃO. Expressões lógicas.

Agenda. Programação estruturada. Sequência. Decisão: Desvio de fluxo INTRODUÇÃO. Expressões lógicas. Programação de Computadores I Universidade Federal de Ouro Preto Departamento de Ciência da Computação www.decom.ufop.br/bcc701 Semana 03.. Material Didático Unificado. Aga ; ; 1 2 Programação estruturada

Leia mais

Estruturas de Repetição Comando while do... done

Estruturas de Repetição Comando while do... done Estruturas de Repetição Comando while do... done Programação de Scripts Prof. Kleber Rezende Considerações Iniciais Quando não temos condições de determinar, de forma precisa, quantas vezes um determinado

Leia mais

Universidade Federal de Ouro Preto -UFOP Departamento de Computação - DECOM Programação de Computadores I BCC701. Aula Teórica 06

Universidade Federal de Ouro Preto -UFOP Departamento de Computação - DECOM Programação de Computadores I BCC701. Aula Teórica 06 Universidade Federal de Ouro Preto -UFOP Departamento de Computação - DECOM Programação de Computadores I BCC701 Aula Teórica 06 Material Didático Proposto 1 Conteúdos da Aula Instrução de Repetição Laços

Leia mais

para / for (com teste numérico) enquanto / while (com teste lógico no início) repita até que / do...while (com teste lógico no fim)

para / for (com teste numérico) enquanto / while (com teste lógico no início) repita até que / do...while (com teste lógico no fim) Algoritmos e Programação de Computadores1 Prof. Eduardo 1 1. ESTRUTURAS DE REPETIÇÃO Uma estrutura de repetição é utilizada para fazer com que um pedaço (trecho) do programa seja executado n vezes, ou

Leia mais

INF 1005 Programação I

INF 1005 Programação I INF 1005 Programação I Aula 07 Estruturas de Repetição Edirlei Soares de Lima Estruturas de Repetição Diversos problemas somente podem ser resolvidos numericamente por um computador

Leia mais

ESTRUTURAS DE CONTROLE - LAÇOS OU MALHAS DE REPETIÇÃO

ESTRUTURAS DE CONTROLE - LAÇOS OU MALHAS DE REPETIÇÃO ESTRUTURAS DE CONTROLE - LAÇOS OU MALHAS DE REPETIÇÃO Executa uma sequencia de comandos; nenhuma, uma ou várias vezes de acordo com uma condição, ou de acordo com uma variável de controle. 6.1 - REPETIÇÃO

Leia mais

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

Universidade Federal de Ouro Preto UFOP. Instituto de Ciências Exatas e Biológicas ICEB. Departamento de Computação DECOM PROGRAMAÇÃO DE COMPUTADORES I BCC701 2017-2 Aula Prática 05 Analise os códigos abaixo para o cálculo das médias aritméticas de dois ou mais números quaisquer. Média Aritmética de 2 Números n = 2; media

Leia mais

ALGORITMOS E APLICAÇÕES. FATEC IPIRANGA ADS Noturno 1º semestre de 2012 Prof. Luiz Carlos de Jesus Junior

ALGORITMOS E APLICAÇÕES. FATEC IPIRANGA ADS Noturno 1º semestre de 2012 Prof. Luiz Carlos de Jesus Junior ALGORITMOS E APLICAÇÕES FATEC IPIRANGA ADS Noturno 1º semestre de 2012 Prof. Luiz Carlos de Jesus Junior Formato Básico do Pseudocódigo Tipos de dados O VisuAlg prevê quatro tipos de dados: inteiro, real,

Leia mais

Aula Teórica 03. Comandos Condicionais (Decisão)

Aula Teórica 03. Comandos Condicionais (Decisão) Aula Teórica 03 Comandos Condicionais (Decisão) Semana 03 Material Didático Proposto 1 Conteúdos da Aula Programação Estruturada Comandos Condicionais (Decisão) Operadores Relacionais 2 Programação Estruturada

Leia mais

Material Didático Unificado. Variáveis correspondem a nomes para endereços de memória que são gerenciados pelo Scilab.

Material Didático Unificado. Variáveis correspondem a nomes para endereços de memória que são gerenciados pelo Scilab. Universidade Federal de Ouro Preto -UFOP Departamento de Computação - DECOM Comissão da Disciplina Programação de Computadores I CDPCI Programação de Computadores I BCC701 www.decom.ufop.br/bcc701 Material

Leia mais

Oficina de Python Prof. Me. José Carlos Perini

Oficina de Python Prof. Me. José Carlos Perini Oficina de Python Prof. Me. José Carlos Perini Prof. José Carlos Perini Formação em Análise de Sistemas Univ. S. Francisco Pós em Administração Universidade S. Francisco Mestrado em Ciência da Computação

Leia mais

Material Didático Unificado.

Material Didático Unificado. Universidade Federal de Ouro Preto -UFOP Departamento de Computação - DECOM Comissão da Disciplina Programação de Computadores I CDPCI Programação de Computadores I BCC701 www.decom.ufop.br/bcc701 Material

Leia mais

Exercícios: Vetores e Matrizes

Exercícios: Vetores e Matrizes Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C Exercícios: Vetores e Matrizes 1 Vetores 1. Faça um programa que possua um vetor

Leia mais

Introdução à Programação. Estruturas de Repetição

Introdução à Programação. Estruturas de Repetição Introdução à Programação Estruturas de Repetição Repetição de Comandos i 0 int somatorio(int n) { int soma = 0; int i = 0; soma = soma + i; i++; soma = soma + i; i++; soma = soma + i;... n i Faz esta seqüência

Leia mais

Aula 10: Manipulação do fluxo de laços

Aula 10: Manipulação do fluxo de laços Aula 10: Manipulação do fluxo de laços Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Departamento de Computação UFOP Aula Anterior Laços aninhados Exemplos

Leia mais

Linguagem C Estruturas de Repetição

Linguagem C Estruturas de Repetição Linguagem C Estruturas de Repetição Instituto Federal de Educação, Ciência e Tecnologia do Triângulo Mineiro Prof. Edwar Saliba Júnior Janeiro de 2018 Unidade 07 Linguagem C Estruturas de Repetição 1/18

Leia mais

Universidade Veiga de Almeida Algoritmos e Linguagem I

Universidade Veiga de Almeida Algoritmos e Linguagem I Aula 9 Conteúdo: 12. Estruturas de repetição 12.1. Laços contados 12.2. Laços condicionais 13. Estruturas de controle encadeadas ou aninhadas 12. Estruturas de Repetição São muito comuns as situações em

Leia mais

Recursividade. Estrutura de Dados. Prof. Kleber Rezende

Recursividade. Estrutura de Dados. Prof. Kleber Rezende Recursividade Estrutura de Dados Prof. Kleber Rezende Considerações Iniciais Em aulas anteriores fizemos uma função que permite calcular o fatorial de um número. Naquela função, a cada nova iteração o

Leia mais

Universidade Federal de Uberlândia Faculdade de Computação. Estruturas de repetição

Universidade Federal de Uberlândia Faculdade de Computação. Estruturas de repetição Universidade Federal de Uberlândia Faculdade de Computação Estruturas de repetição Prof. Renato Pimentel 1 Estruturas de repetição Utilização: Trecho de um algoritmo precisa ser executado mais de uma vez:

Leia mais

PDA - Repetição. Estruturas de repetição. Slides adaptação de Deise Saccol

PDA - Repetição. Estruturas de repetição. Slides adaptação de Deise Saccol PDA - Repetição Estruturas de repetição Slides adaptação de Deise Saccol 1 Existem situações em que o processamento de um valor uma única vez não é suficiente para resolver o problema. Quando isto ocorre,

Leia mais

Introdução à Ciência da Computação

Introdução à Ciência da Computação Introdução à Ciência da Computação Introdução à Linguagem C: Parte II Prof. Ricardo J. G. B. Campello Sumário Seleção Simples Seleção Composta Seleção Encadeada Seleção de Múltipla Escolha Repetição com

Leia mais

Introdução à Computação - aulas 01 e 02 -

Introdução à Computação - aulas 01 e 02 - MAC2166 Introdução à Computação - aulas 01 e 02 - Mauro Cesar Bernardes 25/Fevereiro/2014 Agenda Instalação do Python Python Shell Variáveis Operadores relacionais Operadores numéricos Comando de saída

Leia mais

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação Aula 7 Vetores Profa. Marina Gomes marinagomes@unipampa.edu.br 19/05/2017 Engenharia de Computação - Unipampa 1 Motivação Problema: Leia as notas de uma turma de cinco estudantes

Leia mais

BCC701 Programação de Computadores I Lista de Exercícios 04: Funções Definidas pelo Usuário

BCC701 Programação de Computadores I Lista de Exercícios 04: Funções Definidas pelo Usuário BCC701 Programação de Computadores I 2018-02 Lista de Exercícios 04: Funções Definidas pelo Usuário http://www.decom.ufop.br/bcc701/ Questão 1. (2014-01) A distância entre dois pontos, A e B, no plano

Leia mais

Algoritmo. Prof. Anderson Almeida Ferreira. Agradeço ao prof. Guilherme Tavares de Assis por fornecer slides que fazem parte desta apresentação

Algoritmo. Prof. Anderson Almeida Ferreira. Agradeço ao prof. Guilherme Tavares de Assis por fornecer slides que fazem parte desta apresentação 1 Algoritmo Prof. Anderson Almeida Ferreira Agradeço ao prof. Guilherme Tavares de Assis por fornecer slides que fazem parte desta apresentação Desenvolvimento de programas 2 Análise do problema Desenvolvimento

Leia mais

Oficina de Python Prof. Me. José Carlos Perini

Oficina de Python Prof. Me. José Carlos Perini Oficina de Python Prof. Me. José Carlos Perini Prof. José Carlos Perini Formação em Análise de Sistemas Univ. S. Francisco Pós em Administração Universidade S. Francisco Mestrado em Ciência da Computação

Leia mais

Introdução à Engenharia ENG1000

Introdução à Engenharia ENG1000 Introdução à Engenharia ENG1000 Aula 11 Estruturas de Repetição 2018.1 Prof. Augusto Baffa Estruturas de Repetição Diversos problemas somente podem ser resolvidos numericamente

Leia mais

Curso Básico de Programação Aula 11. Revisão Aula Anterior Laços de Repetição While; Do-While; For.

Curso Básico de Programação Aula 11. Revisão Aula Anterior Laços de Repetição While; Do-While; For. Curso Básico de Programação Aula 11 Revisão Aula Anterior Laços de Repetição While; Do-While; For. Introdução à Linguagem C Laços de Repetição While Do-While For while () { } do {

Leia mais

Programação Estruturada

Programação Estruturada Algoritmos e Técnicas - Estruturas de Controle de Fluxo - Programação Estruturada Programação estruturada é a técnica de construir e formular algoritmos de uma forma sistemática. Utilizada para apresentar

Leia mais

Computação eletrônica: Estruturas de repetição

Computação eletrônica: Estruturas de repetição Computação eletrônica: Estruturas de repetição Gurvan Huiban ghuiban@cin.ufpe.br Plano de aula 1 2 A estrutura while 3 A estrutura do-while 4 Observações Estruturas de repetição Repetir a execução de um

Leia mais

Algoritmos e Estruturas de Dados I. Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3

Algoritmos e Estruturas de Dados I. Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3 Algoritmos e Estruturas de Dados I Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3 Exercício - Seleção Escreva um algoritmo que leia o ano, mês e dia que uma pessoa nasceu

Leia mais

Programação de Computadores I BCC Teórica 15

Programação de Computadores I BCC Teórica 15 Programação de Computadores I BCC 701 2017-1 Teórica 15 TAREFA 1: O Sr. Apu é proprietário de uma vedora de acessórios para computador, a Kwik E' Mart. Esta empresa possui 4 lojas e o Sr. Apu mantém um

Leia mais

Estruturas de Repetição

Estruturas de Repetição Estruturas de Repetição Programação de Scripts Prof. Kleber Rezende Considerações Iniciais Uma das principais características que consolidaram o sucesso na utilização dos computadores para a resolução

Leia mais

BCC701 Programação de Computadores I Lista de Exercícios 04: Funções Definidas pelo Usuário

BCC701 Programação de Computadores I Lista de Exercícios 04: Funções Definidas pelo Usuário BCC701 Programação de Computadores I 2018-01 Lista de Exercícios 04: Funções Definidas pelo Usuário http://www.decom.ufop.br/bcc701/ Questão 1. (2014-01) A distância entre dois pontos, A e B, no plano

Leia mais