Home › Fóruns › Programação Básica › Exercício do Módulo 02 —-0022
- Este tópico contém 7 respostas, 3 vozes e foi atualizado pela última vez 3 anos, 7 meses atrás por Tutora Mayla.
-
AutorPosts
-
-
14 de abril de 2021 às 12:09 #65195Antônio Carlos Lemos SantosParticipante
Como fiz:
programa
{//Exercício 022- ordem crescente }
funcao inicio()
{inteiro n1, n2, ordem1, ordem2
escreva(“\nEscreva um número: “)
leia(n1)
escreva(“\nEscreva um segundo número: “)
leia(n2)
se (n1<n2) {
ordem1 = n1
ordem2 = n2
}
senao {
ordem1 = n2
ordem2= n1
}
se (n1<n2 ou n1>n2 ou n2<1 ou n2>n1) {
escreva(“\nOs números em ordem são “+ordem1+” e “+ ordem2)
} senao{
escreva(“\nNão tem como colocar esses valores em ordem, eles são iguais!”)
}}
}//Percebi que o professor fez de um jeito mais fácil , porém diferente. O que acharam?
-
14 de abril de 2021 às 12:10 #65196Antônio Carlos Lemos SantosParticipante
Obs: O programa está rodando perfeitamente(minha opinião!).
-
15 de abril de 2021 às 22:14 #65332Tutora MaylaMestre
Antônio, que bom que a resposta maravilhosa do Icaro te ajudou.
Vejo que sua intenção nose (n1<n2 ou n1>n2 ou n2<1 ou n2>n1)
era abranger os casos onde n1 é diferente de n2. Para realizar isto de forma mais fácil basta colocarse (n1 != n2)
. De uma olhadinha na aula M02A01 – Operadores Relacionais novamente para relembrar um pouco como os operadores relacionais funcionam.Se houver quaisquer outras dúvidas basta entrar em contato.
Parabéns pela dedicação ao estudo! Continue assim e irá aprender cada vez mais.
-
-
14 de abril de 2021 às 14:45 #65207IcaroFilhoModerador
Boa tarde Antônio.
Primeiro uma dica, tente mandar seus códigos formatados.
-> copie e cole o seu código normalmente aqui.
-> em seguida selecione ele todo.
-> clique em CODE na barra de formatação de texto.
(isto fará com que as tags sejam postas tanto no começo quanto no final).Quanto ao seu código:
realmente ele esta rodando sem nenhum problema e o método feito não esta errado. Contudo, esta gastando memoria desnecessariamente criando 2 variáveis para armazenar valores replicados em outras variáveis. Além de estar fazendo mais testes lógicos dentro dos condicionais.
(n1<n2 ou n1>n2 ou n2<1 ou n2>n1)
n1 < n2 -> n1 menor que n2
n1 > n2 -> n1 maior que n2
n2 < n1 -> n2 menor que n1
n2 > n1 -> n2 maior que n1
Se n1 é menor q n2 (n1 < n2), pode se afirmar que n2 é maior que n1 (n2 > n1)
se n1 é maior que n2 (n1 > n2), pode se afirmar que n2 é menor que n1 (n2 < n1)
ou seja, dos 4 testes lógicos, 2 são repetidos.Quando vamos para os testes condicionais vc primeiro cria uma condição para determinar uma ordem. se não for esta ordem, ela inverte.
dai uma condição para escrever a primeira ordem e se não encaixar, dar a mensagem de iguais. total de 4 condições.
Sendo mais simples determinar a primeira condiçãon1 > n2
depois uma outra condiçãon1 < n2
e a terceira seria a sobra. (que só poderia um numero ser igual ao outro).Não sei qual a resolução do professor. Mas baseado no seu, escrevi um código para vc analisar.
programa { funcao inicio() { inteiro num1, num2 escreva("Escreva um número: ") leia(num1) escreva("Escreva um segundo número: ") leia(num2) se (num1<num2) { escreva ("Es numeros em ordem são:", num1 ," - ",num2) }senao se (num2<num1) { escreva ("Es numeros em ordem são:", num2 ," - ",num1) }senao { escreva("Não tem como colocar esses valores em ordem, eles são iguais!") } } }
-
14 de abril de 2021 às 20:03 #65245Antônio Carlos Lemos SantosParticipante
Obrigado, Ícaro! Vou seguir suas dicas. Realmente pensei nisso…no consumo de memória. O código que você escreveu está ótimo, onde aprendeu sobre os testes condicionais? Tem algum livro para indicar? Muito obrigado mesmo.
-
14 de abril de 2021 às 21:04 #65249IcaroFilhoModerador
Boa noite. Então, eu aprendi aqui mesmo =)
é que eu fiz programação básica. depois JS, depois C# e por fim Python (que é a linguagem que resolvi ficar pelo fato de ser uma linguagem no meu ver, mais abrangente (consigo fazer a parte web, alguns softwares, bigdata e data science), embora tenha gostado muito do C# ).
Foram os únicos cursos de programação que fiz.
Eu acredito que tudo é o jeito que se estudar…
você tem q descobrir qual o melhor método de estudo pra você. Eu estudo da seguinte maneira.Assisto as aulas na sequencia (tratando-se de programação básica acho que é aula com um exercício no final) e durante a aula faço as anotações de tudo em um rascunho qualquer. depois faço os exercícios propostos (e não assisto a resolução dada, apenas quando encerro todos as aulas). por fim eu arrumo um tempo e passo todo o rascunho pra um arquivo de texto (word no caso). Isso me ajudou muito a fixar.
Assim na verdade o rascunho vira um e-book (tipo uma apostila bem organizada e estruturada).
toda vez que preciso achar alguma informação, vou no word e acho facilmente o que procuro.
Ou seja, eu fiz uma apostila para cada linguagem que estudei aqui.Sobre sua pergunta de testes condicionais. a resposta é simples. Exercício!
quanto mais você praticar, mais fluido as coisas ficam. Por isso o Guanabara fala para não copiar e colar trechos de código.
tente sempre digitar o máximo possível. além de te ajudar a fixar, vai melhorar seu raciocínio e sua coordenação motora (vai digitar mais rápido com o tempo) -
15 de abril de 2021 às 22:22 #65334Tutora MaylaMestre
Icaro, parabéns pela dedicação!!
Sua forma de estudar é muito boa, continue sempre revisando e exercitando tudo que aprende assim sempre estará se aprofundando mais e se lembrando do que aprendeu.
Outro hábito muito bom que percebo que você mantem é de sempre ajudar aos colegas, compartilhar conhecimento é sempre uma das melhores formas de aprender.
Permaneça com seus esforços e evoluirá muito em seus conhecimentos ao longo do tempo tornando-se um grande programador.
Se houver quaisquer dúvidas sobre os cursos basta entrar em contato que lhe ajudaremos.
-
-
15 de abril de 2021 às 08:57 #65273Antônio Carlos Lemos SantosParticipante
Ótimas dicas. Parabéns pela dedicação, eu tive que dar uma pausa por causa da faculdade(iniciei agora o 1 semestre) e retornei essa semana. Muito obrigado, você é 1000!
-
-
AutorPosts
- Você deve fazer login para responder a este tópico.