Estruturas de Repetição: mudanças entre as edições

De Wikiunicentro
Maprestes (discussão | contribs)
Sem resumo de edição
Maprestes (discussão | contribs)
 
(13 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 7: Linha 7:


<pre>
<pre>
Pseudocódigo            | Pascal                  | Linguagem C          | Python
Pseudocódigo             
                         |                        |                      |
                          
Enquanto (condição) Faça | while (condição) do     | while(condição){    | while(condição):
Enquanto (condição) Faça  
   (bloco de código)     |   begin                |   (bloco de código) |   (bloco de código)
  (bloco de código)     
Fim Enquanto            |      (bloco de código) | }                   |
FimEnquanto           
                        |    end;                |                      |
________________________
 
Pascal
 
while(condição) do
   begin
      (bloco de código)
   end
________________________
 
Linguagem C
 
while(condição){
   (bloco de código)
}
________________________
 
Python
 
while(condição):
   (bloco de código)
________________________
 
C++
 
while(condição){
  (bloco de código)
}
 
</pre>
</pre>


Linha 22: Linha 50:


<pre>
<pre>
Pseudocódigo            | Pascal                  | Linguagem C          | Python
Pseudocódigo             
                         |                        |                      |
                          
i = 1;                  | i := 1;                 | i = 1;               | i = 1;
i = 1;                   
                        |                        |                      |
                       
Enquanto (i <= 10) Faça  | while (i <= 10) do      | while(i <= 10){      | while(i <= 10):
Enquanto (i <= 10) Faça 
   escreva(i);          |    begin                |    printf("%d",x);  |    print(i);
  escreva(i);          
   i = i + 1;           |      writeln(i);       |   i = i + 1;       |    i = i + 1;
  i = i + 1;          
Fim Enquanto            |      i:= i+1;         | }                   |
Fim Enquanto           
                        |    end;                |                      |
                       
________________________
 
Pascal
 
i := 1;
 
while(i <= 10)do
  begin
      writeln(i);
      i:= i+1;
  end;
________________________
 
Linguagem C
 
i = 1;
 
while(i <= 10){
   print("%d",i);
   i = i+1;
}
________________________
 
Python
 
i = 1;
 
while(i<=100):
  print(i);
   i = i + 1;
 
________________________
 
C++
 
i = 1;
 
while(i <= 10){
  cout << i;
  i = i+1;
}
</pre>
</pre>


Linha 43: Linha 112:
Fim Para             
Fim Para             
__________________
__________________
Pascal
Pascal


Linha 50: Linha 120:
   end;
   end;
__________________
__________________
Linguagem C
Linguagem C
for(variável = valor inicial; variável <= valor inicial; variável = variável + 1){
for(variável = valor inicial; variável <= valor inicial; variável = variável + 1){
       (bloco de código)
       (bloco de código)
}
}
__________________
__________________
Python
Python


for x in range(valor inicial , valor final):
for x in range(valor inicial , valor final):
   (bloco de código)
   (bloco de código)
__________________
C++
for(variável = valor inicial; variável <= valor inicial; variável = variável + 1){
      (bloco de código)
}


</pre>
</pre>
Linha 69: Linha 150:


<pre>
<pre>
Pseudocódigo
Pseudocódigo                
 
                           
Para i de 1 ATÉ 10 + 1 faça   
Para i de 1 ATÉ 10 + 1 faça   
     escreva(i);
     escreva(i);            
Fim Para          
Fim Para                    
                           
__________________
__________________
Pascal
Pascal


FOR i:=1 to 10 + 1 do
FOR i := 1 to 10 + 1 do
   begin
   begin
    escreva(i);
      write(i);
   end;
   end;
__________________
__________________
Linguagem C
Linguagem C
for(i= 1; i <= 10 ; i = i + 1){
 
      printf("%d",i);
for(i = 1; i <= 10; i = i + 1){
  print("%d",i);
}
}
__________________
__________________
Python
Python


for i in range(1 , 10 + 1):
for i in range (i,10 + 1):
   print(i);
   print(i);
__________________
C++;
for(i = 1; i <= 10; i = i + 1){
  cout << i;
}


</pre>
</pre>


Note que usando o '''enquanto''' dispensamos o incremento da variavel controladora dentro do bloco de código,  
Note que usando o '''enquanto''' dispensamos o incremento da variável controladora dentro do bloco de código,  
esse incremento é definido na assinatura loop.
esse incremento é definido na assinatura loop.
=== Exemplo ===
==== [https://www.urionlinejudge.com.br/judge/pt/problems/view/1078 1078 - Tabuada] ====
<pre>
#include <stdio.h>
#include <stdlib.h>
int main(){
int n = 0 ,i = 0;
scanf("%d", &n);
for(i = 1; i < 11; i++){
int resultado = i * n;
printf("%d x %d = %d\n",i,n,resultado);
}
}
</pre>


=== Problemas ===
=== Problemas ===


* [https://www.urionlinejudge.com.br/judge/pt/problems/view/1078 Tabuada]
* [https://www.urionlinejudge.com.br/judge/pt/problems/view/1078 1078 - Tabuada]
* [https://www.urionlinejudge.com.br/judge/pt/problems/view/1142 PUM]
* [https://www.urionlinejudge.com.br/judge/pt/problems/view/1114 1114 - Senha Fixa]
* [https://www.urionlinejudge.com.br/judge/pt/problems/view/1143 Quadrado e ao Cubo]
* [https://www.urionlinejudge.com.br/judge/pt/problems/view/1142 1142 - PUM]
* [https://www.urionlinejudge.com.br/judge/pt/problems/view/1153 Fatorial Simples]
* [https://www.urionlinejudge.com.br/judge/pt/problems/view/1143 1143 - Quadrado e ao Cubo]
* [https://www.urionlinejudge.com.br/judge/pt/problems/view/1114 Senha Fixa]
* [https://www.urionlinejudge.com.br/judge/pt/problems/view/1153 1153 - Fatorial Simples]
 
==== Quer mais? ====
 
* [https://www.urionlinejudge.com.br/judge/pt/problems/view/1064 1064 - Positivos e Média]
* [https://www.urionlinejudge.com.br/judge/pt/problems/view/1074 1074 - Par ou Ímpar]
* [https://www.urionlinejudge.com.br/judge/pt/problems/view/1151 1151 - Fibonacci Fácil]
* [https://www.urionlinejudge.com.br/judge/pt/problems/view/2862 2862 - Inseto!]

Edição atual tal como às 01h36min de 9 de março de 2020

Estruturas de Repetição

As estruturas de repetição também são conhecidas como laços (loops) e são utilizados para executar, repetidamente, uma instrução ou bloco de instrução enquanto determinada condição estiver sendo satisfeita. Assista a videoaula sobre este tipo de estrutura aqui.

As principais formas de implementar o loop são o enquanto (ou while) e o para de até (ou for).

Sintaxe enquanto:

Pseudocódigo             
                         
Enquanto (condição) Faça 
   (bloco de código)     
FimEnquanto             
________________________

Pascal

while(condição) do
   begin
      (bloco de código)
   end
________________________

Linguagem C

while(condição){
   (bloco de código)
}
________________________

Python

while(condição):
   (bloco de código)
________________________

C++

while(condição){
   (bloco de código)
}

Exemplo enquanto:

Um loop que apresenta até o numero 10.
var i : Inteiro.

Pseudocódigo             
                         
i = 1;                   
                         
Enquanto (i <= 10) Faça  
   escreva(i);           
   i = i + 1;            
Fim Enquanto             
                         
________________________

Pascal 

i := 1;

while(i <= 10)do
   begin
      writeln(i);
      i:= i+1;
   end;
________________________

Linguagem C

i = 1;

while(i <= 10){
   print("%d",i);
   i = i+1;
}
________________________

Python

i = 1;

while(i<=100):
   print(i);
   i = i + 1;

________________________

C++

i = 1;

while(i <= 10){
   cout << i;
   i = i+1;
}


Sintaxe para de até:

Pseudocódigo

Para (variavel) de (valor inicial) ATÉ (valor final) passo (incremento) faça  
   (bloco de código)
Fim Para            
__________________

Pascal

FOR (variável):=(valor inicial) to (valor final) do	
   begin
      (bloco de código)
   end;
__________________

Linguagem C

for(variável = valor inicial; variável <= valor inicial; variável = variável + 1){
      (bloco de código)
}
__________________

Python

for x in range(valor inicial , valor final):
   (bloco de código)
__________________

C++

for(variável = valor inicial; variável <= valor inicial; variável = variável + 1){
      (bloco de código)
}


Exemplo para de até:

Um loop que apresenta até o numero 10.
var i : Inteiro.

Pseudocódigo                 
                             
Para i de 1 ATÉ 10 + 1 faça  
    escreva(i);              
Fim Para                     
                             
__________________


Pascal

FOR i := 1 to 10 + 1 do
   begin
      write(i);
   end;
__________________

Linguagem C

for(i = 1; i <= 10; i = i + 1){
   print("%d",i);
}
__________________

Python

for i in range (i,10 + 1):
   print(i);
__________________
 
C++;

for(i = 1; i <= 10; i = i + 1){
   cout << i;
}

Note que usando o enquanto dispensamos o incremento da variável controladora dentro do bloco de código, esse incremento é definido na assinatura loop.

Exemplo

1078 - Tabuada

#include <stdio.h>
#include <stdlib.h>

int main(){
	int n = 0 ,i = 0;

	scanf("%d", &n);

	for(i = 1; i < 11; i++){
		int resultado = i * n;
		printf("%d x %d = %d\n",i,n,resultado);
	}
}

Problemas

Quer mais?