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. |