• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

rkixa

Calculadora Simples (o meu 1º programa)

10 mensagens neste tópico

Boas,

Estou no 1º ano do Curso profissional de Programação e Gestão de Sistemas Informáticos e aqui vai o meu 1º programa.

Program somar;

uses crt;

Var n1,n2,soma: integer;

Begin

ClrScr;
Write('Numero 1:');
Readln(n1);

Write('Numero 2:');
Readln(n2);

soma:=(n1+n2);
Writeln('Resultado:',soma);

Readkey;

End. 

Como eu gosto de saber mais do que o que aprendo nas aulas andei a tentar fazer qualquer coisa extra-aula e lá saiu isso fiz isso e ainda ainda só ando a dar algoritmos é uma coisa muito básica mas já é um começo.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Simplificação:

Program somar;

Var n1,n2: integer;

Begin

Write('Numero 1:');
Read(n1);

Write('Numero 2:');
Read(n2);

Writeln('Resultado:', n1+n2);
Readln;

End.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

TheGlorious, a tua simplificação altera o comportamento do programa, porque ele quer que cada pergunta seja apresentada num "ecrã diferente". Embora, no fundo, seja o mesmo...

Rkixa, o programa está certo, agora tens de desenvolver outras funcionalidades. Sugeria-te criar agora as outras 3 operações básicas, subtracção, divisão e multiplicação, e depois tentar juntá-las todas no teu programa, perguntando ao utilizador que tipo de operação ele pretende efectuar.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Pois, esqueci-me disso, porque eu custumo usar o PascalZIM e não existe o uses e penso que também não tem o clearscreen.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Exelente programa rkixa! Escolheste bem a introdução d elinhas em branco a separar algumas "zonas lógicas" do teu programa. Aconselho-te ainda a habituares-te já desde o inicio a usar indentação (cada novo bloco Begin/End deve ter o seu conteúdo deslocado para a direita), porque isso facilita imenso a leitura de código fonte, especialmente quando os programas começarem a crescer. Também deves deixar alguns espaços entre declarações de variáveis, atribuições e argumentos nas chamadas a funções, isto também facilita imenso a leitura do programa. Agora pode parecer-te um "desperdicio", mas quando forem 2 da manhã e andares atrás de um bug grave num programa escrito por outra pessoa, acredita que vais dar valor a uma indentação generosa :)!

Por exemplo o teu poderia estar escrito assim:

Program somar;

uses crt;

Var n1, n2, soma: integer;

Begin

    ClrScr;
    Write('Numero 1:');
    Readln(n1);

    Write('Numero 2:');
    Readln(n2);

    soma := (n1 + n2);
    Writeln('Resultado:', soma);

    Readkey;

End. 

A cópia acima indentei a 4 espaços. Podes usar TABs (que desaconselho, porque cada um tem o seu editor configurado para um tamanho de TAB diferente, uns têm 4 outros 8) ou 4/8 espaços. Hoje em dia qualquer editor decente permite-te escolher o que introduzir no texto quando carregas na tecla TAB: ou 1 TAB ou um número configurável de espaços.

Quando tiveres que alterar código que já está feito, aí deves usar o método que já está a ser usado no ficheiro, caso contrário fica com um aspecto "esquisito"; se ele estiver indentado a TABs deves também usar TABs, etc. É importante manter a coerência dentro de um ficheiro, ou pelo menos na mesma função.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Exelente programa rkixa! Escolheste bem a introdução d elinhas em branco a separar algumas "zonas lógicas" do teu programa. Aconselho-te ainda a habituares-te já desde o inicio a usar indentação (cada novo bloco Begin/End deve ter o seu conteúdo deslocado para a direita), porque isso facilita imenso a leitura de código fonte, especialmente quando os programas começarem a crescer. Também deves deixar alguns espaços entre declarações de variáveis, atribuições e argumentos nas chamadas a funções, isto também facilita imenso a leitura do programa. Agora pode parecer-te um "desperdicio", mas quando forem 2 da manhã e andares atrás de um bug grave num programa escrito por outra pessoa, acredita que vais dar valor a uma indentação generosa :)!

Por exemplo o teu poderia estar escrito assim:

Program somar;

uses crt;

Var n1, n2, soma: integer;

Begin

    ClrScr;
    Write('Numero 1:');
    Readln(n1);

    Write('Numero 2:');
    Readln(n2);

    soma := (n1 + n2);
    Writeln('Resultado:', soma);

    Readkey;

End. 

A cópia acima indentei a 4 espaços. Podes usar TABs (que desaconselho, porque cada um tem o seu editor configurado para um tamanho de TAB diferente, uns têm 4 outros 8) ou 4/8 espaços. Hoje em dia qualquer editor decente permite-te escolher o que introduzir no texto quando carregas na tecla TAB: ou 1 TAB ou um número configurável de espaços.

Quando tiveres que alterar código que já está feito, aí deves usar o método que já está a ser usado no ficheiro, caso contrário fica com um aspecto "esquisito"; se ele estiver indentado a TABs deves também usar TABs, etc. É importante manter a coerência dentro de um ficheiro, ou pelo menos na mesma função.

Muito obrigado pelas dicas foram bastante úteis :)

TheGlorious, a tua simplificação altera o comportamento do programa, porque ele quer que cada pergunta seja apresentada num "ecrã diferente". Embora, no fundo, seja o mesmo...

Rkixa, o programa está certo, agora tens de desenvolver outras funcionalidades. Sugeria-te criar agora as outras 3 operações básicas, subtracção, divisão e multiplicação, e depois tentar juntá-las todas no teu programa, perguntando ao utilizador que tipo de operação ele pretende efectuar.

Obrigado.

Estou a tratar mesmo disso.

____________________________________________________

Agora preciso da vossa ajuda.

Como é que junto estes 4 programas num só, lembrem-se que sou um n00b nisto e o que já fiz ainda nem dei nas aulas.

Cá estão os 4 programas testados e a funcionar individualmente.

Program somar;

uses crt;

Var n1,n2,soma: integer;

Begin

    ClrScr;
    Write('Numero 1:');
    Readln(n1);

    Write('Numero 2:');
    Readln(n2);

    soma:=(n1+n2);
    Writeln('Resultado:',soma);

    Readkey;

End.      
_________________________________________________________

Program subtrair;

uses crt;

Var n1, n2, subtracao: integer;

Begin

    ClrScr;
    Write('Numero 1: ');
    Readln(n1);

    Write('Numero 2: ');
    Readln(n2);

    subtracao:=(n1-n2);
    Writeln('Resultado: ',subtracao);

    Readkey;

End.

_____________________________________________________________

Program multiplicar;

uses crt;

Var n1, n2, multiplicacao: integer;

Begin

    ClrScr;
    Write('Numero 1: ');
    Readln(n1);

    Write('Numero 2: ');
    Readln(n2);

    multiplicacao:=(n1*n2);
    Writeln('Resultado: ',multiplicacao);

    Readkey;

End.

______________________________________________________________

Program dividir;

uses crt;

Var n1, n2, divisao: integer;

Begin

    ClrScr;
    Write('Numero 1: ');
    Readln(n1);

    Write('Numero 2: ');
    Readln(n2);

    divisao:=((n1)DIV(n2));
    Writeln('Resultado: ',divisao);

    Readkey;

End.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Além de pedir ao utilizador os 2 números, precisas também de pedir a operação a realizar. Quando deres o "if" ou o "switch" vais perceber como fazer.

Também deves adicionar uns espaços extra entre elementos para facilitar a leitura, por exemplo fazer divisao := ((n1) DIV (n2)); em vez de divisao:=((n1)DIV(n2)); e Writeln('Resultado: ', divisao); em vez de Writeln('Resultado: ',divisao);; isto reduz a densidade do código, facilitando a separação mental dos diferentes elementos. Também não necessitas de tantos parentesis, as variáveis não precisam de parentesis e as operações seguem as regras matemáticas da precedência (prioridade): a + b não precisa, mas se quiseres o dobro de a + b já precisa, (a + :) * 2; é como na matemática. Depois cada linguagem tem as suas regras de precedência nas expressões, mas para em geral são todas mais ou menos as mesmas (excepto linguagens muito especiais que tu tão cedo não estudarás).

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ok obrigado pela ajuda :)

Vou esperar até ter conhecimentos sufecientes para fazer isso.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Como é que junto estes 4 programas num só, lembrem-se que sou um n00b nisto e o que já fiz ainda nem dei nas aulas.

Transformas os teus 4 programs em 4 procedures.

Depois fazes um programa novo que usa essas procedures.

Não ponho aqui código, porque não sei Pascal :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu tenho umas aulas, 3 ou 4, de pascal e ja cosegui fazer o programa com os 4 juntos..! :confused:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora