LP2

LP2

LP2

profile-pic

Lista de Exercícios — for

Esta página reúne exercícios sobre a estrutura de repetição for em C#. Leia cada enunciado com atenção e desenvolva os programas conforme solicitado.

Selecione um exercício no menu lateral ou abaixo para começar.

Exercício 01 — Contagem crescente

Escreva um programa em C# que receba um número inteiro positivo N e exiba na tela todos os números de 1 até N, um por linha.

Caso o valor informado seja menor ou igual a zero, o programa deve informar: "Entrada inválida".

Exemplo de Entrada e Saída

Entrada:
N: 5

Saída:
1
2
3
4
5

Entrada:
N: 0

Saída:
Entrada inválida

Dica 1 — Raciocínio

Use um laço for que comece em 1 e vá até N, incrementando 1 a cada passo. Antes de entrar no laço, valide se N é positivo.

Dica 2 — Estrutura

Organize a lógica assim:

ler N

se (N <= 0)
    exibir "Entrada inválida"
senão
    para i de 1 até N
        exibir i
Solução — passo a passo

A solução será revelada em etapas. Tente completar cada passo antes de avançar.

Passo 1 — Leitura da entrada

Leia N e converta para inteiro:

Console.Write("N: ");
int n = Convert.ToInt32(Console.ReadLine());
Passo 2 — Validação

Verifique se N é positivo antes de continuar:

if (n <= 0)
{
    Console.WriteLine("Entrada inválida");
}
Passo 3 — Exibir a contagem

No bloco else, use o for para exibir cada número:

else
{
    for (int i = 1; i <= n; i++)
    {
        Console.WriteLine(i);
    }
}

Exercício 02 — Números pares no intervalo

Escreva um programa em C# que receba um número inteiro positivo N e exiba todos os números pares entre 1 e N.

Caso o valor informado seja menor ou igual a zero, o programa deve informar: "Entrada inválida".

Exemplo de Entrada e Saída

Entrada:
N: 10

Saída:
2
4
6
8
10

Entrada:
N: -4

Saída:
Entrada inválida

Dica 1 — Raciocínio

Um número é par quando o resto da divisão por 2 é zero. Você pode verificar isso dentro do laço, ou simplesmente iniciar o laço em 2 e incrementar de 2 em 2 — assim só números pares serão visitados.

Dica 2 — Estrutura

Organize a lógica assim:

ler N

se (N <= 0)
    exibir "Entrada inválida"
senão
    para i de 2 até N, incrementando 2
        exibir i
Solução — passo a passo

A solução será revelada em etapas. Tente completar cada passo antes de avançar.

Passo 1 — Leitura e validação
Console.Write("N: ");
int n = Convert.ToInt32(Console.ReadLine());

if (n <= 0)
{
    Console.WriteLine("Entrada inválida");
}
Passo 2 — Exibir os pares

No bloco else, inicie o laço em 2 e incremente de 2 em 2:

else
{
    for (int i = 2; i <= n; i += 2)
    {
        Console.WriteLine(i);
    }
}

Exercício 03 — Soma dos primeiros números naturais

Escreva um programa em C# que receba um número inteiro positivo N e calcule a soma dos números de 1 até N.

Ao final, o programa deve exibir o valor da soma obtida. Caso o valor informado seja menor ou igual a zero, o programa deve informar: "Entrada inválida".

Exemplo de Entrada e Saída

Entrada:
N: 5

Saída:
Soma = 15

Entrada:
N: 8

Saída:
Soma = 36

Dica 1 — Raciocínio

Use uma variável acumuladora soma, inicializada em zero. A cada iteração do for, some o valor atual de i a essa variável. Ao sair do laço, soma terá o resultado.

Dica 2 — Estrutura

Organize a lógica assim:

ler N

se (N <= 0)
    exibir "Entrada inválida"
senão
    soma = 0
    para i de 1 até N
        soma = soma + i
    exibir "Soma = " + soma
Solução — passo a passo

A solução será revelada em etapas. Tente completar cada passo antes de avançar.

Passo 1 — Leitura e validação
Console.Write("N: ");
int n = Convert.ToInt32(Console.ReadLine());

if (n <= 0)
{
    Console.WriteLine("Entrada inválida");
}
Passo 2 — Inicializar o acumulador

Declare e inicialize a variável que vai acumular a soma:

else
{
    int soma = 0;
Passo 3 — Somar e exibir
    for (int i = 1; i <= n; i++)
    {
        soma += i;
    }
    Console.WriteLine("Soma = " + soma);
}

Exercício 04 — Tabuada de um número

Em uma sala de aula, um aluno deseja treinar multiplicação de forma organizada. Escreva um programa em C# que receba um número inteiro e exiba a sua tabuada de 1 até 10.

O programa deve mostrar cada linha no formato: n x i = resultado.

Exemplo de Entrada e Saída

Entrada:
Número: 7

Saída:
7 x 1 = 7
7 x 2 = 14
7 x 3 = 21
7 x 4 = 28
7 x 5 = 35
7 x 6 = 42
7 x 7 = 49
7 x 8 = 56
7 x 9 = 63
7 x 10 = 70

Dica 1 — Raciocínio

O que muda a cada linha da tabuada é o multiplicador, que vai de 1 a 10. Use um for com i indo de 1 a 10 e calcule n * i em cada iteração.

Dica 2 — Estrutura

Organize a lógica assim:

ler n

para i de 1 até 10
    exibir n + " x " + i + " = " + (n * i)
Solução — passo a passo

A solução será revelada em etapas. Tente completar cada passo antes de avançar.

Passo 1 — Ler o número
Console.Write("Número: ");
int n = Convert.ToInt32(Console.ReadLine());
Passo 2 — Exibir a tabuada

Itere de 1 a 10 e exiba cada linha formatada:

for (int i = 1; i <= 10; i++)
{
    Console.WriteLine($"{n} x {i} = {n * i}");
}

Exercício 05 — Cálculo de fatorial

Em Matemática, o fatorial de um número natural N é o produto de todos os números inteiros positivos de N até 1. Representamos essa operação com o símbolo !.

A fórmula geral é: N! = N × (N - 1) × (N - 2) × ... × 3 × 2 × 1. Por definição, 0! = 1.

Exemplos matemáticos:
4! = 4 × 3 × 2 × 1 = 24
5! = 5 × 4 × 3 × 2 × 1 = 120
1! = 1

Escreva um programa em C# que receba um número inteiro não negativo e calcule o seu fatorial, isto é, realize essa multiplicação sucessiva usando uma estrutura de repetição for.

Caso o valor informado seja negativo, o programa deve informar: "Entrada inválida".

Exemplo de Entrada e Saída

Entrada:
N: 5

Saída:
5! = 120

Entrada:
N: 0

Saída:
0! = 1

Entrada:
N: -3

Saída:
Entrada inválida

Dica 1 — Raciocínio

O fatorial é calculado multiplicando todos os números de 1 até N. Use um acumulador multiplicativo iniciado em 1 — nunca em 0, pois multiplicar por zero zeraria tudo. Lembre-se: 0! = 1 por definição, então o laço simplesmente não executará nenhuma iteração.

Dica 2 — Estrutura

Organize a lógica assim:

ler N

se (N < 0)
    exibir "Entrada inválida"
senão
    fat = 1
    para i de 1 até N
        fat = fat * i
    exibir N + "! = " + fat
Solução — passo a passo

A solução será revelada em etapas. Tente completar cada passo antes de avançar.

Passo 1 — Leitura e validação
Console.Write("N: ");
int n = Convert.ToInt32(Console.ReadLine());

if (n < 0)
{
    Console.WriteLine("Entrada inválida");
}
Passo 2 — Inicializar o acumulador

Declare o acumulador com valor inicial 1. Use long para suportar valores grandes:

else
{
    long fat = 1;
Passo 3 — Calcular e exibir
    for (int i = 1; i <= n; i++)
    {
        fat *= i;
    }
    Console.WriteLine($"{n}! = {fat}");
}

Exercício 06 — Análise de temperaturas da semana

Uma escola deseja registrar as temperaturas máximas observadas ao longo de vários dias. Escreva um programa em C# que receba a quantidade de dias a serem analisados e, em seguida, leia a temperatura de cada dia.

Ao final, o programa deve informar quantos dias tiveram temperatura acima de 30 graus.

Considere que a quantidade de dias deve ser um inteiro positivo. Caso contrário, o programa deve informar: "Entrada inválida".

Exemplo de Entrada e Saída

Entrada:
Dias: 5
Temperatura 1: 28
Temperatura 2: 31
Temperatura 3: 33
Temperatura 4: 29
Temperatura 5: 35

Saída:
Quantidade de dias acima de 30 graus: 3

Entrada:
Dias: 0

Saída:
Entrada inválida

Dica 1 — Raciocínio

Você precisa repetir a leitura de temperatura exatamente dias vezes. Use um for controlado pelo número de dias. Dentro do laço, leia a temperatura e verifique se ela é maior que 30. Mantenha um contador de dias quentes.

Dica 2 — Estrutura

Organize a lógica assim:

ler dias

se (dias <= 0)
    exibir "Entrada inválida"
senão
    acima = 0
    para i de 1 até dias
        ler temperatura
        se (temperatura > 30)
            acima = acima + 1
    exibir "Quantidade de dias acima de 30 graus: " + acima
Solução — passo a passo

A solução será revelada em etapas. Tente completar cada passo antes de avançar.

Passo 1 — Leitura e validação
Console.Write("Dias: ");
int dias = Convert.ToInt32(Console.ReadLine());

if (dias <= 0)
{
    Console.WriteLine("Entrada inválida");
}
Passo 2 — Inicializar o contador
else
{
    int acima = 0;
Passo 3 — Laço de leitura e contagem
    for (int i = 1; i <= dias; i++)
    {
        Console.Write($"Temperatura {i}: ");
        double temp = Convert.ToDouble(Console.ReadLine());
        if (temp > 30) acima++;
    }
Passo 4 — Exibir o resultado
    Console.WriteLine("Quantidade de dias acima de 30 graus: " + acima);
}

Exercício 07 — Maior nota da turma

Um professor deseja identificar a maior nota obtida em uma atividade. Escreva um programa em C# que receba a quantidade de alunos e, em seguida, leia a nota de cada um deles.

Ao final, o programa deve exibir:

  • A maior nota informada
  • O número do aluno que obteve essa nota

Em caso de empate, considere o primeiro aluno que obteve a maior nota. Considere também que a quantidade de alunos deve ser um inteiro positivo. Caso contrário, o programa deve informar: "Entrada inválida".

Exemplo de Entrada e Saída

Entrada:
Alunos: 4
Nota do aluno 1: 7.5
Nota do aluno 2: 9.0
Nota do aluno 3: 8.0
Nota do aluno 4: 9.0

Saída:
Maior nota: 9.0 (Aluno 2)

Entrada:
Alunos: 3
Nota do aluno 1: 6.0
Nota do aluno 2: 5.5
Nota do aluno 3: 8.5

Saída:
Maior nota: 8.5 (Aluno 3)

Dica 1 — Raciocínio

Mantenha duas variáveis: maior (a maior nota encontrada até agora) e alunoMaior (índice do aluno que a obteve). Inicialize maior com um valor muito pequeno, como -1, para que a primeira nota lida sempre substitua. Compare cada nota com maior: se for estritamente maior, atualize ambas as variáveis.

Dica 2 — Estrutura

Organize a lógica assim:

ler alunos

se (alunos <= 0)
    exibir "Entrada inválida"
senão
    maior = -1
    alunoMaior = 0
    para i de 1 até alunos
        ler nota
        se (nota > maior)
            maior = nota
            alunoMaior = i
    exibir "Maior nota: " + maior + " (Aluno " + alunoMaior + ")"
Solução — passo a passo

A solução será revelada em etapas. Tente completar cada passo antes de avançar.

Passo 1 — Leitura e validação
Console.Write("Alunos: ");
int alunos = Convert.ToInt32(Console.ReadLine());

if (alunos <= 0)
{
    Console.WriteLine("Entrada inválida");
}
Passo 2 — Inicializar as variáveis de controle
else
{
    double maior = -1;
    int alunoMaior = 0;
Passo 3 — Laço de leitura e comparação
    for (int i = 1; i <= alunos; i++)
    {
        Console.Write($"Nota do aluno {i}: ");
        double nota = Convert.ToDouble(Console.ReadLine());
        if (nota > maior)
        {
            maior = nota;
            alunoMaior = i;
        }
    }
Passo 4 — Exibir o resultado
    Console.WriteLine($"Maior nota: {maior} (Aluno {alunoMaior})");
}

Exercício 08 — Ponto crítico de poluição

Uma equipe de monitoramento ambiental registrou o índice de poluição do ar em vários pontos de uma cidade. Escreva um programa em C# que receba a quantidade de pontos monitorados e, em seguida, leia o índice de poluição de cada ponto.

Ao final, o programa deve identificar o maior índice de poluição registrado e o número do ponto em que ele ocorreu. Em caso de empate, considere o primeiro ponto com aquele índice.

A quantidade de pontos deve ser um inteiro positivo. Caso contrário, o programa deve informar: "Entrada inválida".

Exemplo de Entrada e Saída

Entrada:
Pontos monitorados: 5
Índice do ponto 1: 42.5
Índice do ponto 2: 61.0
Índice do ponto 3: 58.3
Índice do ponto 4: 61.0
Índice do ponto 5: 39.8

Saída:
Maior índice de poluição: 61.0 (Ponto 2)

Entrada:
Pontos monitorados: 0

Saída:
Entrada inválida

Dica 1 — Raciocínio

Você precisa guardar duas informações: o maior índice encontrado até agora e o ponto onde ele apareceu. Inicialize o maior com um valor baixo, como -1, para que o primeiro índice lido seja aceito. Use > na comparação para manter o primeiro ponto em caso de empate.

Dica 2 — Estrutura

Organize a lógica assim:

ler pontos

se (pontos <= 0)
    exibir "Entrada inválida"
senão
    maiorIndice = -1
    pontoCritico = 0
    para i de 1 até pontos
        ler indice
        se (indice > maiorIndice)
            maiorIndice = indice
            pontoCritico = i
    exibir maiorIndice e pontoCritico
Solução — passo a passo

A solução será revelada em etapas. Tente completar cada passo antes de avançar.

Passo 1 — Leitura e validação
Console.Write("Pontos monitorados: ");
int pontos = Convert.ToInt32(Console.ReadLine());

if (pontos <= 0)
{
    Console.WriteLine("Entrada inválida");
}
Passo 2 — Inicializar o maior e o ponto
else
{
    double maiorIndice = -1;
    int pontoCritico = 0;
Passo 3 — Ler e comparar cada ponto
    for (int i = 1; i <= pontos; i++)
    {
        Console.Write($"Índice do ponto {i}: ");
        double indice = Convert.ToDouble(Console.ReadLine());
        if (indice > maiorIndice)
        {
            maiorIndice = indice;
            pontoCritico = i;
        }
    }
Passo 4 — Exibir o ponto crítico
    Console.WriteLine($"Maior índice de poluição: {maiorIndice:F1} (Ponto {pontoCritico})");
}