Pergunta
Escreva um programa que receba três números inteiros X , Y e Z e escreva-os em ordem crescente. Exemplo de escrita : alert (X+u)+Y+u " Z) . Faça um programa sem operadores lógicos e outro programa equivalente : com operadores s lógicos . Teste os dois por separado, deixando em cada caso um deles com comentários.
Solução
Verification of experts
4.3237 Voting
FelipeMestre · Tutor por 5 anos
Responder
Para resolver o primeiro problema, podemos utilizar um algoritmo simples de ordenação por seleção. O programa receberá três números inteiros X, Y e Z, e imprimirá os números em ordem crescente. Aqui está um exemplo de código em Python:<br /><br />```python<br /># Função para ordenar três números em ordem crescente<br />def ordenar_numeros(X, Y, Z):<br /> if X > Y:<br /> if X > Z:<br /> if Y > Z:<br /> return X, Y, Z<br /> else:<br /> return X, Z, Y<br /> else:<br /> if Y > Z:<br /> return Y, X, Z<br /> else:<br /> return Y, Z, X<br /> else:<br /> if Y > Z:<br /> if X > Z:<br /> return Y, X, Z<br /> else:<br /> return Y, Z, X<br /> else:<br /> return X, Y, Z<br /><br /># Solicita ao usuário que insira três números inteiros<br />X = int(input("Digite o primeiro número inteiro: "))<br />Y = int(input("Digite o segundo número inteiro: "))<br />Z = int(input("Digite o terceiro número inteiro: "))<br /><br /># Chama a função para ordenar os números e imprime o resultado<br />print("Ordem crescente:", ordenar_numeros(X, Y, Z))<br />```<br /><br />Para resolver o segundo problema, podemos criar dois programas equivalentes: um sem operadores lógicos e outro com operadores lógicos. Vou apresentar um exemplo de código em Python para ambos os casos:<br /><br />### Programa sem operadores lógicos<br /><br />```python<br /># Programa sem operadores lógicos<br />def programa_sem_operadores_logicos(X, Y, Z):<br /> if X > Y:<br /> if X > Z:<br /> if Y > Z:<br /> return X, Y, Z<br /> else:<br /> return X, Z, Y<br /> else:<br /> if Y > Z:<br /> return Y, X, Z<br /> else:<br /> return Y, Z, X<br /> else:<br /> if Y > Z:<br /> if X > Z:<br /> return Y, X, Z<br /> else:<br /> return Y, Z, X<br /> else:<br /> return X, Y, Z<br /><br /># Solicita ao usuário que insira três números inteiros<br />X = int(input("Digite o primeiro número inteiro: "))<br />Y = int(input("Digite o segundo número inteiro: "))<br />Z = int(input("Digite o terceiro número inteiro: "))<br /><br /># Chama a função sem operadores lógicos e imprime o resultado<br />print("Ordem crescente (sem operadores lógicos):", programa_sem_operadores_logicos(X, Y, Z))<br />```<br /><br />### Programa com operadores lógicos<br /><br />```python<br /># Programa com operadores lógicos<br />def programa_com_operadores_logicos(X, Y, Z):<br /> if X > Y:<br /> if X > Z:<br /> if Y > Z:<br /> return X, Y, Z<br /> else:<br /> return X, Z, Y<br /> else:<br /> if Y > Z:<br /> return Y, X, Z<br /> else:<br /> return Y, Z, X<br /> else:<br /> if Y > Z:<br /> if X > Z:<br /> return Y, X, Z<br /> else:<br /> return Y, Z, X<br /> else:<br /> return X, Y, Z<br /><br /># Solicita ao usuário que insira três números inteiros<br />X = int(input("Digite o primeiro número inteiro: "))<br />Y = int(input("Digite o segundo número inteiro: "))<br />Z = int(input("Digite o terceiro número inteiro: "))<br /><br /># Chama a função com operadores lógicos e imprime o resultado<br />print("Ordem crescente (com operadores lógicos):", programa_com_operadores_logicos(X, Y, Z))<br />```<br /><br />### Teste dos dois programas<br /><br />Para testar os dois programas, basta executar cada um deles separadamente. O primeiro programa, sem operadores lógicos, funcionará da mesma maneira que o segundo programa, com operadores lógicos. O resultado será o mesmo em ambos os casos, pois a lógica de ordenação é a mesma.
Clique para avaliar: