Mudanças entre as edições de "Estruturas de Repetição"
(→Problemas) |
|||
(15 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> | ||
+ | |||
+ | |||
+ | 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> | </pre> | ||
+ | Exemplo '''para de até''': | ||
+ | Um loop que apresenta até o numero 10. | ||
+ | <br> | ||
+ | var '''i''' : Inteiro. | ||
− | |||
<pre> | <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> | </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> | <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> | </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); } }