User Tools

Site Tools


exercicios

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
exercicios [2019/04/24 14:48]
castilho
exercicios [2019/04/30 10:44] (current)
castilho
Line 1: Line 1:
 +   * Para compilar este programa em //Pascal//, descubra os erros e os corrija.
 +
 +<code pascal>
 +(* programa que le um numero e retorna o ultimo algarismo *)
 +(* escrito por Marcos Castilho em 22/10/2002, com erros. ​ *)
 +program ultalgarismo;​
 +begin
 +        read (A)
 +        writeln (A mod 10);
 +end.
 +</​code>​
 +
 +   * Seja o seguinte programa em //Pascal//:
 +
 +<code pascal>
 +program ​ Misterio;
 +var nota1,​nota2,​media:​ integer;
 +begin
 +     ​readln(nota1,​nota2)
 +     while nota1 <> 0 do
 +          media:​=nota1+nota2/​2;​
 +          writeln(nota1,​nota2,​media);​
 +          readln(nota1,​nota2);​
 +end.
 +</​code>​
 +
 +      * Quantos são, e quais são, os erros de compilação deste programa?
 +      * Considerando que  você corrigiu os erros de compilação corretamente,​ o que faz este programa? Por exemplo, tente entrar com as notas 5 e 5. Depois tente com 0, 5. Rode o programa e veja se você acertou.
 +      * Considerando ​ a estrutura do  programa, os  nomes das variáveis ​ e a  endentação usada, ​ podemos afirmar ​ que  o programador cometeu alguns erros de lógica. Quantos são e quais são estes erros?
 +      * O que faz o programa faz após estas correções?​ Rode novamente com as notas 5 e 5 e depois 0 e 5 e confira se você acertou.
 +
 +   * Enumere e explique ​  todos os  erros  contidos no seguinte código //Pascal//:
 +
 +<code pascal>
 +program misterio2;
 +var
 +  m, g: real;
 +  N1, N2: integer;
 +begin
 +  readln(N1, N2);
 +  if (N1 > N2) then
 +    m := N2
 +  else
 +    m := N1;
 +  g:= 1;
 +  while g do
 +  begin
 +    if (N1 mod m = 0) AND (N2 mod m = 0) then
 +      g := 0;
 +    else
 +      m := m - 1;
 +  end;
 +  if (m := N1) then
 +    writeln('​O valor resultante eh: ' m);
 +end.
 +</​code>​
 +
  
    * Considere o seguinte programa em //Pascal//.    * Considere o seguinte programa em //Pascal//.
  
-<​code>​+<​code ​pascal>
 program soma_dois; program soma_dois;
 var a, b, soma: longint; var a, b, soma: longint;
Line 28: Line 85:
    * No programa abaixo, determine o  tipo de dados  das variáveis. Algumas delas podem ser tanto inteiras como reais, enquanto que algumas só podem ser de um tipo específico. Se puder, prefira um tipo ordinal.    * No programa abaixo, determine o  tipo de dados  das variáveis. Algumas delas podem ser tanto inteiras como reais, enquanto que algumas só podem ser de um tipo específico. Se puder, prefira um tipo ordinal.
   ​   ​
-<​code>​+<​code ​pascal>
 Program ex1; Program ex1;
 var  var 
Line 45: Line 102:
 end. end.
 </​code>​ </​code>​
 +
 +   * Fazer um programa em Free Pascal que leia do teclado um número real C representando uma temperatura na escala Celsius e imprima na tela a correspondente temperatura na escala Farenheit (F) calculada segundo a fórmula: C = 5*(F-32)/9. Veja um exemplo de execução incluindo entrada e saída:
 +
 +Exemplo de entrada:
 +28.7
 +
 +Saída esperada para a entrada acima:
 +8.3659999999999997E+001
 +
 +   * Fazer um programa em Free Pascal que leia do teclado um número real K representando uma velocidade em Kilômetros por hora (km/h) e imprima na tela a velocidade correspondente em milhas por hora (ml/h), lembrando que 1 milha = 1.609344 km.
 +
 +Exemplo de entrada:
 +105.4
 +
 +Saída esperada para a entrada acima:
 +6.5492523661815000E+001
 +
 +   * Fazer um programa em Free Pascal que leia do teclado um número inteiro que representa uma quantidade de segundos (unidade de medida de ângulo geométrico) e que imprima na tela o seu valor equivalente em graus, minutos e segundos. Se a quantidade de segundos for insuficiente para dar o valor 1 (um) em graus, o valor em graus deve ser 0 (zero). A mesma observação vale em relação aos minutos e segundos.
 +
 +Exemplo de entrada 1:
 +3600
 +
 +Saída esperada para a entrada acima:
 +1 graus, 0 minutos e 0 segundos
 +
 +Exemplo de entrada 2:
 +3500
 +
 +Saída esperada para a entrada acima:
 +0 graus, 58 minutos e 20 segundos ​
 +
 +   * Fazer um programa em Free Pascal que leia seis números (a11, a12, b1, a21, a22, b2) e imprima uma solução para o sistema de equações lineares abaixo:
 +
 +<​code>​
 + a11 x + a12 y = b1
 + a21 x + a22 y = b2
 +</​code>​
 +
 +O método de cálculo do sistema é indiferente,​ desde que o resolva independente dos valores informados. Veja um exemplo de execução incluindo entrada e saída:
 +
 +Exemplo de entrada:
 +2.0 1.0 11.0 5.0 7.0 13.0
 +
 +Saída esperada para a entrada acima:
 +x = 7.111
 +y = -3.222
  
exercicios.1556128137.txt.gz · Last modified: 2019/04/24 14:48 by castilho