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



Documentos relacionados
Computação e Processamento de Dados CPD INF400

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

Algoritmos com VisuAlg

Introdução a Algoritmos Parte 04

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

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

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

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

Técnicas de Programação I

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

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

ALGORITMO I ESTRUTURA DE CONTROLE REPETIÇÃO PARA / ENQUANTO;

Convertendo Algoritmos para a Linguagem C

Estruturas de Repetição. Prof. Paulo Cesar F. de Oliveira, BSc, PhD

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

Estruturas de Controle de Fluxo

Estruturas de Controle de Fluxo Estruturas de Repetição. Givanaldo Rocha

2. ALGORITMOS. Unesp Campus de Guaratinguetá. Curso de Programação Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro

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

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

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

Lógica de Programação

Algoritmos Computacionais ( Programas )

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

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

ESTRUTURAS DE REPETIÇÃO

Algoritmos I Aula 10 Estrutura de controle: repetição

INFORMÁTICA APLICADA AULA 06 ALGORITMOS

CURSO BÁSICO DE PROGRAMAÇÃO AULA 7

Fig.1: Ilustração de Estrutura de Controle Fonte:Internet

Estruturas de Repetição

Aula 4 Oficina de Programação Algoritmos - Parte 3. Profa. Elaine Faria UFU

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

JAVA NETBEANS PGOO Prof. Daniela Pires Conteúdo

Arquitetura de Computadores. Tipos de Instruções

... contador = contador + 1; //contador++; ... <fim_da_estrutura_de_repetição> soma = 0; <estrutura_de_repetição_com_variável_x> soma = soma + x;

Curso: Ciência da Computação Disciplina: Construção de Compiladores Período: Prof. Dr. Raimundo Moura

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto

ERROS MAIS COMUNS COMETIDOS EM PROGRAMAS E ALGORITMOS

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

Resolução de problemas e desenvolvimento de algoritmos

ICC Introdução para JavaScript

Apostila de Lógica de Programação - ALGORITMOS -

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

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

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

Lógica e Linguagem de Programação Aula 04 - Estruturas de Repetição - GABARITO Repetição com Variável de Controle - Para Professor: Danilo Giacobo

CURSO TÉCNICO DE INFORMÁTICA

Algoritmos. Prof. Jonatas Bastos Site:

José Romildo Malaquias

Comandos de repetição while

Sumário. INF01040 Introdução à Programação. Elaboração de um Programa. Regras para construção de um algoritmo

CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM

Microcontroladores. Programação: fluxogramas, pseudocódigos e lógica. Prof. Daniel

Amanda Gondim de Oliveira

PARA CASA * Como voce faria para armazenar o resultado em uma variavel chamada NOME?

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

Python: Comandos Básicos. Claudio Esperança

LÓGICA DE PROGRAMAÇÃO. Estrutura de Repetição Determinada e Indeterminada. Sérgio Carlos Portari Júnior

Apostila de Fundamentos de Programação I. Prof.: André Luiz Montevecchi

CURSO BÁSICO DE PROGRAMAÇÃO AULA 6. Revisão Laços de Repetição

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

ESTRUTURAS DE CONTROLE ESTRUTURAS DE REPETIÇÃO

Algoritmos e Programação I

Grupo C Vetores e Matrizes

Fundamentos da programação de computadores.

ESTRUTURA CONDICIONAL

Sistemas Operacionais e Introdução à Programação. Introdução à Lógica de Programação: estruturas de repetição

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

Estruturas de Controle de Fluxo

Universidade Federal de Santa Catarina Departamento de Informática e Estatística Bacharelado em Ciências da Computação

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

UNIDADE 6 - PROGRAMAÇÃO MODULAR

Algoritmos e Fluxogramas

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

Lógica de Programação ALGORITMOS.

Guia da Linguagem de Programação do VisuAlg*

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

Programação de Computadores I Fluxogramas PROFESSORA CINTIA CAETANO

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

ALGORITMOS. Estruturas de RepeGção. Alessandro J. de Souza DIATINF - IFRN. twi;er.com/ajdsouza

Estruturas de Controle de Fluxo

Estruturas de Repetição. João Medeiros FATERN

COMANDOS DE REPETIÇÃO (ENQUANTO, REPITA E PARA)

Probabilidade e Estatística I Antonio Roque Aula 8. Introdução ao Excel

3. Estruturas de seleção

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

EXERCÍCIOS e Respostas de Lógica de Programação - ALGORITMOS -

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

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

Computadores XXI: Busca e execução Final

Lista de operadores de comparação - > Maior que - < Menor que - <= Menor ou igual a - >= Maior ou igual a - === Igual a -!

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

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

Estruturas de Controle A Tomada de Decisões

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

Introdução à Programação de Computadores

Introdução a Algoritmos Parte 07

Algoritmos em Javascript

Estrutura de Condição, Escolha e Repetição

Transcrição:

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

Estruturas de Repetição Considere o algoritmo apresentado anteriormente Algoritmo Inteiro N1,N2,N3,N4; // notas bimestrais Real MA // media Leia(N1,N2,N3,N4) // entrada de dados MA=(N1+N2+N3+N4)/4 // calculo da media Se (MA >=6) Então escreva( aluno aprovado ) Fim-se Fim-algoritmo

Estruturas de Repetição (cont.) Observe que o algoritmo processa a média de um único aluno. E se existirem mais alunos? Podemos escrever o algoritmo para cada aluno. Assim sendo teremos de escrever 50 vezes o código se existirem 50 alunos. Solução simples porém inviável Outra solução: depois de executar o comando que escreve a situação de um aluno fazer com que o comando para a leitura de dados fosse executado novamente. Este procedimento seria repetido mais 49 vezes. A estes trechos do algoritmo que são repetidos damos o nome de loop ou laço de repetição.

Construindo Loops Para construir um laço de repetição pode-se proceder de dois modos: Calcular a média enquanto a quantidade de médias calculadas for menor ou igual a 50. Isto representa uma repetição com teste no início. Calcular a média até que o número de médias calculadas atinja 50. Isto representa uma repetição com teste no fim.

Repetição com Teste no Início Permite repetir um mesmo trecho de algoritmo diversas vezes porém verificando antes de cada execução se é permitido executar o mesmo trecho. Para isto utiliza-se a estrutura que apresenta o seguinte formato: Enquanto <condição> < bloco de comandos: um ou mais comandos> Fim-enquanto

Repetição com Teste no Início (cont.) Exemplo: no caso de encontrar a média de 50 alunos a condição é que a quantidade de médias calculadas seja menor ou igual a 50. Como especificar isto? A estrutura enquanto não propicia esta condição; A solução é usar um contador que é uma variável com um dado valor inicial que é aumentado (incrementado) a cada repetição.

Repetição com Teste no Início (cont.) Exemplo completo com contador: Algoritmo Inteiro N1,N2,N3,N4 // notas bimestrais Real MA // media Inteiro Cont // contador Cont 0 Enquanto (Cont < 50) Leia(N1,N2,N3,N4) // entrada de dados MA=(N1+N2+N3+N4)/4 // calculo da media Se (MA >=6) Então escreva( aluno aprovado ) Fim-se Cont=cont+1 Fim-enquanto Fim-algoritmo

Acumuladores Como escrever um algoritmo que calcule a média aritmética das 50 médias anuais? Podemos em cada execução do laço de repetição acumular em uma variável (o acumulador) o somatório das médias anuais de cada aluno. Após o término da repetição dividimos o valor armazenado no acumulador por 50.

Exemplo com Acumulador Algoritmo real MA // média anual de cada aluno real ACM // acumulador real MAT // media anual da turma inteiro Cont // contador Cont 0 ACM 0 Enquanto (Cont < 50) Leia(MA) // entrada de dados ACM ACM + MA // acumula as medias de cada alluno Cont=Cont+1 Fim-Enquanto MAT ACM/50 Escreva( Media anual da turma =, MAT) Fim-algoritmo

Variando o critério da parada da repetição O algoritmo anterior utiliza um préconhecimento da quantidade de alunos da turma. E se não soubermos a quantidade alunos que a turma tem como poderemos controlar o laço de repetição? Teremos de encontrar outro critério de parada. Isto pode ser feito utilizando um valor pré-definido como finalizador de uma seqüência de valores

Variando o critério da parada da repetição: Exemplo Algoritmo Real MA // média anual de cada aluno Real ACM // acumulador Real MAT // media anual da turma Inteiro COM // contador Cont 0 ACM 0 Leia(MA) Enquanto (MA <> -1) ACM ACM + MA // acumula as medias de cada alluno Cont=Cont+1 Leia(MA) Fim-Enquanto MAT ACM/Cont Escreva( Media anual da turma =, MAT) Fim-algoritmo

Variando o critério da parada da repetição: Exemplo (cont.) Observe no algoritmo que: Usou-se o valor -1 como finalizador. Quando é encontrado (lido) o loop é finalizado sem que este valor seja computado ao acumulador. A leitura da primeira média anual (MA) acontece antes do laço de repetição

Repetição com teste no final Para realizar a repetição com teste no final utilizamos a estrutura repita. A estrutura repita permite que um bloco de comandos seja repetido até que uma determinada condição seja verdadeira. Forma geral da estrutura repita: Repita <bloco de comandos> Até <condição>

Repetição com teste no final (cont.) Pela sintaxe da estrutura observe que o bloco de comandos será executado no mínimo uma vez. Isto ocorre porque o cálculo da condição acontece depois da execução do bloco.

Repetição com teste no final: Exemplo Algoritmo real MA // média anual de cada aluno real ACM // acumulador real MAT // media anual da turma inteiro Cont // contador Cont 0 ACM 0 Repita Leia(MA) ACM ACM + MA // acumula as medias de cada aluno Cont=Cont+1 Até (Cont ==50) MAT ACM/50 Escreva( Media anual da turma =, MAT) Fim-algoritmo

Repetição com Variável de Controle Nas estruturas de repetição vistas até agora um bloco de comandos será executado enquanto uma condição permaneça verdadeira ou até que uma condição seja satisfeita. Podemos usar um outra estrutura: a estrutura para. A estrutura para repete a execução do bloco um número definido de vezes.

Forma Geral da estrutura para Para v de vi até vf passo p faça <bloco de comandos> Fim-para em que: V é a variável de controle Vi é o valor inicial da variável V Vf é o valor final da variável V P é o valor de incremento dado a variável V após cada execução do bloco de comandos.

Exemplo de uso da estrutura para Algoritmo real MA // média anual de cada aluno Real ACM // acumulador real MAT // media anual da turma inteiro V // variável de controle ACM 0 Para V de 1 até 50 passo 1 Leia(MA) ACM ACM + MA // acumula as medias de cada aluno Fim-para MAT ACM/50 Escreva( Media anual da turma =, MAT) Fim-algoritmo

Comparação entre estruturas de repetição Podemos estabelecer duas observações que relacionam as estruturas de repetição: Toda estrutura enquanto pode ser convertida para repita e vice-versa Toda estrutura para pode ser convertida em enquanto, mas nem toda estrutura enquanto pode ser convertida em para.