test en pascal
Publicado por SS (1 intervención) el 02/10/2016 01:39:24
hola, necesito hace un test con 10 preguntas en pascal, tienen que ser sobre cualquier tema y al final mostrar un resultado... gracias
Valora esta pregunta


-2
{Mira esto}
program test;
uses
crt;
const
pais : array[1..20] of string[25] = (
'Afganistan','Albania','Alemania','Andorra','Angola',
'Antigua y Barbuda','Arabia Saudita','Argelia','Argentina',
'Armenia','Australia','Austria','Brasil','Camboya',
'Catar','Rusia','Espa¤a','Portugal','Francia','Suiza');
capital : array[1..20] of string[40] = (
'Kabul','Tirana','Berlin','Andorra la Vieja','Luanda',
'Saint John','Riad','Argel','Buenos Aires',
'Erevan','Canberra','Viena','Brasilia','Nom Pen',
'Doha',' Moscu','Madrid','Lisboa','Paris','Berna');
falsas : array[1..20,1..3] of string[40] = (
('Lusaka','Caracas','Kiev'),
('Dakar','San Marino','Apia'),
('Jartum','Berna','Victoria'),
('Oslo','Managua','Yaren'),
('Riga','Tarawa','Male'),
('Maputo','Niamey','Panama'),
('Podgorica','Palikir','Rabat'),
('Oslo','Chisinau','Beirut'),
('Budapest','Nueva Delhi','Atenas'),
('Bagdad','Jerusalén','Nairobi'),
('La Habana','San Jose','bilbao'),
('Manila','Bratislava','Quito'),
('Tallin','Saint George','Roma'),
('Manama','Sucre','Sofia'),
('Quito','Bujumbura','Moroni'),
('Nasau','Belmopan','Praia'),
('Nicosia','El Cairo',' Maseru'),
('Tokio','Rabat','Abuya'),
('Roma','Port Louis','Podgorica'),
('Praga','Wellington','Managua'));
var
tecla : char;
i, n : integer;
tomadas : array[1..10] of integer;
pregun : array[1..10] of boolean;
acert, fallo, num, lapre : integer;
procedure presenta_pregunta(pre, nn : integer);
var
resp : char;
begin
clrscr;
num := random(3) + 1;
writeln;
writeln(' Test Num : ',pre);
writeln(' La Capital De ',pais[nn],' Es');
writeln;
case num of
1 : begin
writeln(' [A] ',capital[nn]);
writeln(' [B] ',falsas[nn][1]);
writeln(' [C] ',falsas[nn][2]);
writeln(' [D] ',falsas[nn][3]);
resp := 'A';
end;
2 : begin
writeln(' [A] ',falsas[nn][1]);
writeln(' [B] ',capital[nn]);
writeln(' [C] ',falsas[nn][2]);
writeln(' [D] ',falsas[nn][3]);
resp := 'B';
end;
3 : begin
writeln(' [A] ',falsas[nn][1]);
writeln(' [B] ',falsas[nn][2]);
writeln(' [C] ',capital[nn]);
writeln(' [D] ',falsas[nn][3]);
resp := 'C';
end;
4 : begin
writeln(' [A] ',falsas[nn][1]);
writeln(' [B] ',falsas[nn][2]);
writeln(' [C] ',falsas[nn][3]);
writeln(' [D] ',capital[nn]);
resp := 'D';
end;
end;
repeat
tecla := upcase(readkey);
until tecla in['A','B','C','D'];
if resp = tecla then
pregun[nn] := true
else
pregun[nn] := false;
end;
function estanumero(j : integer) : boolean;
var
v : integer;
esta : boolean;
begin
esta := false;
for v := 1 to 10 do
begin
if tomadas[v] = j then
esta := true;
end;
estanumero := esta;
end;
begin
randomize;
i := 1;
fillchar(tomadas,sizeof(tomadas),0);
repeat
lapre := random(39) + 1;
case lapre of
1,11 : n := 1;
2,12 : n := 2;
3,13 : n := 3;
4,14 : n := 4;
5,15 : n := 5;
6,16 : n := 6;
7,17 : n := 7;
8,18 : n := 8;
9, 19 : n := 9;
10,20 : n := 10;
21,31 : n := 11;
22,32 : n := 12;
23,33 : n := 13;
24,34 : n := 14;
25,35 : n := 15;
26,36 : n := 16;
27,37 : n := 17;
28,38 : n := 18;
29,39 : n := 19;
30,40 : n := 20;
end;
if estanumero(n) = false then
begin
tomadas[i] := n;
presenta_pregunta(i,n);
i := i + 1;
end;
until i > 10;
acert := 0;
fallo := 0;
for i := 1 to 10 do
begin
if pregun[i] = true then
acert := acert + 1
else
fallo := fallo + 1;
end;
writeln;
writeln(' Preguntas Acertadas = ',acert);
writeln;
writeln(' Preguntas Falladas = ',fallo);
writeln;
writeln(' Porcentaje De Aciertos = ',(acert * 10) / 100:0:2);
writeln;
writeln(' Pulse Una Tecla');
readkey;
end.