SlideShare una empresa de Scribd logo
1 de 3
6.2 Repetição ou Ciclos
Em programação, uma sequência de instruções executada repetitivamente é chamada
de ciclo. Um ciclo é constituído por uma sequência de instruções, o corpo do
ciclo, e por uma estrutura que controla a execução dessas instruções,
especificando quantas vezes o ciclo deve ser executado.
Cada vez que as instruções que constituem o corpo do ciclo são executadas,
dizemos que se efectuou uma passagem pelo ciclo. As instruções que constituem o
corpo do ciclo podem ser executadas qualquer número de vezes (eventualmente
nenhuma), mas este número tem de ser finito. Há erros de semântica que podem
levar a execução interminável do corpo do ciclo, criando um ciclo infinito.
Neste webfolio, apresentaremos três instruções: "while", "repeat" e "for".
"WHILE"
A instrução "while" permite especificar a execução repetitiva de uma instrução
enquanto uma determinada expressão do tipo lógico tiver o valor verdadeiro.
Na definição sintáctica da instrução "while", instrução representa qualquer
instrução de Pascal e expressão representa uma expressão do tipo lógico.
A semântica da instrução "while" é a seguinte:
Ao encontrar a instrução "while <cond> do <inst>", o computador calcula o valor
de cond. Se o seu valor for "true", o computador efectua uma passagem pelo
ciclo, executando a instrução inst. Em seguida volta a calcular o valor de cond
e o processo repete-se enquanto o valor da cond for "true". Quando o valor de
cond for "false", a execução do ciclo termina.
A instrução que constitui o corpo do ciclo deve modificar o valor da expressão
que controla a execução do ciclo, caso contrário, o ciclo pode nunca terminar.
Exemplo de um programa que soma uma sequência de números inteiros. O fim da
sequência é determinado por um número negativo:
Program SomadeInteiros ;
var Soma, Numero : integer;
procedure Pergunte;
begin
writeln ('Escreva um número inteiro');
writeln ('Um número negativo termina a execução')
end; {pergunte}
Begin
Soma := 0;
Pergunte;
readln (Numero);
While Numero >= 0 do
begin
Soma := Soma + Numero;
Pergunte;
readln (Numero)
end;
writeln ('A soma é ' , Soma:3)
End.
"REPEAT"
A instrução "repeat" permite especificar a execução repetitiva de uma sequência
de instruções até que certa expressão do tipo lógico tenha o valor verdadeiro.
Na definição sintáctica da instrução "repeat", instrução representa qualquer
instrução em Pascal e expressão representa uma expressão do tipo lógico. Em
oposição à definição sintáctica de "while", a instrução "repeat" permite a
especificação de uma sequência de instruções a executar e não apenas de uma
instrução. Por esta razão, ao utilizarmos uma instrução "repeat" não
necessitamos de recorrer a uma instrução composta, quando o corpo do ciclo tem
mais de uma instrução. A razão desta decisão provém do facto de o corpo de ciclo
numa instrução "repeat" estar delimitado pelas palavras "repeat" e "until",
evitando assim qualquer tipo de ambiguidade quanto à determinação das instruções
que pertencem ao corpo do ciclo.
A semântica da instrução "repeat" é a seguinte:
Ao encontrar a instrução "repeat <instr> until <cond>", o computador começa por
executar as instruções que constituem o corpo do ciclo (instr), avaliando depois
a expressão cond. Se o seu valor for "false", o corpo do ciclo é executado de
novo e o processo repete-se. A execução do ciclo termina quando a cond produzir
um valor "true". Importa salientar que a execução do ciclo só termina após uma
passagem completa pelo ciclo.
Tal como acontece com a instrução "while", de um modo geral, o número de vezes
que o corpo de uma instrução "repeat" é executado não pode ser calculado de
antemão. Contudo, em oposição à instrução "while", o corpo do ciclo de uma
instrução "repeat" é sempre executado pelo menos uma vez, porque a expressão que
controla a execução do ciclo só é avaliada no fim do mesmo.
Exemplo de um programa com um ciclo "repeat".
Program Repeat ;
VAR
Num:INTEGER ;
Begin
Num:=100;
REPEAT
WRITE (Num,' ');
Num:=Num-2;
UNTIL (Num<1);
End.
"FOR"
Quando se pretende que um conjunto de instruções se repita um número de vezes
bem determinado, recorremos à instrução FOR.
A sintaxe desta instrução é a seguinte : FOR <variável> := <início> TO <fim> DO
A variável de ciclo mantém o número de repetições a efectuar, servindo de
contador. Esta variável pode ser qualquer tipo escalar, excepto REAL. De notar
que a variável de controlo do FOR nunca deve ser alterada dentro do ciclo, sob
pena de se perder por completo o número de execuções e chegarmos a resultados
bem diferentes dos pretendidos.
Exemplo correcto de utilização de um FOR :
Program ForExemplo;
VAR
valor : integer;
Begin
For valor := 1 to 10 do
Begin
Write ('Quadrado de ',valor,'=');
Writeln (valor * valor);
End;
Readln
End.
Exemplo incorrecto de utilização de um FOR :
Program ForExemplo;
VAR
valor : integer;
Begin
For valor := 1 to 10 do
Begin
Write ('Quadrado de ',valor,'=');
Writeln (valor * valor);
valor := valor + 1;
End;
Readln
End.
Saliente-se que o ciclo FOR pode assumir duas formas distintas de aplicação,
isto é, a variável de controlo pode ser incrementada a cada execução, como nos
exemplos anteriores, ou pode ser decrementada, sendo que neste caso a sintaxe
assume a forma :
FOR <variável> := <início> DOWNTO <fim> D

Más contenido relacionado

La actualidad más candente

Linguagem de Programação - aula 03
Linguagem de Programação - aula 03Linguagem de Programação - aula 03
Linguagem de Programação - aula 03Willian Carvalho
 
Shell Scripting
Shell ScriptingShell Scripting
Shell Scriptingdcarneir
 
Curso de shell
Curso de shellCurso de shell
Curso de shellTiago
 
Conceitos e técnicas de programação aula 5
Conceitos e técnicas de programação aula 5Conceitos e técnicas de programação aula 5
Conceitos e técnicas de programação aula 5Robson Ferreira
 
Processos e comando kill - Bóson Treinamentos
Processos e comando kill - Bóson TreinamentosProcessos e comando kill - Bóson Treinamentos
Processos e comando kill - Bóson TreinamentosFábio dos Reis
 
2 controle fluxo
2 controle fluxo2 controle fluxo
2 controle fluxoprofwtelles
 
Trabalho sobre o enchimento e o vacuo e como fazer
Trabalho sobre o enchimento e o vacuo e como fazerTrabalho sobre o enchimento e o vacuo e como fazer
Trabalho sobre o enchimento e o vacuo e como fazerrubennobre
 

La actualidad más candente (12)

Linguagem de Programação - aula 03
Linguagem de Programação - aula 03Linguagem de Programação - aula 03
Linguagem de Programação - aula 03
 
Shell Scripting
Shell ScriptingShell Scripting
Shell Scripting
 
Pilhas
PilhasPilhas
Pilhas
 
Algoritmos - Aula 07 A - Lacos
Algoritmos - Aula 07 A - LacosAlgoritmos - Aula 07 A - Lacos
Algoritmos - Aula 07 A - Lacos
 
Curso de shell
Curso de shellCurso de shell
Curso de shell
 
Conceitos e técnicas de programação aula 5
Conceitos e técnicas de programação aula 5Conceitos e técnicas de programação aula 5
Conceitos e técnicas de programação aula 5
 
Processos e comando kill - Bóson Treinamentos
Processos e comando kill - Bóson TreinamentosProcessos e comando kill - Bóson Treinamentos
Processos e comando kill - Bóson Treinamentos
 
2 controle fluxo
2 controle fluxo2 controle fluxo
2 controle fluxo
 
Escalonamento
EscalonamentoEscalonamento
Escalonamento
 
Shell script
Shell scriptShell script
Shell script
 
Cursor
CursorCursor
Cursor
 
Trabalho sobre o enchimento e o vacuo e como fazer
Trabalho sobre o enchimento e o vacuo e como fazerTrabalho sobre o enchimento e o vacuo e como fazer
Trabalho sobre o enchimento e o vacuo e como fazer
 

Similar a Ciclos em Programação

Capítulo 08 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 08 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Capítulo 08 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 08 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Os Fantasmas !
 
Alg aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)
Alg   aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)Alg   aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)
Alg aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)Thalles Anderson
 
Java básico - Módulo 05 - Estruturas de Repetição
Java  básico - Módulo 05 - Estruturas de RepetiçãoJava  básico - Módulo 05 - Estruturas de Repetição
Java básico - Módulo 05 - Estruturas de RepetiçãoProfessor Samuel Ribeiro
 
Aula 05 - Comandos de repeticao - JAVA.pdf
Aula 05 - Comandos de repeticao - JAVA.pdfAula 05 - Comandos de repeticao - JAVA.pdf
Aula 05 - Comandos de repeticao - JAVA.pdfCarlosCarlos73688
 
Algoritmos e Programação: Estruturas de repetição
Algoritmos e Programação: Estruturas de repetiçãoAlgoritmos e Programação: Estruturas de repetição
Algoritmos e Programação: Estruturas de repetiçãoAlex Camargo
 
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)Gercélia Ramos
 
Laços de repetição em C.
Laços de repetição em C.Laços de repetição em C.
Laços de repetição em C.SchoolByte
 
05 - Operadores relacionais e estruturas de repetição - v1.0
05 - Operadores relacionais e estruturas de repetição - v1.005 - Operadores relacionais e estruturas de repetição - v1.0
05 - Operadores relacionais e estruturas de repetição - v1.0César Augusto Pessôa
 
Estruturas de Repetição - FOR, WHILE e DO WHILE
Estruturas de Repetição - FOR, WHILE e DO WHILEEstruturas de Repetição - FOR, WHILE e DO WHILE
Estruturas de Repetição - FOR, WHILE e DO WHILENeto Côrtes
 
Sebenta Ling Prog Cptig MóDulo Iii Carla
Sebenta Ling Prog Cptig   MóDulo Iii CarlaSebenta Ling Prog Cptig   MóDulo Iii Carla
Sebenta Ling Prog Cptig MóDulo Iii CarlaCarla Silva
 
Conceitos base de programação - parte 2
Conceitos base de programação - parte 2Conceitos base de programação - parte 2
Conceitos base de programação - parte 2João Piedade
 
DOJO - TDD com C++
DOJO - TDD com C++DOJO - TDD com C++
DOJO - TDD com C++thiagodp
 
TDD em C++
TDD em C++TDD em C++
TDD em C++thiagodp
 
Aula 04 estruturas de repetição
Aula 04   estruturas de repetiçãoAula 04   estruturas de repetição
Aula 04 estruturas de repetiçãoTácito Graça
 
8a. aula -_estrutura_de_controle_de_repeticao_-_while_java
8a. aula -_estrutura_de_controle_de_repeticao_-_while_java8a. aula -_estrutura_de_controle_de_repeticao_-_while_java
8a. aula -_estrutura_de_controle_de_repeticao_-_while_javaMirlem Pereira
 
Aula 05 - Estrutura de Controle em PHP.pdf
Aula 05 - Estrutura de Controle em PHP.pdfAula 05 - Estrutura de Controle em PHP.pdf
Aula 05 - Estrutura de Controle em PHP.pdfAntonioSvio1
 

Similar a Ciclos em Programação (20)

Capítulo 08 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 08 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Capítulo 08 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 08 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
 
Alg aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)
Alg   aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)Alg   aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)
Alg aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)
 
Java básico - Módulo 05 - Estruturas de Repetição
Java  básico - Módulo 05 - Estruturas de RepetiçãoJava  básico - Módulo 05 - Estruturas de Repetição
Java básico - Módulo 05 - Estruturas de Repetição
 
Aula 3 AEDI.pdf
Aula 3 AEDI.pdfAula 3 AEDI.pdf
Aula 3 AEDI.pdf
 
02 controle de fluxo
02   controle de fluxo02   controle de fluxo
02 controle de fluxo
 
Aula 05 - Comandos de repeticao - JAVA.pdf
Aula 05 - Comandos de repeticao - JAVA.pdfAula 05 - Comandos de repeticao - JAVA.pdf
Aula 05 - Comandos de repeticao - JAVA.pdf
 
Estrutura de repetição
Estrutura de repetiçãoEstrutura de repetição
Estrutura de repetição
 
Algoritmos e Programação: Estruturas de repetição
Algoritmos e Programação: Estruturas de repetiçãoAlgoritmos e Programação: Estruturas de repetição
Algoritmos e Programação: Estruturas de repetição
 
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
 
Laços de repetição em C.
Laços de repetição em C.Laços de repetição em C.
Laços de repetição em C.
 
05 - Operadores relacionais e estruturas de repetição - v1.0
05 - Operadores relacionais e estruturas de repetição - v1.005 - Operadores relacionais e estruturas de repetição - v1.0
05 - Operadores relacionais e estruturas de repetição - v1.0
 
Estruturas de Repetição - FOR, WHILE e DO WHILE
Estruturas de Repetição - FOR, WHILE e DO WHILEEstruturas de Repetição - FOR, WHILE e DO WHILE
Estruturas de Repetição - FOR, WHILE e DO WHILE
 
Sebenta Ling Prog Cptig MóDulo Iii Carla
Sebenta Ling Prog Cptig   MóDulo Iii CarlaSebenta Ling Prog Cptig   MóDulo Iii Carla
Sebenta Ling Prog Cptig MóDulo Iii Carla
 
Conceitos base de programação - parte 2
Conceitos base de programação - parte 2Conceitos base de programação - parte 2
Conceitos base de programação - parte 2
 
DOJO - TDD com C++
DOJO - TDD com C++DOJO - TDD com C++
DOJO - TDD com C++
 
TDD em C++
TDD em C++TDD em C++
TDD em C++
 
Aula 04 estruturas de repetição
Aula 04   estruturas de repetiçãoAula 04   estruturas de repetição
Aula 04 estruturas de repetição
 
8a. aula -_estrutura_de_controle_de_repeticao_-_while_java
8a. aula -_estrutura_de_controle_de_repeticao_-_while_java8a. aula -_estrutura_de_controle_de_repeticao_-_while_java
8a. aula -_estrutura_de_controle_de_repeticao_-_while_java
 
Algoritmos Aula 09
Algoritmos Aula 09Algoritmos Aula 09
Algoritmos Aula 09
 
Aula 05 - Estrutura de Controle em PHP.pdf
Aula 05 - Estrutura de Controle em PHP.pdfAula 05 - Estrutura de Controle em PHP.pdf
Aula 05 - Estrutura de Controle em PHP.pdf
 

Último

2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSOLeloIurk1
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéisines09cachapa
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdfAna Lemos
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaHELENO FAVACHO
 
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfplanejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfmaurocesarpaesalmeid
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdfGEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdfRavenaSales1
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptssuser2b53fe
 
Slide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptxSlide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptxedelon1
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...Rosalina Simão Nunes
 
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTailsonSantos1
 
apostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médioapostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médiorosenilrucks
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...azulassessoria9
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Ilda Bicacro
 
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfPROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfHELENO FAVACHO
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxTailsonSantos1
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMHELENO FAVACHO
 
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxLuizHenriquedeAlmeid6
 

Último (20)

2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéis
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdf
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
 
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfplanejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdfGEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.ppt
 
Slide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptxSlide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptx
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
 
Aula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIXAula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIX
 
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
 
apostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médioapostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médio
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"
 
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfPROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
 
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
 

Ciclos em Programação

  • 1. 6.2 Repetição ou Ciclos Em programação, uma sequência de instruções executada repetitivamente é chamada de ciclo. Um ciclo é constituído por uma sequência de instruções, o corpo do ciclo, e por uma estrutura que controla a execução dessas instruções, especificando quantas vezes o ciclo deve ser executado. Cada vez que as instruções que constituem o corpo do ciclo são executadas, dizemos que se efectuou uma passagem pelo ciclo. As instruções que constituem o corpo do ciclo podem ser executadas qualquer número de vezes (eventualmente nenhuma), mas este número tem de ser finito. Há erros de semântica que podem levar a execução interminável do corpo do ciclo, criando um ciclo infinito. Neste webfolio, apresentaremos três instruções: "while", "repeat" e "for". "WHILE" A instrução "while" permite especificar a execução repetitiva de uma instrução enquanto uma determinada expressão do tipo lógico tiver o valor verdadeiro. Na definição sintáctica da instrução "while", instrução representa qualquer instrução de Pascal e expressão representa uma expressão do tipo lógico. A semântica da instrução "while" é a seguinte: Ao encontrar a instrução "while <cond> do <inst>", o computador calcula o valor de cond. Se o seu valor for "true", o computador efectua uma passagem pelo ciclo, executando a instrução inst. Em seguida volta a calcular o valor de cond e o processo repete-se enquanto o valor da cond for "true". Quando o valor de cond for "false", a execução do ciclo termina. A instrução que constitui o corpo do ciclo deve modificar o valor da expressão que controla a execução do ciclo, caso contrário, o ciclo pode nunca terminar. Exemplo de um programa que soma uma sequência de números inteiros. O fim da sequência é determinado por um número negativo: Program SomadeInteiros ; var Soma, Numero : integer; procedure Pergunte; begin writeln ('Escreva um número inteiro'); writeln ('Um número negativo termina a execução') end; {pergunte} Begin Soma := 0; Pergunte; readln (Numero); While Numero >= 0 do begin Soma := Soma + Numero; Pergunte; readln (Numero) end; writeln ('A soma é ' , Soma:3) End. "REPEAT"
  • 2. A instrução "repeat" permite especificar a execução repetitiva de uma sequência de instruções até que certa expressão do tipo lógico tenha o valor verdadeiro. Na definição sintáctica da instrução "repeat", instrução representa qualquer instrução em Pascal e expressão representa uma expressão do tipo lógico. Em oposição à definição sintáctica de "while", a instrução "repeat" permite a especificação de uma sequência de instruções a executar e não apenas de uma instrução. Por esta razão, ao utilizarmos uma instrução "repeat" não necessitamos de recorrer a uma instrução composta, quando o corpo do ciclo tem mais de uma instrução. A razão desta decisão provém do facto de o corpo de ciclo numa instrução "repeat" estar delimitado pelas palavras "repeat" e "until", evitando assim qualquer tipo de ambiguidade quanto à determinação das instruções que pertencem ao corpo do ciclo. A semântica da instrução "repeat" é a seguinte: Ao encontrar a instrução "repeat <instr> until <cond>", o computador começa por executar as instruções que constituem o corpo do ciclo (instr), avaliando depois a expressão cond. Se o seu valor for "false", o corpo do ciclo é executado de novo e o processo repete-se. A execução do ciclo termina quando a cond produzir um valor "true". Importa salientar que a execução do ciclo só termina após uma passagem completa pelo ciclo. Tal como acontece com a instrução "while", de um modo geral, o número de vezes que o corpo de uma instrução "repeat" é executado não pode ser calculado de antemão. Contudo, em oposição à instrução "while", o corpo do ciclo de uma instrução "repeat" é sempre executado pelo menos uma vez, porque a expressão que controla a execução do ciclo só é avaliada no fim do mesmo. Exemplo de um programa com um ciclo "repeat". Program Repeat ; VAR Num:INTEGER ; Begin Num:=100; REPEAT WRITE (Num,' '); Num:=Num-2; UNTIL (Num<1); End. "FOR" Quando se pretende que um conjunto de instruções se repita um número de vezes bem determinado, recorremos à instrução FOR. A sintaxe desta instrução é a seguinte : FOR <variável> := <início> TO <fim> DO A variável de ciclo mantém o número de repetições a efectuar, servindo de contador. Esta variável pode ser qualquer tipo escalar, excepto REAL. De notar que a variável de controlo do FOR nunca deve ser alterada dentro do ciclo, sob pena de se perder por completo o número de execuções e chegarmos a resultados bem diferentes dos pretendidos.
  • 3. Exemplo correcto de utilização de um FOR : Program ForExemplo; VAR valor : integer; Begin For valor := 1 to 10 do Begin Write ('Quadrado de ',valor,'='); Writeln (valor * valor); End; Readln End. Exemplo incorrecto de utilização de um FOR : Program ForExemplo; VAR valor : integer; Begin For valor := 1 to 10 do Begin Write ('Quadrado de ',valor,'='); Writeln (valor * valor); valor := valor + 1; End; Readln End. Saliente-se que o ciclo FOR pode assumir duas formas distintas de aplicação, isto é, a variável de controlo pode ser incrementada a cada execução, como nos exemplos anteriores, ou pode ser decrementada, sendo que neste caso a sintaxe assume a forma : FOR <variável> := <início> DOWNTO <fim> D