Fala galera da programação, tudo beleza?
🚀 Hoje vamos desenvolver um programa simples em diversas linguagens de programação para encontrar o maior e o menor número dentre cinco fornecidos pelo usuário! 🤓💻
Dicas para o exercício
Utilizar variáveis adicionais para armazenar o maior e para armazenar o menor.
Comparar cada número lido com cada uma dessas variáveis adicionais.
Lembre-se de atribuir um valor inicial para as variáveis adicionais, que pode ser, por exemplo, o primeiro número lido.
Este exercício em C++ nos ensina alguns conceitos importantes:
Uso de variáveis: Aprendemos como declarar e usar variáveis em C++, incluindo a atribuição de valores e a atualização dessas variáveis durante a execução do programa.
Estruturas de controle de fluxo: O uso do loop for
nos permite iterar sobre um conjunto de números predefinido, enquanto as estruturas condicionais if
e else if
nos permitem comparar e atualizar variáveis com base em condições específicas.
Algoritmo de encontrar o maior e o menor número: Este exercício nos mostra uma maneira simples de encontrar o maior e o menor número em um conjunto de números fornecidos pelo usuário, usando variáveis adicionais para acompanhar esses valores durante a execução do programa.
Entrada e saída básicas: Aprendemos a usar cin
para obter entrada do usuário e cout
para exibir saída na tela.
Boas práticas de programação: O exercício também destaca a importância de usar variáveis descritivas e comentários claros para tornar o código mais compreensível e fácil de dar manutenção.
Vamos aos códigos!
/****************************************************************************** Criado pelo Professor Giovani Da Cruz https://giovanidacruz.com.br *******************************************************************************/ #include <iostream> using namespace std; int main() { int numero, maior, menor; // Lê o primeiro número e o considera tanto o maior quanto o menor cout << "Digite o 1º número: "; cin >> numero; maior = numero; menor = numero; // Loop para ler os próximos 4 números e atualizar o maior e o menor for (int i = 2; i <= 5; ++i) { cout << "Digite o " << i << "º número: "; cin >> numero; if (numero > maior) { maior = numero; } else if (numero < menor) { menor = numero; } } // Mostra o maior e o menor número cout << "O maior número é: " << maior << endl; cout << "O menor número é: " << menor << endl; return 0; }
Este programa solicita ao usuário que insira 5 números e, à medida que os números são inseridos, verifica se são maiores ou menores do que os valores atuais armazenados nas variáveis maior
e menor
, atualizando-as conforme necessário. No final, imprime o maior e o menor número inserido.
A estratégia utilizada no programa foi a seguinte:
numero
, maior
e menor
. A variável numero
será usada para ler os números fornecidos pelo usuário, enquanto maior
e menor
serão usadas para armazenar o maior e o menor número, respectivamente.maior
e menor
, pois, no início, esse número é o único e, portanto, o maior e o menor.for
, o programa lê os próximos quatro números fornecidos pelo usuário. Começando do segundo número, até o quinto, ele compara cada número com os valores armazenados em maior
e menor
.maior
e menor
: Se o número lido for maior do que o valor atual de maior
, maior
é atualizado com esse número. Se o número lido for menor do que o valor atual de menor
, menor
é atualizado com esse número.Essa abordagem garante que, a cada iteração do loop, os valores de maior
e menor
são atualizados conforme necessário, resultando nos valores corretos no final da execução do programa.
/****************************************************************************** Criado pelo Professor Giovani Da Cruz https://giovanidacruz.com.br *******************************************************************************/ #include <stdio.h> int main() { int numero, maior, menor, i; // Lê o primeiro número e o considera tanto o maior quanto o menor printf("Digite o 1º número: "); scanf("%d", &numero); maior = numero; menor = numero; // Loop para ler os próximos 4 números e atualizar o maior e o menor for (i = 2; i <= 5; ++i) { printf("Digite o %dº número: ", i); scanf("%d", &numero); if (numero > maior) { maior = numero; } else if (numero < menor) { menor = numero; } } // Mostra o maior e o menor número printf("O maior número é: %d\n", maior); printf("O menor número é: %d\n", menor); return 0; }
Este programa realiza exatamente as mesmas operações que o programa em C++ que escrevi anteriormente, mas utiliza a sintaxe da linguagem C. As diferenças principais incluem a troca de cout
e cin
por printf
e scanf
, respectivamente, e a remoção do namespace std
. O restante da lógica permanece a mesma.
{ Criado pelo Professor Giovani Da Cruz https://giovanidacruz.com.br } program EncontrarMaiorMenor; var numero, maior, menor, i: integer; begin // Lê o primeiro número e o considera tanto o maior quanto o menor writeln('Digite o 1º número: '); readln(numero); maior := numero; menor := numero; // Loop para ler os próximos 4 números e atualizar o maior e o menor for i := 2 to 5 do begin writeln('Digite o ', i, 'º número: '); readln(numero); if numero > maior then maior := numero else if numero < menor then menor := numero; end; // Mostra o maior e o menor número writeln('O maior número é: ', maior); writeln('O menor número é: ', menor); end.
Este programa em Pascal faz a mesma tarefa que os programas anteriores: lê 5 números do usuário, encontra o maior e o menor entre eles e os exibe na tela. A sintaxe em Pascal é um pouco diferente das outras linguagens, mas a lógica geral é a mesma.
''' Criado pelo Professor Giovani Da Cruz https://giovanidacruz.com.br ''' # Lê o primeiro número e o considera tanto o maior quanto o menor numero = int(input("Digite o 1º número: ")) maior = numero menor = numero # Loop para ler os próximos 4 números e atualizar o maior e o menor for i in range(2, 6): numero = int(input("Digite o {}º número: ".format(i))) if numero > maior: maior = numero elif numero < menor: menor = numero # Mostra o maior e o menor número print("O maior número é:", maior) print("O menor número é:", menor)
Este programa em Python realiza a mesma tarefa que os programas anteriores: lê 5 números do usuário, encontra o maior e o menor entre eles e os exibe na tela. A sintaxe em Python é mais simples e legível, o que torna o código mais fácil de entender.
/****************************************************************************** Criado pelo Professor Giovani Da Cruz https://giovanidacruz.com.br *******************************************************************************/ using System; class Program { static void Main(string[] args) { int numero, maior, menor; // Lê o primeiro número e o considera tanto o maior quanto o menor Console.Write("Digite o 1º número: "); numero = Convert.ToInt32(Console.ReadLine()); maior = numero; menor = numero; // Loop para ler os próximos 4 números e atualizar o maior e o menor for (int i = 2; i <= 5; i++) { Console.Write("Digite o {0}º número: ", i); numero = Convert.ToInt32(Console.ReadLine()); if (numero > maior) { maior = numero; } else if (numero < menor) { menor = numero; } } // Mostra o maior e o menor número Console.WriteLine("O maior número é: {0}", maior); Console.WriteLine("O menor número é: {0}", menor); } }
Este programa em C# realiza a mesma tarefa que os programas anteriores: lê 5 números do usuário, encontra o maior e o menor entre eles e os exibe na tela. A sintaxe em C# é semelhante à de outras linguagens como Java e C++, mas com algumas diferenças na maneira como a entrada e saída são tratadas.
/****************************************************************************** Criado pelo Professor Giovani Da Cruz https://giovanidacruz.com.br *******************************************************************************/ import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int numero, maior, menor; // Lê o primeiro número e o considera tanto o maior quanto o menor System.out.print("Digite o 1º número: "); numero = scanner.nextInt(); maior = numero; menor = numero; // Loop para ler os próximos 4 números e atualizar o maior e o menor for (int i = 2; i <= 5; i++) { System.out.print("Digite o " + i + "º número: "); numero = scanner.nextInt(); if (numero > maior) { maior = numero; } else if (numero < menor) { menor = numero; } } // Mostra o maior e o menor número System.out.println("O maior número é: " + maior); System.out.println("O menor número é: " + menor); scanner.close(); } }
Este programa em Java realiza a mesma tarefa que os programas anteriores: lê 5 números do usuário, encontra o maior e o menor entre eles e os exibe na tela. Java possui uma sintaxe semelhante à de C#, mas com algumas diferenças na manipulação de entrada e saída e na estrutura do loop.
/****************************************************************************** Criado pelo Professor Giovani Da Cruz https://giovanidacruz.com.br *******************************************************************************/ use std::io; fn main() { let mut maior; let mut menor; // Lê o primeiro número e o considera tanto o maior quanto o menor println!("Digite o 1º número:"); let mut numero = String::new(); io::stdin().read_line(&mut numero).expect("Falha ao ler a entrada"); let numero: i32 = numero.trim().parse().expect("Entrada inválida"); maior = numero; menor = numero; // Loop para ler os próximos 4 números e atualizar o maior e o menor for i in 2..=5 { println!("Digite o {}º número:", i); let mut input = String::new(); io::stdin().read_line(&mut input).expect("Falha ao ler a entrada"); let numero: i32 = input.trim().parse().expect("Entrada inválida"); if numero > maior { maior = numero; } else if numero < menor { menor = numero; } } // Mostra o maior e o menor número println!("O maior número é: {}", maior); println!("O menor número é: {}", menor); }
Este programa em Rust realiza a mesma tarefa que os programas anteriores: lê 5 números do usuário, encontra o maior e o menor entre eles e os exibe na tela. Rust possui uma sintaxe única e segura, com um sistema de tipos poderoso que garante a segurança do programa em tempo de compilação.
/****************************************************************************** Criado pelo Professor Giovani Da Cruz https://giovanidacruz.com.br *******************************************************************************/ package main import ( "fmt" ) func main() { var numero, maior, menor int // Lê o primeiro número e o considera tanto o maior quanto o menor fmt.Print("Digite o 1º número: ") fmt.Scanln(&numero) maior = numero menor = numero // Loop para ler os próximos 4 números e atualizar o maior e o menor for i := 2; i <= 5; i++ { fmt.Printf("Digite o %dº número: ", i) fmt.Scanln(&numero) if numero > maior { maior = numero } else if numero < menor { menor = numero } } // Mostra o maior e o menor número fmt.Println("O maior número é:", maior) fmt.Println("O menor número é:", menor) }
Este programa em Go realiza a mesma tarefa que os programas anteriores: lê 5 números do usuário, encontra o maior e o menor entre eles e os exibe na tela. A sintaxe em Go é diferente de outras linguagens, mas é bastante simples e intuitiva.
O exercício de desenvolver um programa para encontrar o maior e o menor número entre cinco fornecidos pelo usuário foi uma ótima oportunidade para explorar e comparar diferentes linguagens de programação. Ao escrever o mesmo algoritmo em linguagens como C++, C, Pascal, Python, C#, Java, Rust e Go, pude perceber as nuances e diferenças entre essas linguagens, além de fortalecer meu entendimento sobre os conceitos fundamentais de programação.
Este exercício demonstra a versatilidade e a diversidade de opções disponíveis para os desenvolvedores ao escolherem uma linguagem para resolver um determinado problema. Cada linguagem tem sua própria sintaxe, estilo e conjunto de recursos, mas todas compartilham a capacidade de expressar soluções para problemas complexos de maneira clara e eficiente.
Além disso, essa experiência reforçou a importância do pensamento algorítmico e da lógica de programação, habilidades essenciais que transcendem a linguagem específica utilizada. Independentemente da linguagem escolhida, a capacidade de quebrar um problema em etapas menores, identificar padrões e desenvolver soluções eficazes é fundamental para o sucesso na programação.
Em resumo, este exercício foi uma oportunidade valiosa para aprimorar minhas habilidades de programação, expandir meu conhecimento sobre diferentes linguagens e reforçar princípios fundamentais de desenvolvimento de software.
Beleza pessoal? Espero que tenham gostado.
Dúvidas ou sugestões? Deixe o seu comentário!
Um abraço e até o próximo post. Valeu!
#Programação
#Desenvolvimento
#Aprendizado
#Coding
#Tech
#LinguagensDeProgramação
#GiovaniDaCruz
Está gostando do conteúdo?
Considere pagar um cafezinho para nossa equipe!