Introdução a Computação

Soluções da aula prática 4



1.
PROGRAM Ohm;

Var v, r, i: real;

begin
  WriteLn('Qual o valor de V (volt)');
  ReadLn(v);
  WriteLn('Qual o valor de R (volt)');
  ReadLn(r);
  i := v/r;
  WriteLn('A corrente e ', i:0:3);
end.

resultado do programa:

Qual o valor de V (volt)?
  12
Qual o valor de R (ohm)?
  1000
A corrente e 0.012



2.
PROGRAM NegativeOhm;

Var v, r, i: real;

begin
  WriteLn('Qual o valor de V (volt)');
  ReadLn(v);
  WriteLn('Qual o valor de R (volt)');
  ReadLn(r);
  if (r<=0)
    writeln('A resistencia nao pode ser negativa!')
  else
    begin
      i := v/r;
      WriteLn('A corrente e ', i:0:3);
    end;
end.

resultado do programa:

Qual o valor de V (volt)?
  12
Qual o valor de R (ohm)?
  -1000
A resistencia nao pode ser negativa!



3.
PROGRAM Calculador;

Var a, b: real;
    opt: integer;

begin
  Write('numero 1: ');
  ReadLn(a);
  Write('numero 2: ');
  ReadLn(b);
  Writeln('Escolhe uma opcao: ');
  WriteLn('1) addicionar');
  WriteLn('2) multiplicar');
  WriteLn('3) dicidir');
  WriteLn('4) subtrair');
  readLn(opt);
  if (opt=1) then
    WriteLn('A soma e ', a + b:0:1)
  else
    if (opt=2) then
      WriteLn('O produto e ', a*b:0:1)
    else
      if (opt=3) then
        WriteLn('A divisao da ', a/b:0:1)
      else
        if (opt=4) then
          WriteLn('A diferenca e ', a-b:0:1)
        else
          WriteLn('Escolhe entre 1..4!');
end.

resultado do programa:

numero 1: -1
numero 2: 3
Escolhe uma opcao:
1) addicionar
2) multiplicar
3) dividir
4) subtrair
 1
A soma e 2.0



4a.
PROGRAM CalcularComplexo;

Var a1, b1, a2, b2, a3, b3: real;

begin
  WriteLn('z1 = a1 + b1*i');
  Write('Qual o valor de a1: ');
  ReadLn(a1);
  Write('Qual o valor de b1: ');
  ReadLn(b1);
  WriteLn('z2 = a2 + b2*i');
  Write('Qual o valor de a2: ');
  ReadLn(a2);
  Write('Qual o valor de b2: ');
  ReadLn(b2);
  a3 := a1 * a2 - b1 * b2;
  b3 := a1 * b2 + a2 * b1;
  WriteLn('O resultado: ',a3:0:1, ' + ', b3:0:1);
end.

z1 = a1 + b1*i
Qual o valor de a1: 1
Qual o valor de b1: -1
z2 = a2 + b2*i
Qual o valor de a2: 3
Qual o valor de b2: 2
O resultado: 5.0 + -1.0i



4b.
PROGRAM CalcularComplexoOpcao;

Var a1, b1, a2, b2, a3, b3: real;
    opt: integer;

begin
  WriteLn('z1 = a1 + b1*i');
  Write('Qual o valor de a1: ');
  ReadLn(a1);
  Write('Qual o valor de b1: ');
  ReadLn(b1);
  WriteLn('z2 = a2 + b2*i');
  Write('Qual o valor de a2: ');
  ReadLn(a2);
  Write('Qual o valor de b2: ');
  ReadLn(b2);
  Writeln('Escolhe uma opcao');
  Writeln('1) Addicionar');
  WriteLn('2) Multiplicar');
  ReadLn(opt);
  if (opt=1) then
    begin
      a3 := a1 + a2;
      b3 := b1 + b2;
      WriteLn('O resultado: ',a3:0:1, ' + ', b3:0:1);
    end
  else
    begin
      a3 := a1 * a2 - b1 * b2;
      b3 := a1 * b2 + a2 * b1;
      WriteLn('O resultado: ',a3:0:1, ' + ', b3:0:1);
    end;
end.

z1 = a1 + b1*i
Qual o valor de a1: 1
Qual o valor de b1: -1
z2 = a2 + b2*i
Qual o valor de a2: 3
Qual o valor de b2: 2
Escolhe uma opção:
1) addicionar
2) multiplicar
 2
A soma e 4.0 + 1.0i



5.
PROGRAM SerialParallel;

Var r, r1, r2: real;
    opt: integer;

begin
  Write('Valor da resistencia 1: ');
  ReadLn(r1);
  Write('Valor da resistencia 2: ');
  ReadLn(r2);
  Writeln('Escolhe uma opcao');
  Writeln('1) Serie');
  WriteLn('2) Paralel');
  ReadLn(opt);
  if (opt=1) then
    r := r1 + r2
  else
    r := r1*r2/(r1+r2);
  WriteLn('A resistencia equivalenta e ', r:0:3);
end.