Witam serdecznie, potrzebuję nieco pomocy w dokończeniu poniższych programów. Wkrótce mam zaliczenie z informatyki i niestety nie mam smykałki do programowania. Załączam treści zadań i fragmenty programów, które do tej pory napisałem. Z góry dziękuję za wszelką pomoc.
1.Zaprojektować program konsolowy, w którym:
• losowo (funkcja random) wypełniana jest tablica o wymiarze 5x5 liczbami
rzeczywistymi od 0 do 1.
• liczby te zapisywane są w pliku.
• tablica zostaje wyświetlona na ekranie
• następnie program zlicza ile liczb jest mniejszych od 0,5 i wyświetla odpowiednią
informację na ekranie.
program program9;
{$APPTYPE CONSOLE}
uses
SysUtils;
type
tab = array [1..5, 1..5] of real;
var
t1, t2 : tab;
wie,kol: integer;
plik: TextFile;
begin
assignfile(plik,'5x5.txt');
rewrite(plik);
randomize;
for wie:=1 to 5 do
for kol:= 1 to 5 do
t1[wie,kol]:=random(2);
for wie:=1 to 5 do
begin
for kol:= 1 to 5 do
write(plik,t1[wie,kol]:2:3,' ');
writeln;
end;
closeFile(plik);
for wie:=1 to 5 do
begin
for kol:= 1 to 5 do
write(t1[wie,kol]:2:3,' ');
writeln;
end;
readln;
end.
2.Zaprojektować program konsolowy, w którym:
• jednowymiarowa tablica będzie wypełniona tekstami (np. nazwami zwierząt).
• program znajdzie w tablicy tekst najwcześniejszy w alfabecie.
3.Zaprojektować program konsolowy, w którym:
• wypełniamy liczbami rzeczywistymi tablicę 4x4 i wyświetlamy ja na ekranie,
• następnie drugi i czwarty wiersz tablicy wypełniamy zerami i ponownie wyświetlamy
tablicę na konsoli.
program program11;
{$APPTYPE CONSOLE}
uses
SysUtils;
type
tab = array [1..4, 1..4] of real;
var
t1, t2 : tab;
wie,kol: integer;
begin
randomize;
for wie:=1 to 4 do
for kol:= 1 to 4 do
t1[wie,kol]:=random(100);
for wie:=1 to 4 do
begin
for kol:= 1 to 4 do
write(t1[wie,kol]:4:3,' ');
writeln;
end;
readln;
end.
4.Zaprojektować program konsolowy w Delphi, w którym:
• tworzony jest plik z danymi typu rekordowego Pacjent (nr, nazwisko, wiek_lat,
choroba).
• program wpisuje do pliku dane trzech dowolnych pacjentów.
• drugi program potrafi przeczytać te dane i wypisać je na ekranie.
program program12;
{$APPTYPE CONSOLE}
uses
SysUtils;
type
pliki = text;
pacjent=record
nr:integer;
nazwisko:string[20];
wiek_lat:integer;
choroba:string[40];
end;
var dane:pacjent;
grupa:array[1..3] of pacjent;
k:1..3;
plik: file of pacjent;
srednia:integer;
N:integer;
pacjenci:pliki;
begin
assign(pacjenci,'pacjenci.txt');
for k:=1 to 3 do
begin
write('Podaj numer: ');
readln(dane.nr);
writeln;
write('Podaj nazwisko: ');
readln(dane.nazwisko);
writeln;
write('Podaj wiek: ');
readln(dane.wiek_lat);
writeln;
write('Podaj chorobe: ');
readln(dane.choroba);
writeln;
grupa[k]:=dane; //przepisanie danych do tablicy
end;
for k:=1 to 3 do
begin
rewrite(pacjenci);
writeln(grupa[k].nr,' ',grupa[k].nazwisko,' ',grupa[k].wiek_lat,' ',grupa[k].choroba);
end;
close(pacjenci);
readln;
end.
5.Zaprojektować program konsolowy w Delphi, w którym:
• podawać będziemy w pętli for dane 3-ch osób jako rekordów: Osoba (nazwisko,
wzrost, rok_ur), np:
Nowak 187 1959
Kowalski 168 1978
Malinowski 190 1977
• program umieszcza dane w odpowiedniej 3-elementowej tablicy rekordów, następnie
wyświetla je wszystkie w osobnych wierszach, oraz oblicza i wyświetla średnią
arytmetyczną wzrostu wszystkich osób.
program program13;
{$APPTYPE CONSOLE}
uses
SysUtils;
type
osoba=record
nazwisko:string[20];
wzrost:integer;
rok_u:integer;
end;
var dane:osoba;
grupa:array[1..3] of osoba;
k:1..3;
plik: file of osoba;
srednia:integer;
begin
for k:=1 to 3 do
begin
write('Podaj nazwisko: ');
readln(dane.nazwisko);
writeln;
write('Podaj wzrost: ');
readln(dane.wzrost);
writeln;
write('Podaj rok urodzenia: ');
readln(dane.rok_u);
writeln;
grupa[k]:=dane; //przepisanie danych do tablicy
end;
for k:=1 to 3 do
begin
writeln(grupa[k].nazwisko,' ','Wzrost:',grupa[k].wzrost,' ','Rok urodzenia:',grupa[k].rok_u);
end;
readln;
end.