Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Информатика. Программирование для библиотечных специалистов. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
12.08.2026
Размер:
1 Мб
Скачать

program vozrast;

type gody=(let, god, goda); var g:gody;

k,f:integer; begin

write('Введите Ваш возраст?'); readln(k);

f:=k;

if f>20 then f:=k mod 10; writeln(f);

case f of 1:g:=god; 2,3,4:g:=goda; 0,5..20:g:=let; end;

writeln ('Ваш возраст составляет'); case g of

let:writeln(k,' лет'); goda:writeln(k,' года'); god:writeln(k,' год'); end;

readln;

end.

Тестирование: 6 тестов 1. Введите Ваш возраст? — 1.

Ваш возраст составляет 1 год. 2. Введите Ваш возраст? — 21.

Ваш возраст составляет 21 год. 3. Введите Ваш возраст? — 7.

Ваш возраст составляет 7 лет. 4. Введите Ваш возраст? — 38.

Ваш возраст составляет 38 лет. 5. Введите Ваш возраст? — 33.

Ваш возраст составляет 33 года. 6. Введите Ваш возраст? — 3.

Ваш возраст составляет 3 года.

51

Задания для самостоятельной работы

Индивидуальные задания.

1. Запрашивается количество книг в фонде. Разработайте алгоритм, который по запросу о количестве книг в числовом виде выводит на экран это количество, согласованное

снормами русского языка.

2.Составьте программу-меню, которая по номеру библиотеки выдает название проходящей в ней выставки.

3.Для натурального числа d вывести фразу «Зарплата сотрудника библиотеки составляет d рублей», согласовав окончание слова «рубли» с числом d.

4. Составьте программу, которая при выборе дня недели выводит на монитор количество пользователей библиотеки, согласовав окончание слова «пользователь»

сномером дня недели.

5.Составьте программу, которая при выборе фамилии автора выводит список его произведений.

6.Составьте программу, которая при выборе фамилии поэта выводит дату его рождения и текст его стихов.

7.Составьте программу меню, которая по номеру галереи выдает название проходящей в ней выставки.

8.Составьте программу, которая при выборе фамилии писателя выводит дату его рождения и названия его произведений.

9.Составьте программу меню, которая по номеру библиотеки выдает фамилию ее директора.

Творческий блок

1. При разработке алгоритмов алгоритмической структуры «выбор» необходимо вспомнить о меню (тема 5). Проанализируйте программный код алгоритма и определите условие задачи.

program biblioteka; uses crt;

var k:word; begin

52

textbackground(1);

clrscr;

textcolor(12);

gotoxy(22,10);

writeln('*********************************');

textcolor(12);

gotoxy(22,14);

writeln('*********************************');

textcolor(14);

gotoxy(23,12);

writeln('Пример работы меню'); textcolor(10);

gotoxy(18,17);

writeln('Для продолжения нажмите любую клавишу'); readkey;

clrscr;

gotoxy(25,9);

writeln('Введите номер пункта');

gotoxy(30,12);

writeln('1. Шебекинская РБ');

gotoxy(30,14);

writeln('2. Белгородская РБ № 1'); gotoxy(30,16);

writeln('3. Воронежская ЦРБ'); gotoxy(30,18);

writeln('4. Курская ЦРБ'); readln(k);

clrscr;

gotoxy(31,11); case k of 1:begin

writeln('*********************************');

textcolor(12);

gotoxy(31,15);

writeln('*********************************');

textcolor(14);

gotoxy(33,12); writeln('Шебекинская РБ');

gotoxy(38,13); writeln('Директор');

writeln('Главбух Зам. директора Зам. директора по работе с детьми Главный специалист');

textcolor(10);

gotoxy(18,17);

53

end;

2:begin

writeln('*********************************');

textcolor(12);

gotoxy(31,15);

writeln('*********************************');

textcolor(14);

gotoxy(33,12); writeln('Белгородская РБ № 1'); gotoxy(38,13); writeln('Директор');

writeln('Главбух Зам. директора Главный специалист');

textcolor(10);

gotoxy(18,17);

end;

3:begin

writeln('*********************************');

textcolor(12);

gotoxy(31,15);

writeln('*********************************');

textcolor(14);

gotoxy(33,12); writeln('Воронежская ЦРБ'); gotoxy(38,13); writeln('Директор');

writeln('Главбух Зам. директора Зам. директора по работе с детьми Главный специалист');

textcolor(10);

gotoxy(18,17);

end;

4:begin

writeln('*********************************');

textcolor(12);

gotoxy(31,15);

writeln('*********************************');

textcolor(14);

gotoxy(36,12); writeln('Курская ЦРБ'); gotoxy(38,13); writeln('Директор');

writeln('Зам. директора Зам. директора по работе с детьми Главный специалист');

textcolor(10);

54

gotoxy(18,17);

end;

end;

readln;

end.

2. Добавьте в программный код индивидуальной задачи пользовательский интерфейс.

55

ТЕМА 8. СОЗДАНИЕ ПРОГРАММНЫХ ПРОДУКТОВ С ИСПОЛЬЗОВАНИЕМ АЛГОРИТМИЧЕСКОЙ СТРУКТУРЫ «ЦИКЛ»

Теоретический блок

Циклы — фундаментальное понятие в любом языке программирования. Цикл — это такая алгоритмическая структура, в которой происходит многократное повторение действий над новыми данными. При этом многократность не означает бесконечность. В соответствии со свойством результативности алгоритмов результат должен быть получен за конечное число шагов. В общем виде различают такие части цикла:

Параметр цикла — переменная, которая контролирует количество повторений. Различают два основных вида циклов:

1. Цикл с предусловием. При таком варианте организации цикла он управляется предусловием. Тело цикла расположено после проверки условий, при определенных условиях тело цикла не выполнится ни разу.

56

2. Цикл с постусловием. Тело расположено перед проверкой условия. Такой вариант построения цикла состоит в том, что тело цикла выполняется, по крайней мере, один раз, и будет повторяться до тех пор, пока условие не станет истинным. Истинность условия в этом случае является условием выхода из цикла.

57

Итак, цикл с предусловием завершается, когда условие ложно, а цикл с постусловием — когда условие становится истинным.

Различают и третий вид циклов, в которых тело цикла в ы- полняется заданное число раз, т.е. заранее известно количество повторений. Такие циклы называют арифметическими.

58

Практический блок 1

Изучите презентацию «Циклические алгоритмы», используя «Курс по программированию», разберите все примеры и действия циклических операторов для арифметического цикла и цикла с постусловием.

Задача 1. Банк начисляет 3% годовых. Определить сумму накоплений через n лет.

Тело цикла — сумма накоплений, которая ежегодно пополняется. Так как известно количество повторений, то цикл — арифметический.

Исходные данные: s (real) — сумма первоначального взноса; n (byte) — количество лет, р (byte) — процентная ставка; g (byte) — параметр цикла.

Результат: s1(real) — накопленная сумма. Блок-схема:

59

Программный код.

program bank1; var g,n,p:byte;

s,s1:real; begin

writeln('vedite % stavky'); readln(p);

writeln('vvedite pervonachalnii vklad'); readln(s);

writeln('na skolko let?'); readln(n);

S1:=S;

for g:=1 to n do S1:=S1+S1*p/100; writeln('vi vnesli ',s:5:2, ' rub'); writeln('proshlo ',n,' let');

writeln('vash vklad sostavil ',s1:5:2,' rub'); readln;

end.

Тестирование.

Задача 2. «Библиотечный фонд». Библиотечный фонд в 1985 г. составил 25 000 экземпляров. Ежегодно фонд пополняется на 7%. Составьте программу, которая выведет на экран состояние библиотечного фонда через 10 лет (за 10 лет).

Исходные данные: f — начальное значение фонда; n — количество лет;

60

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]