Завдання

1. Дано

Type State = (Britain, Usa, France, Sweden, Ukrainia, Belorussia, Russia, Iraq);

Senior=(Queen, King, President, Premier);

За назвою країни вказати титул голови держави.

2. Дано

Type Month=(Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec);

Day=1..31; Number=1..365;

Var n : Number; d : Day; m : Month;

За номером n деякого дня невисокосного року визначити його дату d, m.

3. Дано

Type Karta = (Six,Seven,Eight,Nine,Ten,Junior,Dame,King,As);

Var K1, K2, K3 : Karta; S : Byte;

Враховуючи, що за вибрані карти нараховують такі бали: Six – 6, Seven – 7, Eight – 8, Nine – 9, Ten – 10, Junior – 2, Dame – 3, King – 4, As – 11, визначити суму балів в трьох заданих картах.

4. Дано

Type Month=(Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec);

Day=1..31;

Var d : Day; m : Month;

Вважаючи, що в лютому 28 днів, визначити, чи існує дата, що вводиться з клавіатури.

5. Дано

Type Month=(Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec);

Day=1..31; Year=0..MaxInt;

Var y : Year; d : Day; m : Month;

За назвою місяця m і року y визначити кількість днів d в місяці.

6. Дано

Type Unit = (Millimetre,Centimetre,Decimetre,Metre,Kilometre);

Var U : Unit; G, L : Real;

Довжину L, задану в метрах, виразити як кількість G в заданих одиницях вимірювання U.

7. Дано

Type Month=(Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec);

Day=1..31;

Var D_New, D_Old : Day; M_New, M_Old : Month;

За введеною датою D_New, M_New визначити дату попереднього дня для високосного року.

8. Дано

Type State = (Germany,Cuba,Laos,Nepal,Poland,Egupt,Italy);

Continent = (Asia,Africa,America,Europe);

Var S : State; C : Continent;

За S – назвою країни визначити С – назву відповідного континенту і вивести її на екран.

9. Дано

Type Unit = (Millimetre,Centimetre,Decimetre,Metre,Kilometre);

Length = 0..9999;

Var U : Unit; X : Length;

За наіменуванням величини U та її величині X виразити її значення в міліметрах.

10. Дано

Type Month=(Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec);

Day=1..31; Year=1901..2001;

Var Y, Y1 : Year; D, D1 : Day; M, M1 : Month;

За датою D, M, Y визначити D1, M1, Y1 – дату наступного дня.

11. Дано

Type Month=(Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec);

Var M : Month; D=1..31; Y=1901..2001; T : Boolean;

Змінній T присвоїти значення True, якщо трійка D, M, Y утворює правильну дату і значення False – інакше.

12. Дано

Type Month=(Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec);

Day = (Ned,Pon,Vivt,Ser,Chet,Ptn,Sub);

Var N : 1..31; K : 0..12; M : Month; Wd, Wd1 : Day;

Враховуючи, що рік високосний і перше січня припадає на день тижня Wd1, визначити K - кількість понеділків в році, що припадає на 13 число.

13. Дано

Type Name = (John,Mary,Eve,Robert,Elizabeth,Bill,Ann);

Sex = (Male,Female);

Var N : Name; S : Sex;

За введеним іменем визначити стать людини.

14. Дано

Type Nota = (Do,Re,Mi,Fa,Sol,La,Si);

Interval = (Secunda,Tercia,Qurta,Qinta,Secsta,Septima);

Var N1, N2 : Nota; I : Interval;

Визначити I – інтервал, утворений нотами N1, N2 (N1<>N2). Секунда – це інтервал між двома сосідніми нотами, терція – інтервал через ноту і т.д.