Darmowe Forum

Turbo Pascal => Turbo Pascal semestr II => Wątek zaczęty przez: admin Marzec 19, 2012, 08:06:53



Tytuł: Klasy i obiekty w Turbo Pascalu
Wiadomość wysłana przez: admin Marzec 19, 2012, 08:06:53
Zacznijmy jednak od rekordów. Proszę napisać program który pozwoli wprowadzić imię i nazwisko do typu rekordowego. Wprowadzanie i wyświetlanie danych zrealizować korzystając z procedury wczytaj.

program bazurai;
uses crt,dos;

type
uczen = record
imie: string;
nazwisko: string;
end;
var x,y: integer;
dane : array[1..5] of uczen;
procedure wczytaj;
var a:integer;
begin
 for a:=1 to 5 do begin
 write('Podaj imie nr ',a,' : ');readln(dane[a].imie);
 write('Podaj nazwisko nr ',a,' : ');readln(dane[a].nazwisko);
 end;
end;

begin

end.
======== wersja z wprowadzaniem i wyszukiwaniem najdłuższego wprowadzonego nazwiska ======

program bazurai;
uses crt,dos;

type
uczen = record
imie: string;
nazwisko: string;
end;
var x,y: integer;
dane : array[1..5] of uczen;
procedure wczytaj;
var a:integer;
begin
 for a:=1 to 5 do begin
 write('Podaj imie nr ',a,' : ');readln(dane[a].imie);
 write('Podaj nazwisko nr ',a,' : ');readln(dane[a].nazwisko);
 end;
end;
procedure wyszukaj;
var a,b,c:integer;
begin  c:=1;
for a:=1 to 5 do begin
 if (length(dane[a].nazwisko)>length(dane[c].nazwisko)) then c:=a; end;
 writeln;
 writeln(' osoba o najdluższym nazwisku to: ',dane[c].imie,' ', dane[c].nazwisko);
end;

begin
 wczytaj;
 wyszukaj;
 readkey;
end.

++++++++++++++++++ krótkie imię ++++++++++++++++++++++++++++++++++++++++

program bazurai;
uses crt,dos;

type
uczen = record
imie: string;
nazwisko: string;
end;
var x,y: integer;
dane : array[1..5] of uczen;
procedure wczytaj;
var z:integer;
begin
 for z:=1 to 5 do begin
 write('Podaj imie nr ',z,' : ');readln(dane[z].imie);
 write('Podaj nazwisko nr ',z,' : ');readln(dane[z].nazwisko);
 end;
end;
procedure wyszukaj;
var a,b1,c:integer;
begin  b1:=1;
for a:=1 to 5 do begin
 if (length(dane[a].nazwisko)>length(dane[b1].nazwisko)) then b1:=a; end;
 writeln;
 writeln(' osoba o najdluższym nazwisku to: ',dane[b1].imie,' ', dane[b1].nazwisko);
end;
procedure wysz_krotkie;
var c,d,e: integer;
begin
c:=1;
for d:=1 to 5 do begin
 if (length(dane[d].imie)<length(dane[c].imie)) then c:=d; end;
 writeln;
 writeln(' osoba o najkrotszym imieniu to: ',dane[c].imie,' ', dane[c].nazwisko);

end;

begin clrscr;
 wczytaj;
 wyszukaj;
 wysz_krotkie;
 readkey;
end.

Zadanie na zaliczenie
Napisać program w którym zadeklarowano typ rekordowy ankieta składający się z pól: imie i wiek.
Następnie zadeklarowano zmienną viola będący tablicą rekordów ankieta (tablica o 6 polach).
W programie napisać procedurę umożliwiająca wpisywanie danych do rekordów oraz procedurę wyszukiwania najmłodszej osoby która został wprowadzona. Wyniki wyszukiwania powinny zostać wyświetlone na ekranie.


Tytuł: Odp: Klasy i obiekty w Turbo Pascalu
Wiadomość wysłana przez: admin Marzec 19, 2012, 09:22:42

Dziedziczenie

type
  TDane1 = object(TDane)
    x : real;
    procedure SetX(const r : real);
    function GetX : real;
  end;

  TDane2 = object(TDane)
    x : longint;
    procedure SetX(const r : real); {!!!}
    function GetX : longint;
  end;

procedure TDane1.SetX; {nie musisz powtarzać nagłówka z deklaracją parametrów}
begin
  x := r
end;

function TDane1.GetX;
begin
  GetX := x
end;

procedure TDane2.SetX;
begin
  x := round®
end;

function TDane2.GetX;
begin
  GetX := x
end;


Tytuł: Odp: Klasy i obiekty w Turbo Pascalu
Wiadomość wysłana przez: admin Marzec 19, 2012, 09:23:46
Tworzenie klasy

type
  TDane = object
    a : string;
    b : integer;

    procedure SetA(const s : string);
    procedure SetB(const i : integer);
    function GetA : string;
    function GetB : integer;
  end;

procedure TDane.SetA(const s : string);
begin
  a := s
end;

procedure TDane.SetB(const i : integer);
begin
  b := i
end;

function TDane.GetA : string;
begin
  GetA := a
end;

function TDane.GetB : integer;
begin
  GetB := b
end;


Tytuł: Odp: Klasy i obiekty w Turbo Pascalu
Wiadomość wysłana przez: admin Kwiecień 02, 2012, 08:55:44
Zadanie na śniadanie

program Adam;
uses
  Crt,dos;

type

  Komputer = object
    x, y, masa : integer;
    constructor Inicjuj;
    destructor Usun; virtual;
    procedure Szybkosc(bios, pamiec: integer);
  end;

  komp1=object(Komputer)
  end;

constructor komputer.Inicjuj;
begin
end;

destructor komputer.Usun;
begin
end;


procedure komputer.szybkosc(bios,pamiec: integer);
var a:integer;
begin
  a:=bios+2*pamiec;
end;


begin


  ClrScr;

end.


Polityka cookies
Darmowe Fora | Darmowe Forum

zaburzenia osw fastkillers tdw wladca-smokow