Pascal Programs: Salary, Survey and Loop Examples

Computer science2.85 KB

Pascal Programs

Program 1: pais

program pais;
var
  ano: integer;
  x, y: real;
begin
  writeln('ano');
  readln(ano);
  writeln('Y');
  readln(y);
  x := y * 2;
  while (y < x) do
  begin
    x := x * 1.03;
    y := y * 1.06;
    ano := ano + 1;
  end;
  writeln('X', x:8:2);
  writeln('Y', y:8:2);
  writeln('ano', ano);
end.

Program 2: caradepau

program caradepau;
var
  sexo, resp: char;
  id, numEnt, numS, numN, mascN, femS, masc23S, fem23N, col, lin: integer;
  percS, precN: real;
begin
  lin := 2;
  col := 3;
  numEnt := 0;
  numN := 0;
  numS := 0;
  femS := 0;
  mascN := 0;
  masc23S := 0;
  fem23N := 0;
  write(' IDADE SEXO RESP ');
  gotoxy(col, lin);
  readln(id);
  while (id > 0) do
  begin
    gotoxy(col+7, lin);
    readln(sexo);
    gotoxy(col+13, lin);
    readln(resp);
    numEnt := numEnt + 1;
    if (resp = 'S') or (resp = 's') then
      numS := numS + 1
    else
      numN := numN + 1;
    if ((resp = 'S') or (resp = 's')) and ((sexo = 'F') or (sexo = 'f')) then
      femS := femS + 1;
    if ((resp = 'N') or (resp = 'n')) and ((sexo = 'M') and (sexo = 'm')) then
      mascN := mascN + 1;
    if ((resp = 'S') or (resp = 's')) and ((sexo = 'M') or (sexo = 'm')) and (id > 23) then
      masc23S := masc23S + 1;
    if ((resp = 'N') or (resp = 'n')) and ((sexo = 'F') or (sexo = 'f')) and (id > 23) then
      fem23N := fem23N + 1;
    lin := lin + 1;
    gotoxy(col, lin);
    readln(id);
  end;
  if (numEnt > 0) then
    percS := numS / numEnt * 100;
end.

Program 3: EX19

program EX19;
var
  setor, mat, numSet, numFun, nFunSet, maraja, setMaraja: integer;
  sal, mont, montSet, salMaraja, montSetMaraja: real;
begin
  numSet := 0;
  numFun := 0;
  mont := 0;
  montSetMaraja := -9999999;
  writeln('Entre com setor:');
  readln(setor);
  while (setor > 0) do
  begin
    numSet := numSet + 1;
    nFunSet := 0;
    montSet := 0;
    salMaraja := -99999999999;
    writeln('Entre com a matricula:');
    readln(mat);
    while (mat > 0) do
    begin
      writeln('Entre com salario:');
      readln(sal);
      nFunSet := nFunSet + 1;
      montSet := montSet + sal;
      if (sal > salMaraja) then
      begin
        salMaraja := sal;
        maraja := mat;
      end;
      writeln('Entre com a matricula:');
      readln(mat);
    end;
    writeln('Numero de funcionario do setor:', nFunSet);
    writeln('Montante setor ', montSet);
    writeln('Maraja', maraja);
    numFun := numFun + nFunSet;
    mont := mont + montSet;
    if (montSet > montSetMaraja) then
    begin
      montSetMaraja := montSet;
      setMaraja := setor;
    end;
    readln(setor);
  end;
  writeln('Numero de setores: ', numSet);
  writeln('Numero total de funcionarios: ', numFun);
  writeln('Montante Total ', mont);
  writeln('Setor maraja', setMaraja);
end.

Download

PDF Word HTML