Pular para o conteúdo principal

Exercicio 3 de funções

Program Pzim ;
{Escrever um programa que, utilizado de funções, leia um valor e retorne
a) se é multiplo de 5 ou não  -retorno string;
b) fatorial (1*2*...*n) retorno integer.}

{variaveis globais}
var
r_fatorial, num:integer;
r_multiplo:string;

//inicio da função multiplo
function multiplo(x:integer):string;   // a função recebe um valor de inteiro e retorna ma string
    begin
        if (x mod 5 = 0) then         // verifica se é multiplo de 5, se fim
            multiplo:='O número é multiplo de 5'    //a função multiplo recebe a frase como resposta
        else                                          // se não
            multiplo:='O número NÃO é multiplo de 5'    //recebe a frase informando que não
    end;
   
   
//inicio da função fatorial
function fatorial(y:integer):integer;       // a funçaõ recebe e retorna um valor de inteiro
var
fat,i:integer;
    begin
    fat:=1;
        for i:= 1 to y do
              begin
                    fat:= fat * i;
               end;
     fatorial:=fat;
    end;
   
   
//fim das funçoes
//inicio do algoritmo

{quando fazemos algoritmos com funções e procedimentos devemos primeiro começar perlo algoritmo, depois
é que fazemos as funções e ou procedimentos }

Begin
    writeln('Digite um número: ');    // solicita que seja digitado um numero
    readln(num);                    // recebe o numero digitado
    r_multiplo:=multiplo(num);         // atribui a variavel r_multiplo o valor retornado da função multiplo
    r_fatorial:=fatorial(num);         // atribui a variavel r_fatorial o valor retornado da função fatorial
                        {em função, ao mesmo tempo chamamos a função e atribuimos o resultado
                        a uma varivel, esse resultado pode ter a variavel do mesmo tipo ou de tipo diferente}
    writeln(r_multiplo);    //exibe os resultados
    writeln('O fatorial de ',num, ' é : ',r_fatorial);
End.

Postagens mais visitadas deste blog

Soma da sequencia (n * n) + 1

Program Pzim ; Var x,num,soma,soma2:integer; Begin     Writeln('Digite um numero maior que ZERO :');              //solicita que seja digitado um numero     Read(Num); // lê o número     If num<=0 then //se o número for invalido recusa     Write ('Número digitado invalido, digite um mumero maior que zero') // exibe a mensagem     else                                    For x:=1 to num do                         //faz de 1 até o numero         Begin            ...

Exercicio 2 com matriz

Program Pzim ; {2. Faça um algoritmo em que o usuario informe os valores para uma matriz 4x4  e em seguida efetive a soma dos valores que estão abaixo da diagonal secundária. O algoritmo deve mostrar os valores que estão abaixo da diagonal secundária e sua soma. Ex.: 1-5-2-2 7-5-3-2 8-4-6-1 5-4-3-1 Valores a serem usados, mostrados e somados: - - - - - - -2 - -6-1 -4-3-1 } var m:array[1..4,1..4] of integer; i,j, soma:integer;  Begin  for i:=1 to 4 do   begin   for j:=1 to 4 do   begin writeln('Digite a matriz : ');          //recebe os elementos da matriz readln(m[i,j]);   end;   end; for i:=1 to 4 do   begin   for j:=1 to 4 do   begin   if ((i+j)>= 6) then                 // se i+j >= 6, = condição para o elemento pertencer   begin               ...

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...