Fdp - tec em comp ad1

Disponível somente no TrabalhosFeitos
  • Páginas : 5 (1019 palavras )
  • Download(s) : 0
  • Publicado : 25 de agosto de 2012
Ler documento completo
Amostra do texto
[pic]

Fundação CECIERJ - Vice Presidência de Educação Superior a Distância
Curso de Tecnologia em Sistemas de Computação
Disciplina Fundamentos de Programação
AD1 2° semestre de 2012.









IMPORTANTE:
- As respostas (programas) deverão ser entregues em papel e em disquete, CD ou DVD para serem testados.
- A AD é um mecanismo de avaliação individual. As soluções podem serbuscadas por grupos de alunos, mas a redação final de cada prova tem que ser individual.
- Atenção: ADs enviadas pelo correio devem ser postadas cinco dias antes da data final de entrega estabelecida no calendário de entrega de ADs.



1a Questão (2,5 pontos)

Escreva um programa Pascal que leia do teclado um inteiro n, maior ou igual a 1, e que apresente no vídeo n linhas da forma abaixo.Por exemplo, as seguintes linhas devem ser apresentadas se n = 5.

0 0 0 0 5
0 0 0 4 4
0 0 3 3 3
0 2 2 2 2
1 1 1 1 1

Se n < 1, uma mensagem de erro deve ser apresentada no vídeo.


program questao_01_AD1_Fund_Prog_2012_2(input{teclado}, output{video});

procedure ler_valor_n (var n{s}: integer);
begin
write(output, 'Informe valor de n: ');
readln(input, n);
if n < 1 thenwriteln(output, 'O valor de n deve ser maior ou igual a 1.');
end;

procedure imprimir_linhas (n{e}: integer);
var
i,j: integer;
begin
for i:= n downto 1 do
begin
for j:= 1 to n do
if j >= i then
write(output, i:4, ' ');
end;
writeln(output)
end;

var
n: integer;

begin
ler_valor_n(n);
imprimir_linhas(n)
end.2a Questão (2,5 pontos)

Faça um programa Pascal que leia 100 números inteiros do teclado e informe:
(a) o menor valor lido,
(b) o maior valor lido,
(c) a média (md) dos valores lidos,
(d) o número de valores pares,
(e) o número de valores iguais ao valor imediatamente anterior.


program questao_02_AD1_Fund_Prog_2012_2(input{teclado}, output{vídeo});

const
N = 100;

typeT_Dominio = 1 .. N;
T_Vetor = array[T_Dominio] of real;


procedure ler_vetor (var V{s}: T_Vetor);
var
ind: integer;
begin
for ind:= 1 to N do
begin
write(output, 'V[', ind, ']=');
readln(input, V[ind]);
end
end;


procedure identificar_medio_maior_menor (V{e}: T_Vetor;
var md{s}: real;
varmai{s}: real;
var men{s}: real);

var
i: integer;

begin
md := V[1];
mai := V[1];
men := V[1];
for i:=2 to N do
begin
if V[i] < men then
men := V[i]
else
if V[i] > mai then
mai := V[i];
md := md + V[i]
end;
md := md / N
end;



procedurecalcular_qnt_pares_iguais(V{e}: T_Vetor;
var par{s}: integer;
var igual{s}: integer);


var
i: integer;


begin
par := 0
igual := 0

for i:=1 to N do
begin
if v[i] mod 2 = 0 then
par := par + 1;
end;
for i:=2 to N do
begin
if v[i] = v[i - 1]
igual := igual + 1;end;
end;


procedure imprimir_resultado (V{e}: T_Vetor;
md,mai,men{e}: real;
par, igual{e}: integer);
begin
writeln(output, '(a) A média dos valores lidos é: ', md:4:1);
writeln(output, '(b) O maior valor lido é: ', mai:4:1);
writeln(output, '(c) A menor valor lido é: ', men:4:1);
writeln(output, '(d) A quantidade devalores pares é: ', par);
writeln(output, '(e) A quantidade de valores iguais ao valor imediatamente anterior é: ', igual);
end;


var
V: T_Vetor;
md,mai,men: real;
par, igual: integer;

begin
ler_vetor(V);
identificar_medio_maior_menor(V,md,mai,men);
calcular_qnt_pares_iguais(V,par,igual);
imprimir_resultado(V,med,mai,men,par, igual)
end.


3a Questão...
tracking img