Estruturas de Repetição: mudanças entre as edições
De Wikiunicentro
Sem resumo de edição |
|||
(12 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
Linha 7: | Linha 7: | ||
<pre> | <pre> | ||
Pseudocódigo | Pseudocódigo | ||
Enquanto (condição) Faça | Enquanto (condição) Faça | ||
(bloco de código) | (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> | ||
Linha 22: | Linha 50: | ||
<pre> | <pre> | ||
Pseudocódigo | Pseudocódigo | ||
i = 1; | i = 1; | ||
Enquanto (i <= 10) Faça | |||
escreva(i); | |||
i = i + 1; | 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> | ||
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 | |||
escreva(i); | |||
Fim Para | |||
__________________ | |||
Pascal | Pascal | ||
FOR i:=1 to 10 + 1 do | FOR i := 1 to 10 + 1 do | ||
begin | begin | ||
write(i); | |||
end; | end; | ||
__________________ | __________________ | ||
Linguagem C | Linguagem C | ||
for(i= 1; i <= 10 ; i = i + 1){ | |||
for(i = 1; i <= 10; i = i + 1){ | |||
print("%d",i); | |||
} | } | ||
__________________ | __________________ | ||
Python | Python | ||
for i in range( | 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 | 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/ | * [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); } }