Jump to content
Sign in to follow this  
Gurzi

átomo

Recommended Posts

Gurzi

alguem já ouviu falar de átomos e expressoes simbolicas? estou a ler isto dum livro so de pascal e nao estou apanhar !

Share this post


Link to post
Share on other sites
Gurzi

Mas vocês trabalham com isto ? é que estou a começar e isto esta-me a deixar nervoso.. nao pesco nem percebo para que isto serve .

Share this post


Link to post
Share on other sites
deathseeker25
mas voces trabalham com isto ? é que estou a começar e isto estáme a deixar nervoso.. nao pesco nem percebo para que isto serve .

Já programo em Pascal á bastante tempo, apesar de ultimamente ter parado um pouco e ter-me dedicado mais ao estudo de C, e nunca trabalhei com expressões simbólicas.

Acho até que isso não é muito utilizado,e mesmo que seja, devem ser elementos da programação que podem ser contornados com outras instruções.

Cumps

Share this post


Link to post
Share on other sites
Gurzi

ah bom é que já me estava assustar lol e voces usam mt functions ? é que por tudo e por nada o livro que estou a ler utilizar function blablabla :\

Share this post


Link to post
Share on other sites
Gurzi

Pretende-se um programa para calcular o preço em escudos a pagar ou a receber por um cliente de um posto de câmbios, em operaçoes de compra e vebda de divisas, respectivamente, dados o cambio aplicavel e a quantidade de divisas e sabendo que sobre as vendas recai uma taxa de 6 por mil. Alem disso, quando o resultado n for multiplo de 5 de 5 deve ser arrendondado para o multiplo de 5 precendente nas compras e seguinte nas vendas.

no livro está assim o ArrBaixo

function ArrBaixo(n : integer);

Begin

ArrBaixo := n - n Mod 5

end;

alguem percebe isto ? nao me estou a dar mt bem com as funçoes

Share this post


Link to post
Share on other sites
deathseeker25
Citação
Pretende-se um programa para calcular o preço em escudos a pagar ou a receber por um cliente de um posto de câmbios, em operaçoes de compra e vebda de divisas, respectivamente, dados o cambio aplicavel e a quantidade de divisas e sabendo que sobre as vendas recai uma taxa de 6 por mil. Alem disso, quando o resultado n for multiplo de 5 de 5 deve ser arrendondado para o multiplo de 5 precendente nas compras e seguinte nas vendas.

no livro está assim o ArrBaixo

function ArrBaixo(n : integer);

Begin

ArrBaixo := n - n Mod 5

end;

alguem percebe isto ? nao me estou a dar mt bem com as funçoes

Bem em C e m Pascal a estrutura das funções é muito parecida. Elas servem para simplificar o código e para que a leitura e a própria escrita sejam mais facilitadas.

Imagina que queres escrever isto no ecra:

**************************
Pascal rula muito!
**************************
C rula muito mais!
**************************
 

Normalmente em Pascal, fá-lo-ias desta forma:

begin

writeln('**************************');

writeln('Pascal rula muito!');

writeln('**************************');

writeln('C rula muito mais!');

writeln('**************************');

end.

Ora com as funções poderias fazer isto de forma muito mais simplificada. Imagina que crias uma função para cada linha de asteriscos, visto que é o que dá para simplificar neste caso.Farias desta forma:

Function asteriscos(**************************: char)

Nota: esta função não está correcta, mas dá para exemplificar o objectivo das funções ao utilizador em questão.

Assim:

Function asteriscos(**************************: char);

begin

astericos;

writeln('Pascal rula muito!');

asteriscos:

writeln('C rula muito mais!');

asteriscos;

end.

Resumindo, as funções servem para fazer com que uma determinada tarefa se torne mais simples de escrever e ler ao longo do código e faz com que este não seja tão repetitivo. Assim as funções utilizam-se em códigos extensos de forma a facilitar a programadores a leitura e escrita do código.

As funções podem realizar uma e só uma tarefa. Para diferentes tarefas, diferentes funções---> não te esqueças disto.

Espero ter ajudado.... ;)

Cumps

Share this post


Link to post
Share on other sites
Gurzi

Pretende-se um programa para calcular o preço em escudos a pagar ou a receber por um cliente de um posto de câmbios, em operações de compra e venda de divisas, respectivamente, dados o cambio aplicável e a quantidade de divisas e sabendo que sobre as vendas recai uma taxa de 6 por mil. Alem disso, quando o resultado n for múltiplo de 5 de 5 deve ser arredondado para o múltiplo de 5 precedente nas compras e seguinte nas vendas.

Resolução :

Program cambios;

var   cambio : real;
      divisas,escudos : integer;
      op : char;

const
    taxa = 0.006;

function ArrBaixo(n :integer) : integer;
Begin
    ArrBaixo := n -n mod 5
End;

Function ArrCima(n : integer) : Integer;
Begin
    Arrcima := ArrBaixo(n+4);
End;

Function Compra(c : real; q :integer) : Integer;
Begin
    Compra := ArrBaixo(round(c*q))
End;

Function Venda(c : real; q :integer) : Integer;
Begin
    Venda := ArrCima(round(c*q*(1*taxa)))
End;

Procedure Realiza;
Begin
    write('Compra(c) ou Venda(c)');
    read(op);
    write('Cambio ? ');
    read(cambio);
    write('Quantidade? ');
    read(divisas);
    readln;
End;

Procedure Escreve;
Begin
    write('Sao',escudos:2,'$00');
    readln;
end;

Begin
    Realiza;
    If op = 'C' then
        escudos := Compra(cambio,divisas)
    else
    escudos := Venda (cambio, divisas);
    Escreve;
    readln;
End.

Não percebo o porquê disto :

Function Venda(c : real; q :integer) : Integer;
Begin
    Venda := ArrCima(round(c*q*(1*taxa)))

de ter que se multiplicar o 1 pela taxa nem sei de onde surge aquele 1e disto :

Function ArrCima(n : integer) : Integer;
Begin
    Arrcima := ArrBaixo(n+4);

o porque de ser n + 4 e não n +5 ou +3 ..

Share this post


Link to post
Share on other sites
Bruno

Não sei pascal e nem tentei compreender profundamente o programa...

Mas arriscava a dizer q a multiplicação por 1 é para tornar aquilo um numero (float)... Porque uma constante por default é uma cadeia de caracteres ;)

Share this post


Link to post
Share on other sites
Bruno
um numero é um float?

Tipo um numero pode ser um real, irracional, natural... decimal...

Logo, o float é um numero e um número pode ser mta coisa! ;)

Share this post


Link to post
Share on other sites
will09

eu penso que se trata dos arredondamentos!

tipo 2,5 é 3 mas

2,4 já é 2

tas a ver a lógica

penso qu seja disso para arredondar os nums!

Espero que ajude

PEACE

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.