Пошук

неділю, 10 січня 2010 р.

III. Вказівка вибору

ЗАДАЧА № 22

Постановка задачі:

Розробити діалогову програму, яка запитує вік користувача і визначає, до якої вікової категорії він належить:

1)  від 1 до 10 років – дитина;

2)  від 11 до 15 років – підліток;

3)  від 16 до 20 років – юнак (юнка);

4)  від 21 до 30 років – молода людина;

5)  після 31 року – доросла людина.

Аналіз алгоритму:

Особливих пояснень ця задача не потребує, адже її можна розв’язати і за допомогою команди розгалуження. Однак зробимо її за допомогою команди вибору, причому, щоб скористатися гілкою Else, будемо вважати, що людина може мати вік не більше 150 років (навіть за всіма відомими рекордами, людина не може жити більше 150 років). Якщо ж користувач введе число, що не входить у дозволений діапазон, будемо вважати, що він пожартував.

Текст програми:

Program Task_22;

Uses crt;

Var Years:byte; {Years – вік користувача}

Begin

Clrscr;

Write (‘Введіть Ваш вік: ‘). ;

Readln(Years);

Write(‘Ви ‘);

Case Years of

0..10: Writeln(‘– дитина. ‘);

11..15: Writeln(‘– підліток. ‘);

16..20: Writeln(‘– юнак (юнка). ‘);

21..30: Writeln(‘– молода людина. ‘);

31..150: Writeln(‘– доросла людина. ‘)

Else Writeln(‘, пожартували? Людина стільки не живе!’);

End; {закінчення оператора Case}

Readkey;

End.

ЗАДАЧА № 23

Постановка задачі:

Розробити програму виведення інформації про день тижня (вихідний чи робочий), якщо задано його номер від 1 до 7 (1 – понеділок).


Текст програми:

Program Task_23;

Uses crt;

Var Day:byte; {Day – номер дня тижня}

Begin

Clrscr;

Write(‘Введіть номер дня тижня: ‘);

Readln(Day);

Case Day of

1..5: Write(‘Це робочий ‘);

6, 7: Write(‘Це вихідний ‘);

Else Write(‘Це не ‘);

End;

Writeln(‘день тижня. ‘);

Readkey;

End.

ЗАДАЧА № 24

Постановка задачі:

Дано ціле число N (1 <>3) та дійсне число X. За даним значенням змінної N, яка є номером функції, визначити:

1) sin X;       2) cos X;      3) tg X.

Текст програми:

Program Task_24;

Uses crt;

Var N:byte; {N – номер функції, що обчислюється}

X,Y:real; {X – значення змінної, Y – значення функції}

Begin

Clrscr;

Write(‘Введіть значення X: ‘);

Readln(X);

Write(‘Введіть номер функції, що обчислюється: ‘);

Writeln(‘1 – sin’) ;

Writeln(‘2 – cos’);

Writeln(‘3 – tg’);

Readln(N);

Writeln(‘Результат обчислень:’)

Case N of

1: begin Y:=sin(X); Writeln(‘sin(‘,x:3:2,’)=‘, Y:8:2); end;

2: begin Y:=cos(X); Writeln(‘cos(‘,x:3:2,’)=‘, Y:8:2); end;

3: begin Y:=Sin(X)/cos(X); Writeln(‘tg(‘,x:3:2,’)=‘, Y:8:2); end;

Else wrіteIn(‘Помилка вхідних даних.’);

End;

Readkey;

End.


ЗАДАЧА № 25

Постановка задачі:

Дано натуральне число N (N ≤ 100), яке позначає вік людини. Додати до цього числа відповідно слова: «рік», «роки», «років». Наприклад: 1 рік, 12 років, але 43 роки.

Аналіз алгоритму:

Очевидно, що для того, щоб правильно дописати відповідне слово, необхідно виділити останню цифру числа, що позначає вік людини. Тоді, якщо це цифра «1», то дописується слово «рік», якщо цифри «2», «3» або «4» – дописується слово «роки», а в решті випадків – дописується слово «років». Виключенням є діапазон від 11 до 14 років: в цих випадках пишеться слово «років», а не «роки».

Текст програми:

Program Task_25;

Uses crt;

Var Years:byte; {Years – вік людини}

Begin

Clrscr;

Write(‘Введіть Ваш віk: ‘);

Readln(Years);

If Years>150 Then Writeln(‘Помилкові вхідні дані.’)

Else

Begin

Write(‘Вам ‘, Years);

If (Years>=11) and (Years<=14) Then Writeln(‘років.’)

Else

Case Years mod 10 of

1: Writeln(‘рік.’);

2..4: Writeln(‘роки.’);

0,5..9: Writeln(‘років.’);

End;

End;

Readkey;

End.

Немає коментарів:

Дописати коментар