Darmowe Forum
Grudzieñ 22, 2024, 09:54:28 *
Witamy, Go¶æ. Zaloguj siê lub zarejestruj.
Czy dotar³ do Ciebie email aktywacyjny?

Zaloguj siê podaj±c nazwê u¿ytkownika, has³o i d³ugo¶æ sesji
Aktualno¶ci: Forum zosta³o uruchomione!
 
   Strona g³ówna   Pomoc Zaloguj siê Rejestracja  
Strony: [1]
  Drukuj  
Autor W±tek: Rekordy  (Przeczytany 6670 razy)
admin
Administrator
Ekspert
*****
Wiadomo¶ci: 821


Email
« : Luty 13, 2012, 10:20:53 »

W Pascalu istnieje mo¿liwo¶æ deklarowania w³asnych typów zmiennych.
Przyk³ad deklaracji nowego typu zmiennych o nazwie wycior bêd±cego tablic± 1000 elementow±.


program aa;
uses crt,dos;
type wycior= array[1..1000] of real;
var x,y,z:real;
a:wycior;
begin
  a[1]:=1;
   readkey;
end.
« Ostatnia zmiana: Luty 13, 2012, 10:54:30 wys³ane przez admin » Zapisane
admin
Administrator
Ekspert
*****
Wiadomo¶ci: 821


Email
« Odpowiedz #1 : Luty 13, 2012, 10:57:50 »

Przyk³ad 1. Zadeklarowaæ trzy typy zmiennych , bêd±ce typu tablicowego (tablice dwu i trój wymiarowe).

program ramzes;
uses crt,dos;
type bobo=array['A'..'F',1..10] of integer;
aska=array[1..30] of byte;
lobo= array['A'..'H',1..10,1..10] of byte;
robo= array[1..10] of bobo;
var x:integer;
y:robo;
begin
       clrscr;
  {y[1,1,1]:=6;}
  readkey;
end.
« Ostatnia zmiana: Luty 20, 2012, 12:59:19 wys³ane przez admin » Zapisane
admin
Administrator
Ekspert
*****
Wiadomo¶ci: 821


Email
« Odpowiedz #2 : Luty 13, 2012, 10:59:48 »

Przyk³ad 2. Proszê napisaæ program który do tablic: imie, nazwisko, wiek, ocena wczyta dane wpisywane z klawiatury. Program wykonaæ korzystaj±c z procedur.


program ramzes2;
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.

Zapisane
admin
Administrator
Ekspert
*****
Wiadomo¶ci: 821


Email
« Odpowiedz #3 : Marzec 05, 2012, 08:20:42 »

Rekord -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 deklaracji rekordu

Program rekord1;
uses crt,dos;
type
dane=record
imie:string[15];
nazwisko:string[20];
plec:char;
wiek:byte;
dochody: single;
miasto :string;
end;
var pracownik:dane;
begin end.
« Ostatnia zmiana: Marzec 05, 2012, 09:20:11 wys³ane przez admin » Zapisane
admin
Administrator
Ekspert
*****
Wiadomo¶ci: 821


Email
« Odpowiedz #4 : Marzec 05, 2012, 09:25:04 »

Przyk³ad 1. Napisaæ program deklaruj±cy typ rekordowy i zmienn± pracownik typu rekordowego. Nastepnie wczytaæ do rekordu dane pracownika.

Program rekord1;
uses crt,dos;
type
dane=record
imie:string[15];
nazwisko:string[20];
plec:char;
wiek:byte;
dochody: single;
miasto :string;
end;
var pracownik: dane;
begin
write('Podaj nazwisko pracownika:');readln(pracownik.nazwisko);


end.
Zapisane
admin
Administrator
Ekspert
*****
Wiadomo¶ci: 821


Email
« Odpowiedz #5 : Marzec 05, 2012, 10:04:55 »

Przyk³ad 1A. Podobne do poprzedniego tylko z wszystkimi pytaniami.

Program rekord1;
uses crt,dos;
type
dane=record
imie:string[15];
nazwisko:string[20];
plec:char;
wiek:byte;
dochody: real;
miasto :string;
end;
var pracownik: dane;
begin  clrscr;
 write('Podaj imie pracownika:');readln(pracownik.imie);
write('Podaj nazwisko pracownika:');readln(pracownik.nazwisko);
write('Podaj nazwisko plec:');readln(pracownik.plec);
 write('Podaj nazwisko plec:');readln(pracownik.wiek);
 write('Podaj nazwisko plec:');readln(pracownik.dochody);
 write('Podaj nazwisko plec:');readln(pracownik.miasto);

  readkey;
end.
Zapisane
admin
Administrator
Ekspert
*****
Wiadomo¶ci: 821


Email
« Odpowiedz #6 : Marzec 05, 2012, 10:25:36 »

Przyk³ad 2. Rekordy gdy mamy kilku pracowników

Program rekord1;
uses crt,dos;
type
dane=record
imie:string[15];
nazwisko:string[20];
plec:char;
wiek:byte;
dochody: real;
miasto :string;
end;
var pracownik: array[1..5] of dane;
begin  clrscr;
 write('Podaj imie pracownika:');readln(pracownik[1].imie);
write('Podaj nazwisko pracownika:');readln(pracownik[1].nazwisko);
write('Podaj nazwisko plec:');readln(pracownik[1].plec);
 write('Podaj nazwisko plec:');readln(pracownik[1].wiek);
 write('Podaj nazwisko plec:');readln(pracownik[1].dochody);
 write('Podaj nazwisko plec:');readln(pracownik[1].miasto);
end.
« Ostatnia zmiana: Marzec 05, 2012, 10:34:35 wys³ane przez admin » Zapisane
admin
Administrator
Ekspert
*****
Wiadomo¶ci: 821


Email
« Odpowiedz #7 : Marzec 05, 2012, 10:29:00 »

Przyk³ad 3. Zmodyfikowaæ przyk³ad 2, tak aby mo¿na by³o wprowadziæ dane 5 pracowników. Ograniczyæ wprowadzanie do 3 pierwszych pól.

Program rekord1;
uses crt,dos;
type
dane=record
imie:string[15];
nazwisko:string[20];
plec:char;
wiek:byte;
dochody: real;
miasto :string;
end;
var pracownik: array[1..5] of dane;
a:byte;
begin  clrscr;
 for a:=1 to 5 do begin
 write('Podaj imie ',a,' pracownika:');readln(pracownik[a].imie);
write('Podaj nazwisko ',a,' pracownika:');readln(pracownik[a].nazwisko);
write('Podaj nazwisko plec:');readln(pracownik[a].plec);
write('Podaj wiek:');readln(pracownik[a].wiek);
 write('Podaj dochody:');readln(pracownik[a].dochody);
 write('Podaj miasto:');readln(pracownik[a].miasto);
  end;
  readkey;
end.
« Ostatnia zmiana: Marzec 05, 2012, 11:07:12 wys³ane przez admin » Zapisane
admin
Administrator
Ekspert
*****
Wiadomo¶ci: 821


Email
« Odpowiedz #8 : Marzec 12, 2012, 08:39:12 »

Zadanie 4. Zadeklarowaæ rekord o nazwie uczen zawieraj±cy pola : imie, nazwisko, data_urodzenia, miasto, ulica. Nastêpnie zadeklarowaæ zmienn±  o nazwie baza bêd±c± tablic± ( dowolnej wielko¶ci) bêd±cej typu uczen.

program a;
uses crt,dos;
type uczen=record
imie: string;
nazwisko:string;
dat_ur: word;
miasto: string;
ulica: string;
end;

var baza:array[1..10] of uczen;
begin

end.
« Ostatnia zmiana: Marzec 12, 2012, 08:41:50 wys³ane przez admin » Zapisane
admin
Administrator
Ekspert
*****
Wiadomo¶ci: 821


Email
« Odpowiedz #9 : Marzec 12, 2012, 10:23:28 »

Zadanie ze sprawdzianu, poniedzia³ek

program a;
uses crt,dos;
type dane=record
imie: string;
nazwisko:string;
wiek:integer;
plec:char;
dochody:word;
miasto: string;

end;

var pracownik:array[1..6] of dane;
var a:integer;
begin
  clrscr;
  for a:=1 to 6 do begin

  write('Podaj imie: ');readln(pracownik[a].imie);
  write('Podaj nazwisko: ');readln(pracownik[a].nazwisko);
  write('Podaj wiek: ');readln(pracownik[a].wiek);
  write('Podaj plec: ');readln(pracownik[a].plec);
  write('Podaj dochody: ');readln(pracownik[a].dochody);
  write('Podaj miasto: ');readln(pracownik[a].miasto);
 end;
« Ostatnia zmiana: Marzec 12, 2012, 10:30:00 wys³ane przez admin » Zapisane
admin
Administrator
Ekspert
*****
Wiadomo¶ci: 821


Email
« Odpowiedz #10 : Marzec 12, 2012, 11:07:29 »

Zadanie 6. Napisaæ program który deklaruje zmienn± cz³owiek, bêd±c± typu rekordowego. W rekordzie proszê zadeklarowaæ dwa pola: imiemasa_ciala. Zadeklarowaæ zmienn± rank bêd±c± typu czlowiek. W programie g³ównym napisaæ:
1. pêtlê wprowadzaj±c± dane do pól zmiennej rank.
2. Algorytm wyszukuj±cy osobê o najmniejszej masie cia³a i wy¶wietlaj±cy jego imiê i masê cia³a.



program a6;
uses crt,dos;
             type czlowiek=record
                                 imie: string;
                                 masa:real;
                                 end;


var rank : array[1..4] of czlowiek;
a,d:integer;
c:real;
begin   clrscr;
for a:=1 to 4 do
            begin
            write(a,'Podaj imie: ');readln(rank[a].imie);
            write('  Podaj mase ciala: ');readln(rank[a].masa);
            end;
             c:=rank[1].masa;

for a:=1 to 4 do begin
              if (rank[a].masa<c) then begin c:=rank[a].masa; d:=a;end;

                 end;
writeln('Osoba o najmniejszej masie ciala to...',rank[d].imie,' o masie: ',rank[d].masa:0:1);

 readkey;
end.

---------tak samo jak wy¿ej, tylko obliczenia w procedurze misio ---------------------------
program a6;
uses crt,dos;
             type czlowiek=record
                                 imie: string;
                                 masa:real;
                                 end;


var rank : array[1..4] of czlowiek;
a,d:integer;
c:real;
procedure misio;begin  clrscr;
for a:=1 to 4 do
            begin
            write(a,'Podaj imie: ');readln(rank[a].imie);
            write('  Podaj mase ciala: ');readln(rank[a].masa);
            end;
             c:=rank[1].masa;

for a:=1 to 4 do begin
              if (rank[a].masa<c) then begin c:=rank[a].masa; b:=a;end;

                 end;
writeln('Osoba o najmniejszej masie ciala to...',rank[d].imie,' o masie: ',rank[d].masa:0:1);

 readkey;     end;
 begin
 misio;
end.
« Ostatnia zmiana: Marzec 12, 2012, 12:28:24 wys³ane przez admin » Zapisane
admin
Administrator
Ekspert
*****
Wiadomo¶ci: 821


Email
« Odpowiedz #11 : Marzec 26, 2012, 08:53:59 »

Napisaæ program który prosi o podanie nazwiska i oceny ucznia. Imie i nazwisko umieszczone ma zostaæ w rekordzie. Zadeklarowaæ tablicê rekordów sk³adaj±ca siê z 10 pól. Nastêpnie wprowadziæ zmienne (nazwisko, ocena). Wykorzystuj±c sortowanie uporz±dkowaæ uczniów w kolejno¶ci otrzymanych ocen.

program as;
uses crt, dos;
type
uczen = record
nazwisko: string;
ocena: Byte;
end;
procedure Sort(var X: array of uczen);
var
Temp: uczen;
i: Integer;
zmiana: Boolean;
begin
repeat
zmiana:= False;
for i:= 0 to High(X) - 1 do
if X.ocena < X[i + 1].ocena then
begin
Temp:= X;
X:= X[i + 1];
X[i + 1]:= Temp;
zmiana:= True;
end;
until not zmiana;
end;
var
uczniowie: array [0 .. 9] of uczen;
i: Integer;
begin
Writeln('Prosze podac nazwiska i oceny 10 uczniow');
for i:= 0 to High(uczniowie) do
begin
Write('Uczen #', i + 1, ' nazwisko : ');
Readln(uczniowie.nazwisko);
Write('uczen #', i + 1, ' ocena : ');
Readln(uczniowie.ocena);
Writeln;
end;
Sort(uczniowie);
Writeln;
Writeln('Oceny po sortowaniu: ');
Writeln('----------------------');
for i:= 0 to High(uczniowie) do
begin
Writeln('# ', i + 1, ' ', uczniowie.nazwisko,
' otrzymal ocene (', uczniowie.ocena, ')');
end;
Write('Nacisnij dowolny klawisz by wyjsc');
Readln;
end.
Zapisane
Strony: [1]
  Drukuj  
 
Skocz do:  

Powered by SMF 1.1.11 | SMF © 2006-2008, Simple Machines LLC | Sitemap

Polityka cookies
Darmowe Fora | Darmowe Forum

polski-serwer-rpg moikrewni shaggydogss blackmoon spw