Algorytmy zadania


10cioma jedynkami
TTablica=class

FTablica: array[1..10] of integer;
constructor Create;
procedure Pisz(liczba, index: Integer);
function Czytaj(index: Integer): Integer;
end;
constructor TTablica.Create;
var i: Integer;
begin
for i := 1 to 10 do
FTablica[i] := 1;
end;
procedure TTablica.Pisz(liczba, index: Integer);
begin
if not (index in [1..10]) then ShowMessage('poza zakresem') else
if liczba mod 2 <> 0 then ShowMessage('nieparzysa') else
FTablica[index] := liczba
end;
function TTablica.Czytaj(index: INteger):Integer;
begin
if not (index in [1..10]) then ShowMessage('poza zakresem') else
result := FTablica[index]
end

10cioma dwojkami
TTablica=class
FTablica: array['A'..'J'] of integer;
constructor Create;
procedure Pisz(liczba : integer; index: char);
function Czytaj(index: char): Integer;
end;
constructor TTablica.Create;
var i: Integer;
begin
for i := ord('A') to ord('J') do
FTablica[chr(i)] := 2;
end;
procedure TTablica.Pisz(liczba : integer; index: char);
begin
if not (index in ['A'..'J']) then ShowMessage('poza zakresem') else
if liczba mod 2 <> 1 then ShowMessage('zla liczba') else
FTablica[index] := liczba
end;
function TTablica.Czytaj(index: char):Integer;
begin
if not (index in ['A'..'J']) then ShowMessage('poza zakresem') else
result := FTablica[index]
end

TCzas=class
Private
FNr_rejsu: String;
FGodzina: Integer;
FMinuta: Integer;
Public
constructor Create(nr_rejsu: String; godzina, minuta: Integer);
procedure podaj_info_o_locie;
procedure natepna_minuta;
function minuta_doby: Integer;
end;
constructor TCzas.Create(nr_rejsu: String; godzina, minuta: Integer);
begin
if (not (godzina in [0..23])) and (not (minuta in [0..59]))
then begin ShowMessage(`Nieprawidlowe dane'); exit; end;
FNr_rejsu := nr_rejsu;
FGodzina := godzina;
FMinuta := minuta;
end;
procedure TCzas.podaj_info_o_locie;
begin

ShowMessage(Format('%s %d:%d', [FNr_rejsu, FGodzina, FMinuta]));
end;
procedure
TCzas.nastepna_minuta;
begin
inc(FMinuta);
if FMinuta >= 60 then
begin
FMinuta := 0;
inc(FGodzina);
end;
if FGodzina >= 24 then
FGodzina := 0;
end;
function TCzas.minuta_doby: Integer;
begin
result := FGodzina*60+FMinuta-1
end;

TCzas=class
Private
FNr_rejsu: String;
FGodzina: Integer;
FMinuta: Integer;
Public
constructor Create(nr_rejsu: String; godzina, minuta: Integer);
procedure podaj_info_o_locie;
procedure natepna_minuta;
function minuta_doby: Integer;
end;
constructor TCzas.Create(nr_rejsu: String; godzina, minuta: Integer);
begin
if (not (godzina in [0..23])) and (not (minuta in [0..59]))
then begin ShowMessage(`Nieprawidlowe dane'); exit; end;
FNr_rejsu := nr_rejsu;
FGodzina := godzina;
FMinuta := minuta;
end;
procedure TCzas.podaj_info_o_locie;
begin
ShowMessage(Format('%s %d:%d', [FNr_rejsu, FGodzina, FMinuta]));
end;
procedure
TCzas.nastepna_godzina;
begin
inc(FGodzina);
if FGodzina >= 24 then
FGodzina := 0;
end;
function TCzas.kwadrans_doby: Integer;
begin
result := FGodzina*4+(Fminuta div 4)-1 //chyba
end;

TKolejkaBezPowtorzen=class(TQueue)
public constructor Create;
procedure Pisz(liczba: Integer);
function Czytaj:Integer;
end;
constructor TKolejkaBezPowtorzen.Create;
var
i: Integer;
begin
for i := 1 to 10 do
Pisz(i);
end;
function TKolejkaBezPowtorzen.Czytaj: Integer;
begin
result := -1; // gdy nie istnieje
if Count = 0 then Exit;
result := Integer(Pop);
end;
procedure TKolejkaBezPowtorzen.Pisz(liczba: Integer);
var
p: Pointer;
i: Integer;
begin
if Count = 10 then Exit;
for i := 0 to Count-1 do
if Integer(Self.List.Items[i]) = liczba then
Exit;
New(p);
p := PChar(liczba);
Push(p);
end;

type
TStosBezPowtorzen=class(TStack)

Public
constructor Create;
procedure Pisz(liczba: Integer);
function Czytaj:Integer;
end;constructor TStosBezPowtorzen.Create;
var
i: Integer;
begin
for i := 1 to 10 do
Pisz(i);
end;
function TStosBezPowtorzen.Czytaj: Integer;
Begin
result := -1; // gdy nie istnieje
if Count = 0 then Exit;
result := Integer(Pop);
end;
procedure TStosBezPowtorzen.Pisz(liczba: Integer);
var
p: Pointer;
i: Integer;
begin
if Count = 10 then Exit;
for i := 0 to Count-1 do
if Integer(Self.List.Items[i]) = liczba then
Exit;
New(p);
p := PChar(liczba);
Push(p);
end;

TRODZINKA!
type 
      TPlec = (pKobieta, pMezczyzna); 
      TOsoba = record 
                imie: string; 
                wiek: integer; 
                plec: TPlec; 
                end; 

      TRodzina = class 
        FNazwisko: string; 
        FIleOsob: integer; 
        FOsoba: array[1..10] of TOsoba; 
        constructor Create(nazwisko: string); 
        procedure DodajOsobe(osoba: TOsoba); 
        function SredniaWieku: integer; 
        function NestorRodu: string; 
      end;

constructor TRodzina.Create(nazwisko: string);
 
begin 
  inherited; 
    FNazwisko:=nazwisko; 
    FIleOsob:= 0; 
end; 
procedure TRodzina.DodajOsobe(osoba:TOsoba); 
begin 
    if FIleOsob <= 9 then 
      begin 
        FOsoba[FIleOsob + 1].imie:= osoba.imie; 
        FOsoba[FIleOsob + 1].wiek:= osoba.wiek; 
        FOsoba[FIleOsob + 1].plec:= osoba.plec; 
        FIleOsob:= FIleOsob + 1; 
      end 
    else 
      ShowMessage('Rodzina pełna'); 
end; 
function TRodzina.SredniaWieku:integer; 
 var i: integer; 
      srednia: integer; 
begin 
    srednia:= 0; 
    if FIleOsob = 0 then 
        begin 
          ShowMessage('Rodzina pusta'); 
          Exit; 
        end; 
    for i:= 1 to FIleOsob do srednia:= srednia + FOsoba[i].wiek; 
    Result:= srednia div FIleOsob; 
end; 
function TRodzina.NestorRodu: string; 
begin
end;



Wyszukiwarka

Podobne podstrony:
Algorytmy zadania id 51150 Nieznany (2)
złożoność algorytmów zadanie
Zadania algorytmy, Zadanie 1
Algorytmy-zadania, Programowanie, wykłady C++
03 Algorytmy zadania
ALS - 001-000 - Zadania - ZAJECIA, Informatyka - uczelnia, WWSI i WAT, wwsi, SEM II, Algorytmy i Str
Algorytm pisemny mnożenia zadanie o Krakowie, Kraków- miasto położone w południowej Polsce nad Wisłą
zadania1 algorytmyIV, Matematyka
AiSD Egzamin Zadania, !!!Uczelnia, wsti, materialy, II SEM, algorytmy struktury danych
zadania2 algorytmyIV, Matematyka
algo zadania egzamin, !!!Uczelnia, wsti, materialy, II SEM, algorytmy struktury danych, egzamin
Sciaga Przykladowe Zadania, !!!Uczelnia, wsti, materialy, II SEM, algorytmy struktury danych
algorytm do zadania 1
Optymalizacja Cw 3 Zadanie programowania nieliniowego bez ograniczeń algorytmy optymalizacji lokaln
algorytm do zadania 2
Zadania algorytmy
Schemat blokowy to graficzny zapis algorytmu rozwiązania zadania
Zadania z treścia

więcej podobnych podstron