Pular para o conteúdo principal

Exercicio com função - soma

{Elabore um algoritmo que o usuário forneça um número inteiro positivo N e,
atravês da função FORMULA(N), retorne o valor H, conforme abaixo:
H = 1 + 1/2 + 3 + 1/4+...+(N + 1/N)}
Program Pzim ;
var
n:integer;
h:real;

function formula(x:integer):real;
var
soma1,soma2:real;
i:integer;
begin
    for i:=1 to x do
        begin                                     {se i mod 2 for diferente de zero - IMPAR}
            if (i mod 2 <> 0) then
                begin
                    soma1:=(soma1+i);
                end
            else
            if (i mod 2 = 0 ) then              {se i mod 2 for igual a zero - PAR}
                begin 
                    soma2:=(soma2+(1/i));
                end;
        end;
              formula:=(soma1+soma2);              {soma os dois valores}
end;
 Begin
     writeln('Digite um número : ');
     readln(n);
     if (n>0) then                                        {condiciona a função se n maior que zero}
         begin
             h:=formula(n);                                {chama a função}
             writeln('A soma é igual a : ',h:1:2);         {mostra o resultado}
         end
     else                                                  {se não for, mostra a mensagem}
         writeln('Digite um número maior que zero');
  End.

Postagens mais visitadas deste blog

3 notas com media ponderada

Program Pzim ; {4- Escreva um programa que leia o código de um aluno e suas três notas. Calcule a média ponderada do aluno, considerando que o peso para a maior nota seja 4 e para as duas restantes, 3. Mostre o código do aluno, suas três notas, a média calculada e uma mensagem "APROVADO" se a média for maior ou igual a 5 e "REPROVADO" se a média for menor que 5. } var cod:integer; n1, n2, n3, nm1, nm2, nm3, media:real; Begin media:=0; writeln('Digite o código do aluno : '); read(cod); write('digite a 1o. nota : '); read(n1); write('digite a 2o. nota : '); read(n2); write('digite a 3o. nota : '); read(n3); {aproveitando a mesma estrutura para ordenar a maior nota, as outras duas não tem importançia na ordem, pois tem o mesmo peso} if ((n1 > n2) and (n1 > n3)) then begin nm1:=n1; nm2:=n2; nm3:=n3; end else if ((n2 > n1) and (n2 > n3)) then begin nm1:=n2; nm2:=n1; nm3:=n3; end else if ((n3 ...

programa para somar os N primeiros termos

Program Pzim ; {Faça um programa para somar os N primeiros termos da série abaixo: 1 + 3/1 + 5/3 + 7/5 + 9/7 + ...} var n,i:integer; n1, n2, soma:real; {variaveis}  Begin  n1:=3;{inicia as variaveis com 3 e 1, }  n2:=1;  soma:=1; {inicia a soma com 1, por isso o for, faz até n-1, pois como o primeiro termo é um, ele já vem incrementado}   write('Digite um numero : ');   readln(n);   for i:=1 to n-1 do {faz de 1 até n-1, pois a soma é iniciado já com 1}   begin soma:=soma+(n1/n2); writelnl('1'); writeln(n1,'/',n2);  {essa linha é facultativa, é só pra visualizar as divisoes} n1:=n1+2; {incrementa n1 mais 2} n2:=n2+2; {incrementa n2 mais 2}   end;      writeln('A soma dos ',n,' termos de "1+ 3/1 + ... N" é: ',soma); {mostra a resposta}  End.

Exercicio 4 de Heterogenea

Program Pzim ; {Faça um algoritmo que leia 7 produtos, contendo codigo, nome, quantidade, preço. No final, imprima os produtos que tenha mais do que 5 unidades.} type r_produto = record     cod:integer;     nome:string;     quant:integer;     preco:real; end; var     v_produto:array [1..3] of r_produto;     i, qmais5:integer;  Begin  qmais5:=0;     for i:=1 to 3 do         begin             writeln('ENTRE COM OS DADOS DOS PRODUUTOS');             writeln('_______________________________');             writeln(' ',I,'o. Produto ');             writeln('_______________________________');             writ...