Skip to content

Instantly share code, notes, and snippets.

@SebastianTroc
Created October 30, 2011 05:17
Show Gist options
  • Select an option

  • Save SebastianTroc/1325536 to your computer and use it in GitHub Desktop.

Select an option

Save SebastianTroc/1325536 to your computer and use it in GitHub Desktop.
Homework #1
{Krajowe Stowarzyszenie Pechowców funduje stypendia dla studentów – pechowców. Minimalne wymagania są następujące:
- Ocena średnia nie wyższa niż 3
- Co najmniej drugi rok studiów
- Wiek ponad 40 lat
Informacje o studentach zapisane są w n-elementowej tablicy rekordów postaci:
- nazwisko
- średnia ocena
- rok studiów
- wiek
Uporządkować tablicę w ten sposób, że na początku znajdą się osoby, które mogą otrzymać stypendium, a w dalszej części pozostali.
Program główny organizuje wprowadzanie danych, porządkowanie tablicy oraz wyświetlenie listy studentów, zaznaczyć, kto może uzyskać stypendium oraz obliczyć ile jest takich osób.
}
Program Stypendia;
Uses
CRT;
Type
TOsoba = Record
Nazwisko :String[20];
SredniaOcena :Real;
RokStudiow :Byte;
Wiek :Byte;
End;
Var Studenci, Pechowcy, Szczesliwcy:Array of TOsoba;
n, i, stypendystow, szczesliwcow:Integer;
BEGIN
ClrScr;
Write('Podaj liczbe studentow: '); Readln(n);
setlength(Studenci,n); setlength(Pechowcy,n); setlength(Szczesliwcy,n);
stypendystow:=0; szczesliwcow:=0;
FOR i:=1 TO n DO
BEGIN
Begin
Write('Podaj nazwisko studenta nr',i,' (do 20-stu znakow): ');Readln(Studenci[i].Nazwisko);
Write('Podaj srednia ocene studenta nr',i,' (jesli ocena jest zmiennoprzecinkowa, to comma musi byc okreslona znakiem kropki): ');Readln(Studenci[i].SredniaOcena);
Write('Na ktorym roku studiuje student nr',i,' (podaj liczbe arabska): ');Readln(Studenci[i].RokStudiow);
Write('Ile lat ma student nr',i,' (podaj liczbe arabska): ');Readln(Studenci[i].Wiek);
Writeln;
End;
IF (Studenci[i].Wiek > 40) AND (Studenci[i].RokStudiow >= 2) AND (Studenci[i].SredniaOcena <= 3.0) THEN
Begin
stypendystow:=stypendystow+1;
Pechowcy[stypendystow]:=Studenci[i];
End
ELSE
Begin
szczesliwcow:=szczesliwcow+1;
Szczesliwcy[szczesliwcow]:=Studenci[i];
End;
END;
WriteLn('Liczba osob, ktore moga uzyskac stypendium: ',stypendystow);
IF stypendystow>0 THEN Writeln('Lista osob, ktore moga uzyskac stypendium:');
FOR i:=1 TO stypendystow DO
Begin
Writeln(' ',Pechowcy[i].Nazwisko);
End;
Writeln;
Writeln('Pozostali studenci:');
FOR i:=1 TO szczesliwcow DO
Begin
Writeln(' ',Szczesliwcy[i].Nazwisko);
End;
Readln;
END.
@SebastianTroc
Copy link
Copy Markdown
Author

Zadanie z algorytmów i struktur.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment