Mudanças entre as edições de "Estruturas de Repetição"

(Problemas)
 
(18 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 2: Linha 2:
 
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 [https://www.youtube.com/watch?v=iGCccMqmJZ0&feature=youtu.be aqui].
 
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 [https://www.youtube.com/watch?v=iGCccMqmJZ0&feature=youtu.be aqui].
  
Sintaxe de repetição pré-testada:
+
As principais formas de implementar o loop são o '''enquanto''' (ou while) e o '''para de até''' (ou for).
 +
 
 +
Sintaxe '''enquanto''':
 +
 
 
<pre>
 
<pre>
Enquanto (condição) Faça
+
Pseudocódigo           
     (bloco de código)
+
                       
Fim Enquanto
+
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)
 +
}
 +
 
 
</pre>
 
</pre>
  
Sintaxe de repetição com variável de controle:
+
Exemplo '''enquanto''':
 +
 
 +
Um loop que apresenta até o numero 10.
 +
<br>
 +
var '''i''' : Inteiro.
 +
 
 
<pre>
 
<pre>
Para V De Vi Até Vf Faça
+
Pseudocódigo           
    (bloco de código)
+
                       
Fim Para
+
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;
 +
}
 
</pre>
 
</pre>
 +
 +
 +
Sintaxe '''para de até''':
 +
 +
<pre>
 +
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)
 +
}
 +
 +
 +
</pre>
 +
 +
Exemplo '''para de até''':
 +
 +
Um loop que apresenta até o numero 10.
 +
<br>
 +
var '''i''' : Inteiro.
 +
 +
<pre>
 +
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;
 +
}
 +
 +
</pre>
 +
 +
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 ===
 +
==== [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 ===
 +
 +
* [https://www.urionlinejudge.com.br/judge/pt/problems/view/1078 1078 - Tabuada]
 +
* [https://www.urionlinejudge.com.br/judge/pt/problems/view/1114 1114 - Senha Fixa]
 +
* [https://www.urionlinejudge.com.br/judge/pt/problems/view/1142 1142 - PUM]
 +
* [https://www.urionlinejudge.com.br/judge/pt/problems/view/1143 1143 - Quadrado e ao Cubo]
 +
* [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 22h36min de 8 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?