Ir para conteúdo


Revista PROGRAMAR - Edição 44 (Fevereiro 2014): Download já disponível!

- - - - -

[Pascal] Vários programas úteis para quem esta a começar!

pascal

  • Por favor inicie sessão para responder
Sem respostas a este tópico

#1 fabiomiguel3

fabiomiguel3

    Boolean User

  • Membro
  • PipPipPip
  • 172 mensagens

Publicado 12 de Dezembro de 2010 - 10:22

Olá pessoal. Estou a tirar um curso profissional de programação informatica e neste momento esou a dar pascal. Como tive algumas dúvidas a fazer os meus programas axei por bem colocar-los aqui. Foram feitos em pascalzim mas penso que funcionam na mesma em freepascal.


Área do quadrado:
Código (Pascal):
Program Pzim ;
uses crt;
VAR LADO, AREA:REAL;
Begin
       writeln('*-------------------------------*');
       writeln('|       ÁREA DO QUADRADO        |');
       writeln('| Programado por Fábio Oliveira |');
       writeln('*-------------------------------*');
       writeln('');
       writeln('Prima qualquer tecla para continuar');
       readkey;
       clrscr;
       writeln('Introduza a medida do lado:');
       readln(LADO);
       clrscr;
       AREA := LADO * LADO;
       writeln('A área do quadrado é ',AREA:10:2,'.');
       writeln('Prima qualquer tecla para sair');
       readkey;
End.  

Área do rectangulo

Código (Pascal):
Program Pzim ;
uses crt;
VAR COMPRIMENTO, LARGURA, AREA:REAL;
Begin
       writeln('*-------------------------------*');
       writeln('|       ÁREA DO RECTÂNGULO      |');
       writeln('| Programado por Fábio Oliveira |');
       writeln('*-------------------------------*');
       writeln('');
          writeln('Prima qualquer tecla para continuar');
       readkey;
       clrscr;
       writeln('Introduza o comprimento do rectângulo:');
       readln(COMPRIMENTO);
       clrscr;
       writeln('Introduza a largura do rectângulo:');
       readln(LARGURA);
       clrscr;
       AREA := COMPRIMENTO * LARGURA;
       writeln('A área do rectângulo é ',AREA:10:2,'.');
       writeln('Prima qualquer tecla para sair');
       readkey;
End.  

Área do triângulo
Código (Pascal):
Program Pzim ;
uses crt;
VAR BASE, LADO, AREA:REAL;

Begin
       writeln('*-------------------------------*');
       writeln('|       ÁREA DO TRIÂNGULO       |');
       writeln('| Programado por Fábio Oliveira |');
       writeln('*-------------------------------*');
       writeln('');
          writeln('Prima qualquer tecla para continuar...');
       readkey;
       clrscr;
       writeln('Introduza a medida da base to triângulo:');
       readln(BASE);
       clrscr;
       writeln('Introduza a medida do lado do triângulo:');
       readln(LADO);
       clrscr;
       AREA := BASE * LADO / 2;

       writeln('A área do rectângulo é ',AREA:10:2);
       writeln('Prima qualquer tecla para sair');
       readkey;
End.              

Cubo par ou ímpar
Código (Pascal):
Program CUBO_PAR;

uses crt;
var tipo :string;
    NUM1,CUBO :real;
    cubo1:integer;
 
Begin

       writeln('*===============================*');
       writeln('|         CUBO PAR OU IMPAR     |');
       writeln('| Programado por Fábio Oliveira |');
       writeln('*===============================*');
       writeln('');
          writeln('Prima qualquer tecla para continuar...');
       readkey;
       clrscr;
       
       writeln('Insira o numero:');
       readln(NUM1);
       clrscr;
       

       
       CUBO := exp(3*ln(NUM1));
       
       CUBO1 := abs(CUBO);
          if CUBO1 MOD 2 = 0
             then tipo:='IMPAR'
                else tipo:='PAR';

       writeln('O cubo do número ',NUM1:0:0,' é ',CUBO:0:0,' e é ',tipo);
       writeln('Prima qualquer tecla para sair');
       readkey;
End.

Ler n numeros somar los e ver se é par ou ímpar a soma.
Código (Pascal):
Program numeros;
uses crt;
var  num, i, nrnumeros, soma : integer;
     control : string;
   
  Begin
       writeln('*===============================*');
       writeln('| Ler n numeros e par ou impar  |');
       writeln('| Programado por Fábio Oliveira |');
       writeln('*===============================*');
       writeln('');
          writeln('Prima qualquer tecla para continuar...');
       readkey;
       clrscr;
       writeln('Quantos numeros quer somar?');
       readln(nrnumeros);
       clrscr;
       for i:=1 to nrnumeros do
       begin
       writeln('Introduza o ',i,' numero:');
       readln(num);
       clrscr;
       soma := soma + num;
       end;
            if soma mod 2 = 0
       then
            control := 'par'
       else
            control := 'impar';


       writeln('A soma é ',soma,' e é ',control,'.');
       writeln('Prima qualquer tecla para sair');
       readkey;

   End.

Ler 2 numeros e ver qual deles é o maior.
Código (Pascal):
Program Pzim ;
uses crt;
VAR NUM1, NUM2, CONTROL:INTEGER;
Begin
       writeln('*===============================*');
       writeln('|       NUMERO MAIOR EM 2       |');
       writeln('| Programado por Fábio Oliveira |');
       writeln('*===============================*');
       writeln('');
       writeln('Prima qualquer tecla para continuar...');
       readkey;
       clrscr;
       
       {LER VARIAVEIS}
       writeln('Insira o primeiro numero:');
       readln(NUM1);
       clrscr;
       
       writeln('Insira o segundo numero:');
       readln(NUM2);
       clrscr;
       
       {CALCULAR RESULTADO}
       IF NUM1 > NUM2
       THEN CONTROL := NUM1
       ELSE CONTROL := NUM2;
       
       {MOSTRAR RESULTADO}
       writeln('O numero maior é ',CONTROL,'.');
       writeln('Prima qualquer tecla para sair...');
       readkey;
End.

Ler 3 numeros e ver qual deles é maior
Código (Pascal):
Program Pzim ;
uses crt;
VAR NUM1, NUM2, NUM3, CONTROL:INTEGER;
Begin
       writeln('*===============================*');
       writeln('|       NUMERO MAIOR EM 3       |');
       writeln('| Programado por Fábio Oliveira |');
       writeln('*===============================*');
       writeln('');
       writeln('Prima qualquer tecla para continuar...');
       readkey;
       clrscr;
       
       {LER VARIAVEIS}
       writeln('Insira o primeiro numero:');
       readln(NUM1);
       clrscr;
       
       writeln('Insira o segundo numero:');
       readln(NUM2);
       clrscr;
       
       writeln('Insira o terceiro numero:');
       readln(NUM3);
       clrscr;
       
       {CALCULAR RESULTADO}

       IF (NUM1 > NUM2) AND (NUM1 > NUM3)
       THEN CONTROL := NUM1
       ELSE IF NUM2 > NUM3
            THEN CONTROL := NUM2
            ELSE CONTROL := NUM3;
       
       {MOSTRAR RESULTADO}
       writeln('O numero maior é ',CONTROL,'.');
       writeln('');
       writeln('Prima qualquer tecla para continuar...');
       readkey;
End.

Media Gasolina 100km
Código (Pascal):
Program Pzim ;
uses crt;
VAR GASOLINA, INICIOKM, FIMKM, MEDIA100:REAL;


Begin
       writeln('*===============================*');
       writeln('|           MEDIA 100           |');
       writeln('| Programado por Fábio Oliveira |');
       writeln('*===============================*');
       writeln('');
          writeln('Prima qualquer tecla para continuar...');
       readkey;
       clrscr;
       writeln('Insira os km iniciais:');
       readln(INICIOKM);
       clrscr;
       writeln('Insira os km finais:');
       readln(FIMKM);
       clrscr;
       writeln('Insira gasolina gasta');
       readln(GASOLINA);
       clrscr;
     
       MEDIA100 :=      100 * GASOLINA / (FIMKM - INICIOKM);
       
       writeln('A media aos 100 de gasolina é ',MEDIA100,'.');
       writeln('Prima qualquer tecla para sair');
       readkey;
END.
Le nota e verifica se foi aprovado ou não.
Código (Pascal):
Program Pzim ;
uses crt;
VAR NOTACOMP, NOTAT, NOTAFINAL:REAL;
VAR AVALIA:STRING;

Begin
       writeln('*-------------------------------*');
       writeln('|           NOTA FINAL          |');
       writeln('| Programado por Fábio Oliveira |');
       writeln('*-------------------------------*');
       writeln('');
          writeln('Prima qualquer tecla para continuar...');
       readkey;
       clrscr;
       writeln('Introduza nota do competência:');
       readln(NOTACOMP);
       clrscr;
       writeln('Introduza a nota atitude:');
       readln(NOTAT);
       clrscr;
       NOTAFINAL := (0.60 * NOTACOMP) + (0.40 * NOTAT);
          IF NOTAFINAL <= 9.49
             THEN
                 AVALIA := 'REPROVADO'
             ELSE
                 AVALIA := 'APROVADO';
       writeln('A nota final é ',NOTAFINAL:10:2,' que significa que foi ',AVALIA);
       writeln('Prima qualquer tecla para sair');
       readkey;
End.

Seleção modelos. Seleciona se tiver cabelo loiro, mais de 1.70 de altura e menos de 57 kg
Código (Pascal):
Program modelos;
uses crt;
var cabelo, control :string;
    altura, peso : real;
   
  Begin
       writeln('*===============================*');
       writeln('|        Seleciona modelos      |');
       writeln('| Programado por Fábio Oliveira |');
       writeln('*===============================*');
       writeln('');
          writeln('Prima qualquer tecla para continuar...');
       readkey;
       clrscr;
       writeln('Insira cor do cabelo:');
       readln(cabelo);
       clrscr;
              writeln('Insira altura:');
              readln(altura);
       clrscr;
              writeln('Insira peso');
              readln(peso);
       clrscr;
       {TESTE LOGICO}
       if (cabelo = 'loiro') AND (altura >= 1.70) AND (peso <= 57)
           then control := 'selecionada'
           else control := 'não selecionada';
        {OUTPUT}
       writeln('Você foi ',control);
       writeln('Prima qualquer tecla para sair');
       readkey;

   End.

Soma e produto.
Código (Pascal):
Program Pzim ;
uses crt;
VAR NUM1, NUM2, NUM3, PRODUTO, SOMA:integer;


Begin
       writeln('*===============================*');
       writeln('|         SOMA E PRODUTO        |');
       writeln('| Programado por Fábio Oliveira |');
       writeln('*===============================*');
       writeln('');
          writeln('Prima qualquer tecla para continuar...');
       readkey;
       clrscr;
       
       writeln('Insira o primeiro numero:');
       readln(NUM1);
       clrscr;
       
       writeln('Insira o segundo numero:');
       readln(NUM2);
       clrscr;
       
       writeln('Insira o terceiro numero:');
       readln(NUM3);
       clrscr;
       
       SOMA := NUM1 + NUM2 + NUM3;
       PRODUTO := NUM1 * NUM2 * NUM3;

       writeln('A soma dos três números é ',SOMA,' e o produto  é ',PRODUTO,'.');
       writeln('Prima qualquer tecla para sair');
       readkey;
End.