Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ArMexy

Resolvendo Algoritmos

Recommended Posts

Hello Ladies and Gentlemen!

 

Sou praticamento um newbie aqui, mas tenho a certeza que algum de vocês irá me ajudar e bastante! Vamos lá, estou estudando Ciencia da computação e todos sabemos que um dos mais temidos exercicios são criar um algoritmo. Vamos la , estou em duvida com 2 exercicios que lendo parece ser meio besta de resolver mais para mim que sou novato esta sendo muito complicado.

 

1) Criar um algoritmo que leia dois numeros inteiros e apresente uma mensagem indicando se o primeiro numero é multiplo do segundo.

 

2) Criar um algoritmo que leia dois valores inteiros ( considere que não serão lidos valores iguais ) e apresente-os em ordem crescente.

 

Poderiam me ajudar nessa ? Pode ser em portugues estruturado ou linguagem C. Se um de voces explicar o mais detalhado , eu seria muito grato. Agora que tenho mais tempo, eu realmente irei focar mais nessa materia, pois as outras são faceis :p ( Logica Computacional e Banco de Dados )

 

Aguardo um retorno!

Obrigado e tenham todos um ótimo dia!

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ai amigo, veja se te serve como base e monte o seu...

 

algoritmo "Multiplo"
// Função :
// Autor :
// Data : 06/04/2016
// Seção de Declarações
var
num1, num2, resto : inteiro
inicio
// Seção de Comandos
escreval("Digite o primeiro numero.")
leia(num1)
escreval("Digite o segundo numero.")
leia(num2)

resto <- num1 mod num2

se (resto = 0) entao
escreval(num1, " é multiplo de ",num2)
senao
escreval(num1, " não é multiplo de ",num2)
fimse
fimalgoritmo

 

 

 

algoritmo "Crescente"
// Função :
// Autor :
// Data : 06/04/2016
// Seção de Declarações
var
num1, num2 : inteiro
inicio
// Seção de Comandos
escreval("Digite o primeiro numero.")
leia(num1)
escreval("Digite o segundo numero.")
leia(num2)

se (num1 < num2) entao
escreval(num1, ", ",num2)
senao
escreval(num2, ", ",num1)
fimse
fimalgoritmo

 

Abraços!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

A maioria das pessoas, no fórum, participam de uma convenção social para não dar a resposta facilmente. É compreensível, porque o autor do tópico precisa entender como chegar ao resultado.
Chegaremos a solução quando suas ideias iniciais para a solução do problema forem postadas, então, guiaremos você a raciocinar corretamente.

 

Para começar, mostre-nos um pouco do que você sabe sobre números múltiplos, fora dos computadores. Na prática!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seja bem vindo ao Fórum ArMexy!

 

Como o João disse, existe não só uma convenção entre os membros, mas também regras no fórum (especificamente para áreas de algoritmos) para que perguntas do tipo "Resolvam X execício para mim" sejam evitadas, pois a principal ideia daqui é proporcionar um ambiente livre de preconceitos aonde todos possam compartilhar seu conhecimento com as demais pessoas que possam estar tendo dúvidas.

 

Como já houve a resposta com a base do algoritmo, não vou remover o tópico, porém evite este tipo de pergunta, tente fazer algumas partes e entender através de uma pesquisa base a ideia principal do algoritmo para depois pedir ajuda.

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, como fui eu que respondi, acho que posso falar um pouco sobre essas "convenções" que vocês adotam.

 

Eu respondi a pergunta do rapaz, simplesmente por achar que ao proporcionar para ele uma resposta direta ele poderia tentar entender o que foi feito e futuramente ter uma base para fazer as próprias atividades sem precisar depender de ninguém.

 

Nunca fui informado de nenhuma convenção, já fui usuário do fórum (num passado meio distante) e retornei a utiliza-lo a pouco tempo, mas o pouco que vi, só vi pessoas quese achando melhores que as outras, dando lições de moral sobre como elas devem estudar e o que pesquisar antes de vir ao fórum pedir ajuda.

 

Quem procura um fórum (isso acredito que falo por mim e por muitos) provavelmente já esgotou suas outras formas de pesquisa e quando vem até aqui é porque precisa, na verdade, da vivencia profissional das pessoas que aqui frequentam e não de lição de moral ou lição de lógica ou algoritmo (já que recebem isso em seus respectivos cursos).

 

Já postei outras dúvidas aqui e nunca tive uma resposta as minhas perguntas, talvez porque, pelas "convenções" alguém achou que eu não merecia uma resposta direta e que eu devesse pesquisar e estudar mais ou que a pergunta era muito direta e talvez "newbie" demais.

 

Enfim, como acho que infringi as "convenções" acho que devo ser banido do fórum, o que tanto faz, já que estou saindo mesmo por conta própria, pois acredito que meus mínimos conhecimentos, minhas dúvidas tolas e minha boa vontade em tentar ajudar, possam atrapalhar as "convenções" dos usuários do fórum.

 

Obrigado a todos pelas ajuda que eu recebi e peça desculpas pelas postagens tolas.

 

Abraços!!!

 

PS: Acredito (novamente em minha humilde opinião) que esse não seja realmente um ambiente livre de preconceito, pois se a resposta a uma pergunta direta, como foi a do tópico, é para que o usuário primeiro pesquise sobre o que são números múltiplos, já fica subentendido que a pessoa não tem a capacidade e nem a paciência para ele próprio ajudar fornecendo a explicação necessária, o que daria no mínimo algo para que o usuário pudesse começar a desenvolver o algoritmo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, como fui eu que respondi, acho que posso falar um pouco sobre essas "convenções" q...

Esse termo "convenções" só foi usado por mim, para a designar o ato comum, que a maioria das pessoas seguem. Não é nada definido no fórum (além da regra citada pelo Khaos).

 

Concordo que dar respostas para os newbies terem uma base é ótimo, mas como sou um newbie também, percebi que ao receber uma resposta respondida do Google, eu esquecia no outro dia. Eu esqueço porque não foi eu que pensei de tal forma, logo, não está fixado no meu cérebro. Foi aqui, que eu percebi que pedir ajuda na largada é mais importante que pedir para estar na chegada.

 

Sei que você só quer ajudar, então espero que reflita qual é a melhor forma de ajuda, para um noob.

 

Não sou staff, mas acredito que não serás banido por tentar ajudar.

 

Abraço e reflita! ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

lol Eu realemente não queria apenas a "resposta" e sim o entedimento.. vamos levar isso aparte. Perguntei essas questões pois realmente tenho duvidas, e foi apenas 2, eu tinha que fazer 10 ( E eu fiz ) . Irei mostrar abaixo as questões e as minhas respostas. Poderiam por gentileza me dizer se estão certos e se tiver algum erro me informar ? Me disseram que posso usar um programa chamado VisualG para ver se o algoritmo irá rodar perfeitamente? Poderiam me ajudar nessa ? Fiz todos os exercios , so gostaria de saber se em minhas respostas existe algum erro e se tiver me explicarem.

 

1)Criar um algoritmo que leia uma distancia e o total de litros de combustıvel gasto por um automovel para percorre-la, calcule e apresente na tela o consumo medio de combustıvel.

 

1) Algoritmo Distancia

var

D,L,cmc : real

Inicio

Escreva “ Media de Combustivel”

Leia d ,

Cmc = d/l

Escreva “ Media de Combustivel = “ , cmc

Fim

2)Criar um algoritmo que leia o valor correspondente ao salario mensal de um trabalhador e tambem o valor do percentual de reajuste a ser atribuıdo ao salario. Apresente na tela o valor do novo salario.

2) Algoritmo Salario

Var

SM, PR , novosal : real

Inicio

Escreva “ Digite o valor do salario”

Leia SM

Escreva “ Digite o valor do percetual de reajuste”
Leia PR

novoSal <- PR + SM

escreva “ O valor do reajuste é: “ , PR

escreva “ O valor do novo salario é: “ , novoSal

fim

 

 

3)O custo ao consumidor de um carro novo e a soma do custo de fabrica com a percentagem do distribuidor e dos impostos (aplicados ao custo de fabrica). Supondo que a percentagem do distribuidor seja de 28% e os impostos de 45%, criar um algoritmo que leia o custo de fabrica de um carro e apresenta na tela o custo final ao consumidor.

 

3) Algortimo Custo Veiculo

Var

Total,custofab, dist , imposto : real

Inicio

Escreva “ Digite custo da fabrica de um carro “

Leia custofab

Custofinal < - custofab + ( 0.28* custofab ) + ( 0.45* custofab )

Escreva “ Custofinal =”,custofab)

Fim

 

4)Uma conta telefonica e composta dos seguintes custos: assinatura == ´ > R$ 17,90, chamadas locais ==> R$ 0,04 por minuto, chamadas para celular ==> R$0,20 por minuto e interurbanos. Criar um algoritmo que calcule o valor total a ser pago sabendo que sera fornecida a quantidade de minutos de chamadas locais e tambem de chamadas para celular. O valor gasto em interurbanos foi de R$ 34,29. Apresentar na tela os custos e o valor total a ser pago

4) Algoritmo contatelfonica

Var

Mmc, mcl : inteiro

Ass, vcel , vcl , inter, valorfinal: real

Inicio

Escreva “ minutos de chamadas para celular”

Leia mcc

“Escreva “ minutos de chamadas locais”

Leia mcl

 

Assinatura : 17,90

Valorcel: 0

Valorcl: 0

Inter: 34,99

 

Valor final = ass + vcel + vcl + inter

Escreva “ O valor da conta : “ , valor final

Fim

 

5)Criar um algoritmo que leia o valor de uma conta de luz e, caso o valor seja maior que R$ 500,00 apresente na tela a mensagem “Voce esta gastando muito”. Caso contrario nao apresentar nenhuma mensagem.

 

5)alrogirtmo conta de luz

Var

Eletric : inteiro

Inicio

Escreva “ Eletricidade: “

Leia eletric

Se ( eletric > 500 ) entao

Escreva “ Voce esta gastando muito”

Senao

Escreva “ Voce nao esta gastando muito “

Fimse

Fim

 

6)Criar um algoritmo que leia um valor inteiro correspondente as horas mensais trabalhadas por um determinado funcionario, calcule e apresente na tela o seu salario. Para realizar os calculos necessarios, sabe-se que o funcionario ganha R$ 35,00 por hora. Sua carga horaria mensal e de 180 horas, as horas excedentes sao consideradas horas extras e devem sofrer um acrescimo de 40% por hora.

 

6)algoritmo salario

Var

Valorhora,horamensal,horaextras : inteiro

Inicio

Escreva “valor por hora”

Leia valohora

Escreva “horario Mensal “

Leia horamensal

Se ( “valorhora (35*60=valorhora) + ( 180*valorhora) entao

Escreva “Valor do salario é:” , valorhora

Se “Valormensal>=180*0,4” entao

Escreva “acrescimo valor salario” ,valormensal

Fimse

Fim

 

7)Criar um algoritmo que leia um numero inteiro e apresente na tela se esse numero e positivo ou negativo (considere o valor zero como positivo).

7) alrgoritmo negativopositivo

Var

P1,n2,0 : real

Inicio

Escreva “ Numero Positivo”

Leia p1

Escreva “ Numero Negativo”

Leia n2

Se (p1=>0) entao

Escreva “ O numero é positivo “

Senao

Escreva “ O numero é negativo”

Fimse

Fim

 

Criar um algoritmo que leia dois numeros inteiros e apresente uma mensagem indicando se o primeiro numero e multiplo do segundo.

8) algoritmo multiplo

Var

N1, n2, resto : inteiro

Inicio

Escreva “ Digite o primeiro numero”

Leia n1

Escreva “ Digite o segundo numero”

Leia n2

Resto <- num

Se ( resto = 0 ) entao

Escreva ( n1, “ é multiplo de “ , n2 )

Senao

Escreva ( n1, “não é multiplo de”, n2 )

Fimse

Fim

 

 

9)Criar um algoritmo que leia dois valores inteiros (considere que nao serao lidos valores iguais) e apresente-os em ordem crescente

 

 

9) Algoritmo Crescente

Var,

Num1, num2 : inteiro

Inicio

Escreva “ Digite o primeiro numero”
leia num1

Escreva “ digite o segundo numero”

Leia num2

Se (num1<num2) entao

Escreva ( num1 , “crescente”, n2 )

Senao

Escreva ( num2” crescente” , num1)

Fimse

Fim

 

10)Criar um algoritmo que leia a hora de inıcio e a hora de fim de um jogo de Xadrez (considere apenas horas inteiras, sem os minutos), calcule e apresente na tela a duracao do jogo em horas, sabendo-se que o tempo maximo de duracao do jogo é de 24 horas e que o jogo pode iniciar em um dia e terminar no dia seguinte.

10) algoritmo xadrez

Var

Horainic, horafim, qtdhorario : inteiro

Inicio

Escreva “ hora de inicio”

Leia horainic

Escreva “ Hora de Termino”

Leia horafim

Se ( horafim = Horainic ) entao

Escreva “ Tempo maximo de duração da partida atinguida : 24 horas”

Senao

Se “ horafim<horainic” entao

Escreva “valor incorreto”

Senao

Qtdhorario<- ( horafim – horainic )

Escreva “ duração partida : “qtdhorario,”horas”

Fimse

fim

 

 

 

 

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, como fui eu que respondi, acho que posso falar um pouco sobre essas "convenções" que vocês adotam.

 

Eu respondi a pergunta do rapaz, simplesmente por achar que ao proporcionar para ele uma resposta direta ele poderia tentar entender o que foi feito e futuramente ter uma base para fazer as próprias atividades sem precisar depender de ninguém.

 

Nunca fui informado de nenhuma convenção, já fui usuário do fórum (num passado meio distante) e retornei a utiliza-lo a pouco tempo, mas o pouco que vi, só vi pessoas quese achando melhores que as outras, dando lições de moral sobre como elas devem estudar e o que pesquisar antes de vir ao fórum pedir ajuda.

 

Quem procura um fórum (isso acredito que falo por mim e por muitos) provavelmente já esgotou suas outras formas de pesquisa e quando vem até aqui é porque precisa, na verdade, da vivencia profissional das pessoas que aqui frequentam e não de lição de moral ou lição de lógica ou algoritmo (já que recebem isso em seus respectivos cursos).

 

Já postei outras dúvidas aqui e nunca tive uma resposta as minhas perguntas, talvez porque, pelas "convenções" alguém achou que eu não merecia uma resposta direta e que eu devesse pesquisar e estudar mais ou que a pergunta era muito direta e talvez "newbie" demais.

 

Enfim, como acho que infringi as "convenções" acho que devo ser banido do fórum, o que tanto faz, já que estou saindo mesmo por conta própria, pois acredito que meus mínimos conhecimentos, minhas dúvidas tolas e minha boa vontade em tentar ajudar, possam atrapalhar as "convenções" dos usuários do fórum.

 

Obrigado a todos pelas ajuda que eu recebi e peça desculpas pelas postagens tolas.

 

Abraços!!!

 

PS: Acredito (novamente em minha humilde opinião) que esse não seja realmente um ambiente livre de preconceito, pois se a resposta a uma pergunta direta, como foi a do tópico, é para que o usuário primeiro pesquise sobre o que são números múltiplos, já fica subentendido que a pessoa não tem a capacidade e nem a paciência para ele próprio ajudar fornecendo a explicação necessária, o que daria no mínimo algo para que o usuário pudesse começar a desenvolver o algoritmo.

 

Sim, eu entendi sua motivação e não estou repreendendo nada. O fórum precisa de mais membros ativos e pró-ativos que possam nos ajudar a crescer juntos como uma comunidade.

 

As regras criadas aqui nesta área e em algumas outras são apenas guias de referências, pois nem sempre os membros que nos procuram esgotaram suas possibilidades de busca (digo isso por tempo de fórum), o que nos levou a sermos um pouco mais rigidos com determinadas regras.

 

Agradeço a preocupação em responder e esclarecer a situação, mas não há nenhum problema em responder a um membro que precisa de ajuda. Você, afinal, está certo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, isso é bem simples, mas antes de te ensinar, eu gostaria de te recomendar um curso de Portugol gratuito, bom e com certificado. Este é o "Curso em Vídeo".

O curso a qual me refiro é na plataforma do YouTube, lecionado pelo professor Gustavo Guanabara. O método que ele usa é para jovens e utiliza-se ferramentas para testar os códigos. Garanto que você não irá se decepcionar, até porque é GRÁTIS e interativo.

Para acessar as aulas,

. (Se você acessar e gostar, me avisa! Tenho maior orgulho desse professor.)


Como avaliei seus exercícios, acho que tenho direito de falar os seus erros comuns. O mais importante deles é a falta de prática ao digitar a sintaxe corretamente. Estás a esquecer operadores importantes e usando condições com expressões aritméticas, e não lógicas. Por isso, eu recomendei o curso acima. Ele é melhor que qualquer faculdade ou técnico!

Vamos aos recorrentes erros:

A segunda questão está certa, porém ela pede para ler o percentual. Normalmente, quando se pede isso, querem é em que o programa leia em porcento, faça o cálculo de acréscimo e acresça.
Exemplo:
"Quantos porcentos (%) você quer dar de aumento: "
Aí o usuário responderia em porcento. Algo como 5%. A partir deste percentual, você calcula o acréscimo e faz o aumento.
Lembrando que este exercício está correto, mas seria bom fazer desta forma que eu falei, também!
------------------------------------------------------------------------------------------------------------------------------------------------------------
No quarto exercício, temos um pequeno erro, onde você atribui a "Valorcel" e "Valorcl" o valor 0. Realmente é isso que o exercício pede?
------------------------------------------------------------------------------------------------------------------------------------------------------------
O quinto enunciado pede para não escrever nenhuma mensagem, caso seja menor que 500. (É uma besteira, mas talvez venha a ser avaliado)
------------------------------------------------------------------------------------------------------------------------------------------------------------
No sexto, temos condições sem expressões lógicas. Quando usamos condições, devemos nos preocupar se a expressão vai retornar em "verdadeiro" ou "falso", tornando-a lógica e não outra qualquer.
Na parte "(valorhora (35*60=valorhora) + ( 180*valorhora)", o computador iria interpretar isso como uma expressão aritmética, porque você está multiplicando e somando, e não retornando um valor lógico (verdadeiro ou falso).
No mesmo exercício, estás a pedir o valor a ser pago por hora, que é algo já descrito no enunciado não havendo necessidade de perguntar ao usuário.
Na segunda condição tu estás fazendo uma porcentagem com o 180hrs. O certo é fazer com o valor por hora (35,00) e adicionar este acréscimo a ele mesmo.
------------------------------------------------------------------------------------------------------------------------------------------------------------
O sétimo só precisa ler 1 valor e não precisa instruir o usuário se deve digitar positivo ou negativo.
------------------------------------------------------------------------------------------------------------------------------------------------------------
O oitavo está com erro em "Resto <- num". Vemos que a variável "num" nem se quer foi declarada, ou é necessária. O que será que a variável resto precisa? (Pense um pouco)
------------------------------------------------------------------------------------------------------------------------------------------------------------
O nono só não precisa usar a palavra "crescente" no comando de saída escreva. Pode ser legal usar uma vírgula!
------------------------------------------------------------------------------------------------------------------------------------------------------------
No décimo, usastes uma condição (horafim < horainic) que diz que se a hora final for menor que a inicial, os valores estão incorretos. Isso não é bem verdade, olhe:
Se o valor final for às 13hrs e o inicial às 14hrs, vemos que se passaram 23hrs, algo que não é um absurdo, logo, não estaria incorreto!
Tens que criar uma condição que calcule o tempo, caso o horário final seja menor que o inicial!
------------------------------------------------------------------------------------------------------------------------------------------------------------

Eu estarei disposto a te ajudar com as futuras dúvidas. É só ir postando e, cuidando com os "UPS". O Khaos explicou, neste tópico, que é contra as regras e podes se dar mal.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Certo! Já arrumei todos, e 7 deles rodaram e de acordo com o exericicio proposto ( testei com o VISUALG)

 

So estou em duvida em relacao ao exercicio 6.

 

Devo fazer um valor de 35x60 = nesse valor eu multiplico por 180 e se eu colocar um valor a mais que o valor do salario terei q multiplicar por 0,4 ( 40% ) ?

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Certo! Já arrumei todos, e 7 deles rodaram e de acordo com o exericicio proposto ( testei com o VISUALG)

 

So estou em duvida em relacao ao exercicio 6.

 

Devo fazer um valor de 35x60 = nesse valor eu multiplico por 180 e se eu colocar um valor a mais que o valor do salario terei q multiplicar por 0,4 ( 40% ) ?

 

Obrigado!

 

Ficaria assim:

Se (horamensal > 180) entao
  Acresc <- 35 + (35 * 0.4) //obtém quanto deve receber por hora extra.
  horaextra <- horamensal - 180 // obtém quantas horas trabalhou a mais que 180(extras)
  PagExtra <- horaextra * Acresc // isso diz quanto de extra ele vai receber no mes
  PagNormal <- 180 * 35 //diz quanto ele recebeu trabalhando ate 180hrs por mes
  Valormensal <- PagExtra + PagNormal //Soma o pagamento de horas normais e de horas extras com acrescimo
  Escreva (ValorMensal)
Senao
    ValorMensal <- horamensal * 35 //Calcula valor mensal se trbalhou até 180 hrs
    Escreva (ValorMensal)
FimSe

Encontrei dificuldade em te ajudar sem dar a resposta, então postei logo, já que você está empenhado em entender.

Veja com atenção cada parte e note a expressão da estrtura SE é lógica: (horamensal > 180), retornando alguns cálculos caso as horas mensais sejam maior que 180. Você tinha feito uma expressão do tipo aritmética, tipo: "Se (3x3+1) entao". Vê que não fazia sentido<<?

 

Vá postando mais dúvidas, estarei online. Acessou o curso em vídeo? Ajuda muito os universitários!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha fiz em linguagem C, pois vi uns tutorials e achei mais facil haha!

 

Olha:

 

#include<stdio.h>

#include<stdlib.h

Int main ()

Float horas_trab, hora_ex,salario,extra,total;

Printf ( “ salario funcionario \n \n”);

 

Printf (“Informe a quantidade de horas trabalhadas: \n “);

Scanf (“%f”, &horas_trab);

Printf (“Informe a quantidade de horas extras trabalhadas: \n “);

Scanf (“%f”, &hora_ex);

 

Salario = (horas_trab*35);

Extra = (hora_ex*35/100)*40;

Total = (extra+salario) ;

 

Printf (“\n Seu salario é: R$ %.2f” ,salario);

Printf (“\n Seu total de horas extras é: R$ %.2f \n”,extra);

Print (“\n Seu salario total é: R$ %.2f”,total);

Return 0;

 

Acho q não esteja errado, ou sei la haha.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem , de uma olha da 4) que eu fiz. Acho q esta certo. Estou com duvida na 10) , realmente nao entedi direito.

 

olha como ficou a minha 4)

 

Var

min_cel,min_cl : inteiro

ass,valor_cel,valor_cl,inter,valor_final : real

Inicio

Escreva (" Digite os minutos de celular: " )

leia (min_cel)

Escreva (" Digite os minutos de chamada locais: " )

leia (min_cl)

ass <- 17.90

valor_cel <- 0

valor_cl <- 0

inter <- 34.99

valor_cel <- min_cel*0.20

valor_cl <- min_cl*0.04

valor_final <- ass+valor_cel+valor_cl+inter

Escreva ("O valor da conta é: " , valor_final)

Fimalgoritmo

Compartilhar este post


Link para o post
Compartilhar em outros sites
Era exatamente isso que você fez no 4:

valor_cel <- min_cel*0.20

valor_cl <- min_cl*0.04

Ta certinho, assim como a de linguagem C! Ah, tira a parte em que você atribui zero a essas variáveis acima, não tem necessidade.

Na 10, para calcular quantas horas foram jogadas, temos dois casos específicos que sempre acontecerão. Quando a horafinal é maior que a horainicial (e.g., 10hrs > 8hrs) e quando a horafinal é menor que a inciao (e.g., 8hrs < 10hrs).

Usaríamos uma estrutura como essa, para representar esses dois casos:

Se  (horafinal > horainicial) entao
  Calcula hora
Senao
  calcula hora
FimSe

Quando a horafinal é maior que a inicial é facil de saber quantas horas se passaram, mas se for o contrário fica um pouco mais difícil de calcular.

Você tinha determinado que se horafinal < horainicial acontecesse, era dado como valores incorretos, mas só significa que jogaram de um dia para o outro. Tente fazer um cálculo de quantas horas foram jogadas quando a horafinal for menor que a inicial, na condição "Senao".

Poste mais dúvidas referente ao tópico.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.