Algoritmos com laços (ou seja, com conjuntos de instruções que devem ser executados repetidas vezes)

Slides:



Advertisements
Apresentações semelhantes
Manipulação de Arquivos de Dados
Advertisements

While While Condição // comandos End While. Exemplos While Var contador As Integer contador = 0 While (contador < 10) contador += 1 console.ConsoleWrite(contador)
1 Estruturas de Controle Márcia J. N. Rodrigues Lucena Especialização em Técnicas e Ferramentas de Apoio à Decisão Departamento.
Modelagem computacional no ensino de Física
Grupo Paralelismo – Unesp RC
FORTRAN 90 Denise Yumi Takamura.
INTRODUÇÃO À COMPUTAÇÃO PARALELA
Construção de Indicadores
Objeto de BD: visão Há 2 tipos de tabelas Tabela base
Vetores Variável Composta Homogênea Unidimensional
Vetores (2) Continuação.
Estrutura de repetição 18/set. Uso Foi construído o problema de ler notas de um aluno e fazer média. E para 5 alunos ????
Estruturas em algoritmos. Prioridade de Operações.
Sistemas Operacionais
Arquiteturas de 4, 3, 2, 1 e 0 endereços.
Teste Estrutural de Software
{Exemplo de um programa PASCAL} uses CRT; var
Teste Funcional de Software
Análise e Solução de Problemas
(Como implementar multiplicação e divisão uma vez só :-)
Gustavo Vieira Pereira
Algoritmos com Seleção
Os dez mandamentos para o bem planejar
SECRETARIA DA EDUCAÇÃO E CULTURA x Fechar Avançar Secretaria da Educação e Cultura Maria Auxiliadora Seabra Rezende Governo do Estado do Tocantins Marcelo.
Profa. Graziela Santos de Araújo Algoritmos e Programação II, 2010
Geração de Código Cap. 8. Introdução Fase final para um compilador Entrada é uma representação intermediária do código fonte e a saída é um programa para.
O Fluxo de Testes © Alexandre Vasconcelos
Página de entrada A página de entrada, ou a index, representa um convite para o seu site.
Curso de Engenharia Industrial Madeireira – UFPR Prof. Umberto Klock
Funções de um computador
Prof: Encoder Angular Prof:
3° Aula – Práticas Profissionais
Capitulo 3 Técnicas de Diagnóstico CT-282 Tutores Inteligentes Diego Ajukas.
Técnicas de Diagnóstico. Objetivo Caracterizar técnicas de diagnóstico para o modelo do estudante Caracterizar técnicas de diagnóstico para o modelo do.
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013 Capítulo III Comandos de Controle.
1.3 – Interpretadores – Compiladores versus Interpretadores
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013 Capítulo XI Encadeamento de Estruturas por Ponteiros.
Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.
TA 733 A – Operações Unitárias II
O Ensino de Probabilidade Paulo Cezar Pinto Carvalho IMPA.
O Ensino de Probabilidade
Probabilidade Modelo matemático para incerteza Desenvolvimento relativamente recente –Cardano (século XVI) –Pascal (século XVII) Peter Bernstein, Against.
Curso Técnico em Informática La Salle - Canoas
LA SALLE Curso Técnico em Informática
5W1H.
SMS: um novo gênero digital e emergente nas aulas de língua Giselda Santos Costa CEFET-PI UNED-Floriano Junho-2007.
EEL170 COMPUTAÇÃO I Antonio Cláudio Gómez de Sousa 5a série de slides Versão 26/04/2012.
ALOCAÇÃO DINÂMICA DE MEMÓRIA
EEL170 COMPUTAÇÃO I Antonio Cláudio Gómez de Sousa 1a série de slides versão 19/03/2012.
OTIMIZAÇÃO DE DESEMPENHO
Interpolação Introdução Conceito de Interpolação
Sistemas Lineares Parte 2
Desempenho A rápida taxa de melhoria na tecnologia de computadores veio em decorrência de dois fatores: avanços na tecnologia utilizada na construção.
Pipeline É possível obter maior desempenho computacional com:
7. INTEGRAÇÃO NUMÉRICA Parte 1
Tecnologia para Web JavaScript Enrique Pimentel Leite de Oliveira
Recursividade Estrutura de Dados.
Marco Antonio Montebello Júnior
Autenticação em ASP.NET
Entendendo as definições de classe
Baseado no documento do Prof. Ronaldo Martins da Costa
LINGUAGENS DE PROGRAMAÇÃO
Baseado no documento do Prof. Ronaldo Martins da Costa
Sistemas de Informação Prof. Me. Everton C. Tetila Modelo de dados relacional Banco de Dados I.
Programação Concorrente com Thread Java
SECRECRETARIA DE ESTADO DE PLANEJAMENTO E CORRDENAÇÃO GERAL CAPACITAÇÃO PARA ELABORAÇÃO PTA/LOA Cuiabá, 21 de junho de 2004.
Introdução Ciência da Computação estudo de algoritmos –ÊNFASE ao estudo de DADOS armazenamento manipulação refinamento (a partir de dados cru) estrutura.
Professor: Hyggo Almeida
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO Carga Horária Datas Programa Unidade 1 Unidade 2 Bibliograf ias Datas Avaliaçõe s Objetivos Prof. Msc. Raul Benites.
ArrayList e Genéricos Profs. PROG2 - UNISINOS.
Transcrição da apresentação:

Algoritmos com laços (ou seja, com conjuntos de instruções que devem ser executados repetidas vezes)

Problema do Aluno Conversador: Aluno deve escrever 100 vezes: Não devo conversar em aula! (ou seja, uma ação deve ser realizada um número preciso e conhecido de vezes) Aula 5 - V. 2 - Cida Livi

Primeira solução: Fazer um programa em Pascal com 100 writeln´s, ou seja, fazendo 100 vezes a ação : Writeln (´Não devo conversar em aula!); (…) Aula 5 - V. 2 - Cida Livi

Segunda solução: fazer com que a instrução de escrita seja repetida o número necessário de vezes (100) Elementos para implementar este tipo de solução: a ação a ser realizada; uma forma de indicar a repetição da ação; um contador que registre o número de vezes que a ação foi realizada; um teste para verificar, com base no contador, quando a ação deve parar de ser repetida (executada). Aula 5 - V. 2 - Cida Livi

Implementação da segunda solução uso do comando FOR Semântica do FOR: Permite a execução de um ou mais comandos um número determinado de vezes. O controle das execuções é por contagem , utilizando uma variável contador. Execuções acontecem até que um valor limite para a variável contador seja ultrapassado. Aula 5 - V. 2 - Cida Livi

Comando FOR LAÇOS CONTADOS permite a criação de Aula 5 - V. 2 - Cida Livi

´Não devo conversar em aula!´ será escrito 100 vezes. for I := 1 to 100 do Writeln (´Não devo conversar em aula!´); Resultado: ´Não devo conversar em aula!´ será escrito 100 vezes. Aula 5 - V. 2 - Cida Livi

Diagrama de funcionamento do FOR: Incremento da variável de controle a cada nova iteração Início I := 1 Inicialização da variável de controle, com valor inicial indicado no comando I := I + 1 Não Não devo conversar em aula I > 100 Avaliação da condição de término, com o valor final indicado no comando Sim Fim Aula 5 - V. 2 - Cida Livi

Representação do FOR em um fluxograma: Inicialização do I (só ocorre 1 vez) Início Teste do I quanto a seu valor final, a cada iteração Incremento do I ( da 2a iteração em diante) I <-- 1 I > 100 Sim I <-- I + 1 Não Escrever (´Não devo conversar em aula´) Fim Aula 5 - V. 2 - Cida Livi

Diagrama de Chapin: Operação Repetitiva <condição> <comando> Semântica: enquanto condição for verdadeira, comando será executado. Aula 5 - V. 2 - Cida Livi

FOR usando diagrama de CHAPIN: Para I de 1 até 100 Escrever “Não devo conversar em aula” Obs.: neste caso, condição é I <= 100. Aula 5 - V. 2 - Cida Livi

Duas modalidades do FOR em TURBO PASCAL: FOR …TO: incremento da variável do FOR é de +1, a cada iteração FOR…DOWNTO: decremento da variável do FOR é de -1, a cada iteração Aula 5 - V. 2 - Cida Livi

Impressão de inteiros entre 1 e 50: For J := 1 to 50 do write (J:4); Resultado: 1 2 3 4 5 6 … 20 21 22 23 24 … 40 etc... Aula 5 - V. 2 - Cida Livi

Impressão da tabuada de multiplicação de um número informado: Readln(Valor); for K := 1 to 10 do writeln(K:4 ,´ X ´, Valor:4 , ´ = ´ , K * Valor:5); Aula 5 - V. 2 - Cida Livi

Duas formas de imprimir o alfabeto em ordem inversa: for I := 122 downto 97 do write(chr(I):4); (função CHR fornece o caracter ASCII correspondente a um determinado valor) for carac := ´z´ downto ´a´ do write (carac:4); Aula 5 - V. 2 - Cida Livi

identificador := expressão1 FOR Comando* to expressão2 do downto Sintaxe identificador := expressão1 FOR Comando* to expressão2 do * Simples ou composto (dois ou mais comandos delimitados por begin…end) downto Aula 5 - V. 2 - Cida Livi

Identificador (ou variável de controle): tipo ordinal simples (integer, char, etc.). Expressões 1 e 2: Seu tipo deve coincidir com aquele do identificador. Aula 5 - V. 2 - Cida Livi

Cuidados: Valores Inicial e Final (expressões 1 e 2) devem ser molde a permitir pelo menos uma execução do FOR. Ex.: for K := 7 to 7 do writeln(´Só executa uma vez´); for Y := 12 to 10 do writeln(´Nunca vai executar este write´); Aula 5 - V. 2 - Cida Livi

Cuidados: Variável de controle não deve ser modificada durante a execução do FOR (mas seu conteúdo pode ser utilizado em testes, expressões ou ser escrito). Ex.: for J := 5 to 35 do {J é a variável de controle} begin if J mod 5 = 0 then writeln else write(J:5) end; Aula 5 - V. 2 - Cida Livi

Levantamento de uso da Internet, por número de horas, realizado em um universo de 200 usuários: For I := 1 to 200 do begin readln(Horas); case Horas of 1..10: Cont1 := Cont1 + 1; 11..40: Cont2 := Cont2 + 1; 41..744: Cont3 := Cont3 + 1 end; {do Case} end; {do begin do For} Aula 5 - V. 2 - Cida Livi

FORs aninhados Funcionamento: Para cada variação de valor da variável de controle do FOR externo, todo o FOR interno será executado integralmente. Aula 5 - V. 2 - Cida Livi

das tabuadas de multiplicação do 1 ao 10 FORs Aninhados Início Em Fluxograma I <-- 1 I > 10 Sim I <-- I + 1 Não Impressão das tabuadas de multiplicação do 1 ao 10 Sim J <-- 1 J > 10 J <-- J + 1 Não J , ´ x ´ , I , ´ = ´, J * I Aula 5 - V. 2 - Cida Livi Fim

das tabuadas de multiplicação do 1 ao 10 FORs Aninhados Em diagrama de Chapin Impressão das tabuadas de multiplicação do 1 ao 10 Para I de 1 até 10 Para J de 1 até 10 Escrever J , ´ x ´ , I , ´ = ´, J * I Aula 5 - V. 2 - Cida Livi

writeln(J , ´ X´, I , ´ = ´, J * I); { Trecho em PASCAL que imprime as tabuadas de multiplicação de 1 a 10: for I := 1 to 10 do for J := 1 to 10 do writeln(J , ´ X´, I , ´ = ´, J * I); { mesmo writeln acima, apenas agora editado: writeln(J:5 , ´X´ , I:5 , ´=´ , J * I: 5) } Aula 5 - V. 2 - Cida Livi

Em Algoritmos com LAÇOS CONTADOS!!!! USO DO COMANDO FOR Em Algoritmos com LAÇOS CONTADOS!!!! O Comando FOR deve ser utilizado tão somente nos casos de laços contados, em que a repetição de ações deve acontecer um número determinado e conhecido de vezes. Aula 5 - V. 2 - Cida Livi