Ir para conteúdo

Arquivado

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

Diego RLS

Algoritmo

Recommended Posts

Segue primeiro o exercício:

Dados o maior número que um computador consegue representar e uma expressão de soma ou multiplicação entre dois inteiros, determine se ocorrerá overflow.
Entrada
A entrada contém um único conjunto de testes, que deve ser lido do dispositivo de entrada padrão (normalmente o teclado).
A primeira linha da entrada contém um inteiro N (1 ≤ N ≤ 500.000) representando o maior número que o computador consegue representar. A segunda linha contém um inteiro P (0 ≤ P ≤ 1000), seguido de um espaço em branco, seguido de um caractere C (que pode ser ‘+’ ou ‘*’, representando os operadores de adição e multiplicação, respectivamente), seguido de um espaço em branco, seguido de um outro inteiro Q (0 ≤ Q ≤ 1000). Essa linha representa a expressão P + Q, se o caractere C for ‘+’, ou P × Q, se o caractere C for ‘*’.
Saída
Seu algoritmo deve imprimir, na saída padrão, a palavra ‘OVERFLOW’ se o resultado da expressão causar um overflow, ou a palavra ‘OK’ caso contrário. Ambas as palavras devem ser escritas com letras maiúsculas.
Informações sobre a pontuação
• Em um conjunto de casos de teste que totaliza 30 pontos, N ≤ 10, P ≤ 10 e Q ≤ 10.
• Em um conjunto de casos de teste que totaliza 80 pontos, N ≤ 100, P ≤ 100 e Q ≤ 100.
Então já fiz um algoritmo aqui mas acho que deve ter alguma coisa errada e/ou incompleta mas foi o máximo que conseguir fazer quem poder ajudar agradeço:
Alg Overflow
inicio
var n, p, q, c, resultado :inteiro
n
= 1 500.000
p = 0 1.000
c = + ou *
q = 0 1.000
escreva (Digite o 1º numero)
leia (p)
escreva (Digite o operador "+" ou "*")
leia ( c )
escreva (Digite o 2º numero)
leia (q)
se (c = "+") então
inicio
resultado
= (p+q)
fim se
se
(c = "*") então
inicio
resultado
= (p*q)
fim se
se
(resultado 500.000)
inicio
escreva
(OK) caso contrario
se
(resultado > 500.000)
escreva (OVERFLOW)
fim se
fim

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.