Alguem Poderia Me ajudar Nesta Questão??? Pascal!?

Problema

A disseminação dos computadores se deve principalmente à capacidade de eles se comportarem como outras máquinas, vindo a substituir muitas destas. Esta flexibilidade é possível porque podemos alterar a funcionalidade de um computador, de modo que ele opere da forma que desejarmos: essa é a base do que chamamos programação.

Tarefa

Sua tarefa é escrever um programa que faça com que o computador opere como uma calculadora simples. O seu programa deve ler expressões aritméticas e produzir como saída o valor dessas expressões, como uma calculadora faria. O programa deve implementar apenas um subconjunto reduzido das operações disponíveis em uma calculadora: somas e subtrações.

Entrada de Dados

A entrada é composta de vários conjuntos de testes. A primeira linha de um conjunto de testes contém um número inteiro m (1 <= m <= 100), indicando o número de operandos da expressão a ser avaliada. A segunda linha de um conjunto de testes contém a expressão aritmética a ser

Comments

  • É para fazer uma calculadora cujos operandos e operadores são dados em um "conjunto de testes" (que pode ser um arquivo ou uma série de dados lidos, um a um).

    Supondo que o "conjunto de testes" sejam entradas pelo console, vai se alternando números e operadores (sinais "+" e "-").

    Ainda falta algo no enunciado do problema que você digitou: como saber que é para terminar?

    Como os números têm de ficar entre 1 e 100, um número fora dessa faixa deve ser o sinal para terminar (suponho eu).

    Então, você precisará de três inteiros (um para cada operando, mais um para o resultado) e um caracter (para o operador).

    a, b, r: integer;

    c: char;

    Na minha opção, o conjunto de testes será lido pelo console, então a ordem é: operando, operador e operando, um em cada linha:

    readln(a);

    readln(c);

    readln(b);

    Mas o primeiro operando deve ser testado, para saber se não é hora de terminar:

    readln(a);

    while a >= 1 and a <= 100 do begin

    readln(c);

    readln(b);

    if c = '+' then r := a+b;

    if c = '-' then r := a-b;

    { Não está sendo tetado se o operador for outro }

    writeln(r); { Escreve o resultado }

    readln(a);

    end;

    Não vou fazer tudo porque você deve estudar e aprender a fazer sozinho, não é?

    Monta aí, porque boa parte do trabalho está feito.

    Bons estudos.

    (Agora, vamos ver se alguém, só interessado em "ganhar 10 pontos" vai entregar o trabalho pronto)

  • Cara questao complicada ...Eu estou estudando Pascal tbm ... velho tem que reciocinar muito ...ja vi que vc esta bem avançado ...

Sign In or Register to comment.