Analiza kodu źródłowego

0

Może mi ktoś wyjaśnić, co się dzieje w poszczególnych częściach programów, (np. -tu jest wypisywanie danych do tablicy)

Program pierwszy:

uses crt;
const karty='23456789DJQKA';
const kolory=#3#4#5#6;

function f_23(x:integer):char;
begin
f_23:=karty[x mod 13+1];
end;

function f_13(x:integer):char;
begin
f_13:=kolory[x div 13+1];
end;

var k,i,a,b,c:integer;
talia:array[1..52] of integer;
begin
clrscr;
randomize;
writeln('wylosowana karta');
for i:=1 to 1 do
 begin
 k:=random(52);
 write(f_23(k),f_13(k),' ');
 end;
 writeln;
 readkey;
{ clrscr;
 randomize;
 for i:=1 to 52 do talia[i]:=i-1;
 for i:=1 to 4 do
  for k:=1 to 13 do
  begin
  gotoxy(k*4,i*2);
  write(f_23(talia[(i-1)*13+k]),f_13(talia[(i-1)*13+k]));
  end; }
  readkey;
end.

Program drugi:

program karty;
uses
crt;
type
karta=record
kolor:char;
wartosc:string[2];
end;
var
i,c:byte;
d:string[2];
talia:array[1..52] of karta;
begin;
clrscr;
for i := 1 to 13 do begin
talia[i].kolor:=chr(5);
c:=i+49;
if c<58 then d:=chr(c);
if c=58 THEN d:='10';
if c=59 THEN d:='W';
if c=60 THEN d:='D';
if c=61 THEN d:='K';
if c=62 THEN d:='AS';
talia[
i].wartosc:=d;
end;
for i := 14 to 26 do begin
talia[i].kolor:=chr(4);
c:=i+36;
if c<58 then d:=chr(c);
if c=58 THEN d:='10';
if c=59 THEN d:='W';
if c=60 THEN d:='D';
if c=61 THEN d:='K';
if c=62 THEN d:='AS';
talia[i].wartosc:=d;
end;

for i := 27 to 39 do begin
talia[i].kolor:=chr(3);
c:=i+23;
if c<58 then d:=chr(c);
if c=58 THEN d:='10';
if c=59 THEN d:='W';
if c=60 THEN d:='D';
if c=61 THEN d:='K';
if c=62 THEN d:='AS';
talia[i].wartosc:=d;
end;

for i := 40 to 52 do begin
talia[i].kolor:=chr(6);
c:=i+10;
if c<58 then d:=chr(c);
if c=58 THEN d:='10';
if c=59 THEN d:='W';
if c=60 THEN d:='D';
if c=61 THEN d:='K';
if c=62 THEN d:='AS';
talia[i].wartosc:=d;
end;

for i:=1 to 13 do
write(talia[i].wartosc, talia[i].kolor,' ');
writeln;
for i:=14 to 26 do
write(talia[i].wartosc, talia[i].kolor,' ');
writeln;
for i:=27 to 39 do
write(talia[i].wartosc, talia[i].kolor,' ');
writeln;
for i:=40 to 52 do
write(talia[i].wartosc, talia[i].kolor,' ');
writeln;

readkey;
end.
0

Ten kod to jakaś porażka - masz wersję napisaną po ludzku?
Alzo - są to same podstawy, przeczytaj pierwszy-lepszy kurs Pascala, to zrozumiesz o co chodzi.

0

Mam to na jutro- gdzie są zawarte w programach struktury danych i co robią poszczególne funkcje

0

Na dobrą sprawę to nigdzie tu nie ma poważnych struktur danych i to jest jeden z głównych problemów...

1 użytkowników online, w tym zalogowanych: 0, gości: 1