admin
|
|
« : Kwiecieñ 04, 2011, 11:07:38 » |
|
W Pascalu istnieje mo¿liwo¶æ deklarowania w³asnych typów zmiennych. Przyk³ad deklaracji nowego typu zmiennych o nazwie marek bêd±cego tablic± 1000 elementow±.
program r7; uses crt,dos; type marek= array[1..1000] of real; var x,y,z:real; a:marek; begin a[1]:=1; readkey; end.
|
|
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #1 : Kwiecieñ 11, 2011, 07:25:22 » |
|
Przyk³ad 2. Full wypas, wykorzystanie definicji typu
program rurka; uses crt,dos; type marta=array[1..10,1..10] of integer; malwina= array[1..10,1..10,1..10] of byte; miecio= array[1..10] of malwina; var a:integer; b:marta; begin clrscr; b[1,1]:=5; readkey; end.
|
|
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #2 : Kwiecieñ 11, 2011, 07:39:25 » |
|
Przyk³ad 3. Zadeklarowaæ typ tablicowy 10x10 o nazwie marta i wpisaæ do zmiennej b typu marta naprzemienne liczby 0 i 1. program rurka; uses crt,dos; type marta=array[1..10,1..10] of integer; malwina= array[1..10,1..10,1..10] of byte; miecio= array[1..10] of malwina; var a,c,d:integer; b:marta; begin clrscr;d:=0; for a:=1 to 10 do begin for c:=1 to 10 do begin d:=d+1;d:=d mod 2;b[a,c]:=d;end; end;
for a:=1 to 10 do begin writeln; for c:=1 to 10 do begin write(b[a,c]:3);end; end;
readkey; end.
|
|
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #3 : Kwiecieñ 11, 2011, 10:03:19 » |
|
Przyk³ad 4. Proszê napisaæ program który do tablic: imie, nazwisko, wiek, ocena wczyta dane wpisywane z klawiatury. Program wykonaæ korzystaj±c z procedur.
program rurka; uses crt,dos; var imie: array[1..10] of string; nazwisko:array[1..10] of string; wiek:array[1..10] of byte; ocena:array[1..10] of byte; a,c,d:integer;
procedure wpisz( var a:integer); begin write('Podaj imie: ');readln(imie[a]); write('Podaj nazwisko: ');readln(nazwisko[a]); write('Podaj wiek: ');readln(wiek[a]); write('Podaj ocene: ');readln(ocena[a]); end;
procedure ktory; var x:integer; begin x:=0; repeat x:=x+1; wpisz(x); until x=4; end; procedure pokaz; var a,b:integer; begin for a:=1 to 4 do begin writeln('Imie: ',imie[a]); writeln('nazwisko: ',nazwisko[a]); writeln('wiek: ',wiek[a]); writeln('ocena: ',ocena[a]); writeln; end; end;
begin clrscr; ktory; clrscr;delay(1000);pokaz; readkey; end.
|
|
« Ostatnia zmiana: Kwiecieñ 11, 2011, 10:58:31 wys³ane przez admin »
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #4 : Kwiecieñ 11, 2011, 11:58:33 » |
|
program rurka; uses crt,dos; var imie: array[1..10] of string; nazwisko:array[1..10] of string; wiek:array[1..10] of byte; ocena:array[1..10] of byte; a,c,d:integer;
procedure wpisz( var a:integer); begin write(a,' Podaj imie: ');readln(imie[a]); write('Podaj nazwisko: ');readln(nazwisko[a]); write('Podaj wiek: ');readln(wiek[a]); write('Podaj ocene: ');readln(ocena[a]); end;
procedure ktory; var x:integer; begin x:=0; repeat x:=x+1; wpisz(x); until x=4; end; procedure pokaz; var a,b:integer; begin for a:=1 to 4 do begin writeln('Imie: ',imie[a]); writeln('nazwisko: ',nazwisko[a]); writeln('wiek: ',wiek[a]); writeln('ocena: ',ocena[a]); writeln; end; end; procedure pokaz1; var a:integer; begin clrscr; write('Podaj ktory rekord wyswietlic(1-4): ');readln(a); writeln('Imie: ',imie[a]); writeln('nazwisko: ',nazwisko[a]); writeln('wiek: ',wiek[a]); writeln('ocena: ',ocena[a]); writeln; end;
begin clrscr; ktory; clrscr;delay(1000);pokaz1; readkey; end.
|
|
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #5 : Kwiecieñ 18, 2011, 07:24:09 » |
|
Zadanie 5. Program zbudowany jeszcze na tablicach, tworzy prosta bazê danych. W bazie danych zmienn± porz±dkuj±ca jest zmienna ktory (pe³ni funkcjê ID). Do bazy mamy mo¿liwo¶æ wpisywania danych i wy¶wietlania dowolnego rekordu.
program baza1; Uses crt,dos;
Var Imie,nazwisko,telefon:array[1..50] of string; c,c2:char; ktory:byte; t:byte;
PROCEDURE Wprowadz; Begin ClrScr; ktory:=ktory+1; Write('Imie : '); ReadLn( imie[ktory] ); Write('Nazwisko : '); ReadLn( nazwisko[ktory] ); Write('Telefon : '); ReadLn( telefon[ktory] ); End;
PROCEDURE Wyswietl; Begin ClrScr; Write('Numer wpisu ? (1..', ktory ,') :'); ReadLn(t); WriteLn('Imie : ',imie[t] ); WriteLn('Nazwisko : ',nazwisko[t] ); WriteLn('Telefon : ',telefon[t] ); WriteLn; Write('Wcisnij jakis klawisz...'); c2:=readkey; End; procedure poczatek; Begin ktory:=0; Repeat ClrScr; Write('1. Nowy wpis 2. Wyswietlenie wpisu 3.Koniec programu : '); Repeat c:=readkey; Until (c='1') OR (c='2') OR (c='3'); If c='1' Then Wprowadz; If c='2' Then Wyswietl; Until c='3'; end; begin poczatek; End.
|
|
« Ostatnia zmiana: Kwiecieñ 18, 2011, 09:35:16 wys³ane przez admin »
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #6 : Kwiecieñ 18, 2011, 08:06:47 » |
|
Rekordy:Typ rekordowy jest po³±czeniem kilku tabel pod wspólna nazw±. Deklaracja zmiennej rekordowej ma postaæ:
Nazwa zmiennej:record; Nazwa-pola:typ-pola; Nazwa pola :typ-pola; end;
Przyk³ad zastosowania program a2; uses dos,crt; type student =record nazwisko: string[25]; imie:string[20]; ocena: integer; grupa:string[3]; end;
|
|
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #7 : Kwiecieñ 18, 2011, 08:23:23 » |
|
Przyk³ad 6. Baza studentów wykorzystuj±ca rekordy.
program a2; uses dos,crt; type student =record nazwisko: string[25]; imie:string[20]; ocena: integer; grupa:string[3]; end; var dane: array[1..5] of student; v:integer; procedure odczytaj; begin for v:=1 to 5 do begin writeln('wiersz nr: ',v); writeln('podaj nazwisko /25/'); readln(dane[v].nazwisko); writeln('podaj imie /20/'); readln(dane[v].imie); writeln('podaj ocene /int/'); readln(dane[v].ocena); writeln('podaj grupe /3/'); readln(dane[v].grupa); end; end; procedure wyswietl; var v:integer; begin for v:=1 to 5 do begin with dane[v] do begin writeln('Nazwisko: ',nazwisko); writeln('Imie: ',imie); writeln('Grupa: ',grupa); writeln('Ocena: ',ocena); end; end; end; begin clrscr; odczytaj; clrscr; wyswietl; readkey; end.
|
|
« Ostatnia zmiana: Kwiecieñ 18, 2011, 08:25:20 wys³ane przez admin »
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #8 : Kwiecieñ 18, 2011, 12:16:12 » |
|
Program Leniak;
program zyzio; uses crt,dos; type pies=record imie: string; wiek:integer; masa:byte; dlugosc:byte; end; var dziamdziak: array[1..5] of pies; x:integer;
begin x:=0; repeat x:=x+1; write(x,' Rekord zwany rowniez krotka, to pozioma struktura danych okreslajaca jedn obiekt'); writeln( 'Rekord sklada sie z pol opisujece dokladnie cech obiektu '); delay(100);
until keypressed;
end.
|
|
« Ostatnia zmiana: Kwiecieñ 18, 2011, 12:19:34 wys³ane przez admin »
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #9 : Maj 23, 2011, 07:57:10 » |
|
Zadanie XXL. Proszê napisaæ program w którym zostan± zadeklarowane dwa ró¿ne typy rekordowe. Pierwszy o nazwie miasto sk³adaj±cy siê z pól: nazwa,imie_burmistrza, nazwisko_burmistrza, wiek, liczba_mieszkancow, kod_pocztowy Drugi o nazwie mieszkaniec, sk³adaj±cy siê z pól: imie, nazwisko, miasto, ulica, nr_domu, plec. W programie umie¶ciæ zmienne : miasto1 tablica 10 elementowa typu miasto ; obywatel tablica 5 elementowa typu mieszkaniec. (2)
Napisaæ procedurê wprowadzaj±ca dane do zmiennych miasto1, obywatel. W procedura powinna zadawaæ pytanie o kontynuacjê dalszego wprowadzania danych. (3) Napisaæ procedurê wy¶wietlania dowolnego rekordu z zmiennej miasto1 lub obywatel. (4) Napisaæ procedurê wyszukiwania rekordów o tych samych polach. Np. szukamy wszystkich osób którzy nosz± imie np. Zenon. (5)
program sprawdzian; uses crt,dos; type miasto=record imie_b:string; nazwisko_b:string; nazwa:string; wiek:byte; liczba_mieszkancow:longint; kod_pocztowy:string;
end; mieszkaniec=record imie:string; nazwisko:string; miasto:string; ulica:string; nr: string; plec:char; end; var miasto1 :array[1..10] of miasto; obywatel : array[1..5] of mieszkaniec; z:byte; y:char;
procedure wprowadz1; begin z:=1;clrscr; repeat write('podaj nazwe miasta: ');readln(miasto1[z].nazwa); write('podaj imie burmistrza: ');readln(miasto1[z].imie_b); write('podaj nazwisko burmistrza: ');readln(miasto1[z].nazwisko_b); write('podaj liczbe mieszkancow miasta: ');readln(miasto1[z].liczba_mieszkancow); write('podaj kod pocztowy miasta: ');readln(miasto1[z].kod_pocztowy); writeln('Czy chcesz dalej wprowadzac:'); y:=readkey; z:=z+1; until ((y='N') or (y='n') or (z=11) ); end;
begin clrscr; wprowadz1; end.
|
|
« Ostatnia zmiana: Maj 23, 2011, 10:17:14 wys³ane przez admin »
|
Zapisane
|
|
|
|
|