Estruturas de Repetição



Documentos relacionados
Estruturas de Repetição

Estruturas de Repetição

Linguagem e Técnicas de Programação I Operadores, expressões e funções. Prof. MSc. Hugo Souza Material desenvolvido por: Profa.

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

José Romildo Malaquias

CURSO BÁSICO DE PROGRAMAÇÃO AULA 7

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

Estruturas de Repetição

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

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

JAVA NETBEANS PGOO Prof. Daniela Pires Conteúdo

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

INF 1005 Programação I

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

Exercícios de Java Aula 19

Estrutura de Repetição Simples

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

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

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período

Prof. Esp. Adriano Carvalho

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br

Introdução a Algoritmos Parte 04

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

Estruturas de Repetição

INTRODUÇÃO AO JAVA PARA PROGRAMADORES C

Algoritmos com VisuAlg

20 Caracteres - Tipo char

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

7. Estrutura de Decisão

MC102 Algoritmos e Programação de Computadores 2ª Aula Programa, entrada e saída de dados

IFTO LÓGICA DE PROGRAMAÇÃO AULA 01

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

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

Introdução a Computação

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

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

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

Programação de Computadores I Fluxogramas PROFESSORA CINTIA CAETANO

Dadas a base e a altura de um triangulo, determinar sua área.

13 Números Reais - Tipo float

Comandos Sequenciais if else, e Switch

9 Comandos condicionais

Algoritmos e Estrutura de Dados. Introdução a Linguagem Python (Parte I) Prof. Tiago A. E. Ferreira

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:

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

Cálculo Numérico Aula 1: Computação numérica. Tipos de Erros. Aritmética de ponto flutuante

Trabalho de laboratório Avaliação semestral Exame final MÉDIA PONDERADA CONCEITO

Conceitos básicos da linguagem C

Exercícios de estrutura de Repetição

Algoritmos de Busca em Tabelas

Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões

Erros. Número Aproximado. Erros Absolutos erelativos. Erro Absoluto

Convertendo Algoritmos para a Linguagem C

ALGORITMOS E FLUXOGRAMAS

Na disciplina de Cálculo Numérico, vamos trabalhar com a linguagem C++ e o compilador que vamos usar é o Dev C++.

Introdução a Linguagem C

e à Linguagem de Programação Python

Curso de Programação Computadores

ESTRUTURA CONDICIONAL

2. Representação Numérica

17 - Funções e Procedimentos em C Programação Modular

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

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO UFRPE

MC-102 Aula 17 Strings e Matrizes

Linguagem C. Programação Estruturada. Funções Matemáticas. Prof. Luis Nícolas de Amorim Trigo

Estruturas de entrada e saída

Aula 1 Tipo Abstrato de Dados

Algoritmos Computacionais ( Programas )

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

ALGORITMOS. Supervisão: Prof. Dr.º Denivaldo Lopes

Componentes da linguagem C++

Faculdade de Computação - UFMS

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

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

AULA 12 FUNÇÕES Disciplina: Algoritmos e POO Professora: Alba Lopes alba.lopes@ifrn.edu.br

9.1.2 Laços Controlados por Entrada: Contador

Programação de Computadores I. Ponteiros

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

Universidade Federal de Minas Gerais Instituto de Ciências Agrárias

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 3 Estruturas de Controle Profa Susana M Iglesias

Programação Básica em Arduino Aula 2

Computação e Processamento de Dados CPD INF400

Programação de Computadores I. Linguagem C Vetores

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período

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

2 echo "PHP e outros.";

15 a Aula Subprogramação /Subalgoritmos Função e Procedimento

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

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto

IFTO LÓGICA DE PROGRAMAÇÃO AULA 05

Matemática - UEL Compilada em 18 de Março de Prof. Ulysses Sodré Matemática Essencial:

Curso de C para Engenharias

Linguagem C Funções definidas pelo usuário. Lógica de Programação

Organização e Arquitetura de Computadores I

1. PROLOGO ==========

11 a Aula ESTRUTURAS DE REPETIÇÃO

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

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

Transcrição:

Estruturas de Repetição Lista de Exercícios - 04 Linguagem e Técnicas de Programação 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 quando se deseja repetir, determinada parte do código, mais de uma vez. Ou seja, ao invés de escrevermos o mesmo código duas ou mais vezes, utilizamos uma estrutura de repetição. Exemplo: Queremos imprimir os números inteiros de 1 a 10 no vídeo do computador. a) Sem estrutura de repetição escreva 1 escreva 2 escreva 3 escreva 4 escreva 5 escreva 6 escreva 7 escreva 8 escreva 9 escreva 10 printf( 1 ); printf( 2 ); printf( 3 ); printf( 4 ); printf( 5 ); printf( 6 ); printf( 7 ); printf( 8 ); printf( 9 ); printf( 10 );

b) Com estrutura de repetição PARA declare Cont : inteiro para Cont 1 até 10 passo 1 faça escreva Cont para int cont; for(cont = 1; cont <= 10; cont++){ printf( %d, cont); c) Com estrutura de repetição ENQUANTO declare Cont : inteiro Cont 1 enquanto (Cont <= 10) faça escreva Cont Cont Cont + 1 enquanto int cont; cont = 1; while(cont <= 10){ printf( %d, cont); cont = cont + 1;

d) Com estrutura de repetição REPITA 1 declare Cont : inteiro Cont 1 repita escreva Cont Cont Cont + 1 enquanto (Cont <= 10) int cont = 1; do{ printf( %d, cont); cont++; while(cont <= 10); Observação: Para este caso especificamente, não há muito problema em escrevermos o comando Escreva seguido de um número, dez vezes em nosso algoritmo. Por outro lado, imagine como ficaria nosso algoritmo, sem estrutura de repetição, se quiséssemos imprimir os números inteiros de 1 a 10.000. Nota: As estruturas de repetição também são conhecidas por: LOOPS ou LAÇOS. Para, Enquanto e Repita Vimos acima que existem três estruturas de repetição diferentes: a estrutura PARA, a estrutura ENQUANTO e a estrutura REPITA. Até aí tudo bem, mas, quando utilizarmos cada uma delas? Vejamos! 1 A estrutura apresentada é exclusiva para a Linguagem de Programação C e suas derivadas. No caso da Linguagem de Programação Pascal e suas derivadas, a estrutura passa a ser: REPITA... ATÉ (Condição). Há diferenças na forma de teste da condição, nestas estruturas.

1. Estrutura PARA Deverá ser utilizada quando se sabe previamente o número de repetições que deverão ser executadas. Exemplo: Imprima todos os números pares no intervalo de 1 a 30. Para este problema, já foi determinado o número de vezes que o loop será executado, ou seja, 30 vezes. Resolução do problema: declare Cont : inteiro para Cont 1 até 30 passo 1 faça se (Cont mod 2 = 0) então /* Testa se Cont possui valor par. */ escreva Cont para int cont; for(cont = 1; cont <= 30; cont++){ if(cont % 2 == 0){ printf( %d, cont); 2. Estrutura REPITA Deverá ser utilizada quando o loop tem que ser executado no mínimo uma vez e, a execução do loop mais de uma vez estará sujeita à condição imposta no final. Exemplo: Imprima o somatório de todos os números inteiros no intervalo de 0 (zero) a N. Onde N deve ser um número inteiro maior ou igual a zero e será escolhido pelo usuário. Para este problema, podemos considerar que, no mínimo uma vez o loop deverá ser feito, pois, o menor número que o usuário poderá digitar é o 0 (zero).

Resolução do problema: declare N, Total, Cont : inteiro Total 0 escreva Digite um número inteiro maior ou igual a zero: leia N Cont 0 repita Total Total + Cont Cont Cont + 1 enquanto (Cont <= N) escreva O Somatório do intervalo de 0 a N é:, Total int N, total = 0, cont = 0; printf( Digite um número inteiro maior ou igual a zero: ); scanf( %d,&n); do{ total = total + cont; cont++; while(cont <= N); printf( O somatório do intervalo de 0 a N é: %d, total); 3. Estrutura ENQUANTO Deverá ser utilizada quando, antes de se executar o loop, for necessário testar uma condição. Imprima o resultado da operação X Y (leia-se: X elevado a Y). Onde X é a base e o primeiro número que o usuário digitará, e Y é o expoente ou potência e será o segundo número a ser digitado. Ambos inteiros. Para este problema deveremos fazer o teste da condição antes de entrarmos na estrutura de repetição.

Resolução do problema: declare base, exp, total : inteiro escreva Digite o valor da base: leia base escreva Digite o valor do expoente: leia exp total 1 enquanto (exp > 0) faça total total * base exp exp - 1 enquanto escreva O resultado da potenciação é:, total int base, exp, total = 1; printf( Digite o valor da base: ); scanf( %d,&base); printf( Digite o valor do expoente: ); scanf( %d,&exp); while(exp > 0){ total = total * base; exp--; printf( O resultado da potenciação é: %d, total);

Exercícios 1) Elabore um programa que solicite que o usuário entre com 10 números inteiros. Some estes números, calcule a média aritmética e imprima seu valor. 2) Elabore um programa que solicite que o usuário entre com um número inteiro qualquer. Imprima uma linha de asteriscos (*) com a quantidade digitada pelo usuário. Ex.: *************************** 3) Elabore um programa em que o usuário entre com um número inteiro qualquer. Seu software deverá somar os 20 números subsequentes ao que foi digitado pelo usuário e imprimir o resultado. 4) Faça um programa que imprima a multiplicação, divisão, subtração e adição de 1 até 9, para um número digitado pelo usuário do software. 5) Faça um programa que solicite que o usuário entre com o seu sexo (M ou F). Enquanto o valor lido não for o correto (M ou F), exibir mensagem de erro e solicitar que o usuário entre com um novo valor. Quando o valor que o usuário digitar estiver correto, imprimir na tela o valor do sexo por extenso. (Ex.: Se digitado F, imprimir Feminino ) 6) Faça um programa que leia valores inteiros digitados pelo usuário até que seja digitado o valor 0 (zero). Quando o valor zero for digitado, deverá ser mostrado na tela a quantidade de valores que foram digitados e também a soma destes (até antes do valor zero). 7) Elabore um programa que some todos os números inteiros de 1 até 528. Apresente o resultado desta soma. 8) Elabore um programa que solicite que o usuário entre com um valor inteiro inicial e um valor inteiro final. Some todos os números deste intervalo, calcule a média aritmética e apresente na tela uma lista contendo todos os valores do intervalo digitado que estão acima da média calculada. 9) Escreva um software que calcule o valor da série: S = 1/2 + 1/3 + 1/4 + 1/5 + 1/6 +... + 1/50. 10) Escreva um programa que calcule o valor da série: S = 1/1 + 3/2 + 5/3 + 7/4 + 9/5 +... + 99/50. 11) Para o exercício 11, calcule a média aritmética da série e apresente uma lista contendo todos os valores da série que estão acima da média. 12) Elabore um programa que leia um número qualquer digitado pelo usuário e calcule seu Fatorial. (Exemplo: 5! = 5 x 4 x 3 x 2 x 1) 13) Elabore um programa em que o usuário entre com um número inteiro qualquer, e o software imprima os 20 números subsequentes ao que foi digitado pelo usuário. 14) Elabore um programa que solicite que o usuário entre com 300 números quaisquer. Ao final apresente separadamente: a. A soma dos 100 primeiros números digitados; b. A soma do 101º número até o 200º; c. A soma do 201º número até o 300º. 15) Elabore um programa que apresente os números pares existentes no intervalo fechado [A, B]. Sendo que A e B serão números inteiros escolhidos pelo usuário. Um número é par quando este satisfaz a seguinte condição: (NÚMERO % 2 == 0)

16) Elabore um programa que solicite que o usuário entre com 100 números quaisquer. Ao final apresente separadamente: a. A soma dos números pares que existirem entre o 1º número digitado até 50º; b. A soma dos números ímpares que existirem entre o 51º número digitado até o 100º. 17) Escreva um programa que solicite que o usuário entre com valores inteiros quaisquer. Ao final imprima a quantidade de números digitados, o somatório dos valores digitados, e a média aritmética do somatório. 18) Elabore um programa para fazer cálculo de potenciação. Ou seja, x^y. (Exemplo: 3^4 = 3 x 3 x 3 x 3 = 81). Seu software deverá solicitar que o usuário entre com o valor da base (x) e do expoente (y). Para resolver o problema não deverá ser usada a função pow da biblioteca math.h, utilize estrutura de repetição. Para este problema serão considerados apenas números inteiros positivos. 19) Elabore um programa que apresente todos os números primos no intervalo de 1 a 50. Um número é considerado Primo quando ele puder ser dividido exclusivamente por 1 e por ele próprio. Mais informações e exercícios poderão ser encontrados em: ASCENCIO, Ana F. G.; CAMPOS, Edilene A. V. de. Fundamentos da Programação de Computadores : Algoritmos, Pascal e C/C++, São Paulo: Pearson, 2002. - Páginas: 79 a 124. ASCENCIO, Ana F. G.; CAMPOS, Edilene A. V. de. Fundamentos da Programação de Computadores : Algoritmos, Pascal, C/C++ e Java, 2ª. Ed., São Paulo: Pearson, 2007. - Páginas: 93 a 144.

Exercícios de Depuração Usando Estruturas de Repetição 1) Apresente o que será impresso na tela do computador pelos programas a seguir: a) void main(){ int J, I, X; J = 100; X = 3; J = J + 40; I = 5 * X 4; while(x >= 5){ J = J 15; X++; I = I + X J; printf( J = %d, I = %d, X = %d, J, I, X); b) void main(){ int J, I, X; J = 100; X = 3; J = J + 40; I = 5 - X * 4; do{ J = J 15; X = X + 1; I = I + X J; while(x >= 5); printf( J = %d, I = %d, X = %d, J, I, X); c) void main(){ int J, I, X; J = 100; X = 3; J = J + 40; I = 5 - X * 4; while(x <= 5){ J = J 15; X += 1; I = I + X J; printf( J = %d, I = %d, X = %d, J, I, X); d) void main(){ int M, N, Y; M = 10; Y = 1; for(n = 1; N <= 6; N += 2){ M = M 8; Y = Y * 3 + N; printf( \nm = %d, Y = %d, N = %d, M, Y, N); e) void main(){ int P, Q; float VALOR; P = 5; Q = P 8; VALOR = 18; do{ VALOR = VALOR + (VALOR * P + 100); P = P + 2; Q = Q + 1; while(q < 0); printf( Valor = %f, VALOR); f) void main(){ int CONT; float VALOR; char RESP; CONT = 0; VALOR = 0; RESP = s ; while(resp == s ){ VALOR = VALOR + 139; CONT++; if(cont > 3){ RESP = n ; printf( Valor = %f, VALOR); g) void main(){ int N; float SOMA; SOMA = 0; for(n = 1; N <= 5; N++){ SOMA = SOMA + 1 / N; printf( Soma = %f, SOMA); h) void main(){ int N; N = 0; while(n < 5){ if(n == 0){ printf( Esse número não existe: 1/0 ); eles { printf( \n %f, 1 / N); N++;