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

двумя способами: свободным вводом или выбором из предоставленных возможностей (меню).

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

writeln('Введите Ваши фамилию и имя'); gotoxy(25,14);

readln(fio);

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

Защита. При свободном вводе пользователь, вообще говоря, может вводить что угодно и совсем не обязательно информацию в ожидаемом программой формате, в языке Pascal недопустимы несоответствия типов данных. Например, если не отключен контроль ввода/вывода, то попытка ввести букву «О», когда ожидается цифра «0», приведет к аварийной остановке программы. Ещё сложнее бывает разобраться с форматами дат, вещественных чисел (часто вместо десятичной точки пользователи ставят привычную русскому человеку запятую) и т.п. Таким образом, для надежности работы программы необходимо предусмотреть проверки любой введенной пользователем информации. Такой контроль получил в среде программистов не слишком вежливое название «защита от дурака». При правильной организации этой защиты ваша программа «не сломается» ни при каких действиях пользователя.

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

31

Меню предоставляет пользователю возможность выбора из нескольких предложенных программой вариантов. Самое простое меню в программе на языке Pascal – это пронумерованный список возможных действий с запросом у пользователя номера выбранного варианта. При обработке этого номера также необходим контроль правильности ввода.

Как программировать защиту и меню мы узнаем в следующих темах.

4 кадр. Вывод информации (результата). На этом кадре также выводится окончание диалога.

Рассмотрите программный код и найдите все кадры. program biblioteka;

uses crt;

var chit,m,s:word;fio:string[20]; begin;

textbackground(3);

clrscr;

textcolor(12);

gotoxy(28,10);

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

textcolor(12);

gotoxy(28,14);

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

textcolor(12);

gotoxy(28,11);

writeln('*');

textcolor(12);

gotoxy(28,12);

writeln('*');

textcolor(12);

gotoxy(28,13);

writeln('*');

textcolor(9);

textcolor(12);

gotoxy(44,11);

writeln('*');

textcolor(12);

gotoxy(44,12);

writeln('*');

32

textcolor(12);

gotoxy(44,13);

writeln('*');

textcolor(9);

gotoxy(30,12); writeln('Библиотека №5'); textcolor(Red+Blink); gotoxy(25,17);

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

readkey;

clrscr;

textbackground(3);

clrscr;

textcolor(7);

gotoxy(25,3);

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

textcolor(7);

gotoxy(25,21);

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

textcolor(12);

gotoxy(25,12); writeln('Введите ФИО'); gotoxy(25,14); readln(fio); textcolor(12); gotoxy(25,17);

writeln('Сегодня работает библиотекарь ',fio); textcolor(Red+Blink);

gotoxy(25,18);

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

clrscr;

textbackground(3);

clrscr;

textcolor(7);

gotoxy(25,3);

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

textcolor(7);

33

gotoxy(25,21);

writeln('**********************************'); textcolor (12);

gotoxy (25,12);

writeln(fio,' введите количество книг'); gotoxy (35,14);

readln (a); textcolor(12); gotoxy(25,15);

writeln(fio,' введите цену каждой книги'); gotoxy(35,17);

readln(r);

textcolor(Red+Blink);

gotoxy(25,18);

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

clrscr;

textcolor(7);

gotoxy(25,3);

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

textcolor(7);

gotoxy(25,21);

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

p:=a*r;

textcolor(12);

gotoxy(25,12);

writeln('общая стоимость покупки составляет ',p:2:2, 'рублей); gotoxy(35,13);

writeln(S:5);

gotoxy(35,9);

textcolor(12);

gotoxy(25,15);

writeln('сегодня Вас обслуживал библиотекарь ', fio, ', который желает Вам всего доброго!');

readln;

end.

34

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

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

1.Наберите программу Р1, проанализируйте выполнение операторов, доступных в текстовом режиме.

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

3.Дополните вашу программу диалоговым интерфейсом.

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

1.Что такое интерфейс?

2.Чем отличается понятие интерфейса в широком и узком смыслах?

3.Что такое пользовательский интерфейс? Для чего он нужен?

4.Каковы критерии оценки интерфейса?

5.Для чего предназначен модуль CRT в языке Pascal?

6.Как работает оператор GOTOXY(x,y)?

7.Как классифицируются системы, поддерживающие диалоговые процессы?

8.Что такое сценарий, кадр?

9.Как организовать сценарий со свободным вводом данных?

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

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

35

Тема 6. Создание программных продуктов с использованием алгоритмической структуры «ветвление»

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

Одной из основных алгоритмических структур является ветвление (альтернатива).

Разветвляющийся алгоритм – это алгоритм, в котором действия выполняются по одной из возможных ветвей решения задачи в зависимости от выполнения условий.

Ветвление – это тип алгоритма, в процессе исполнения которого данные влияют на ход выполнения алгоритма; в алгоритме заложены различные пути следования, по ходу действия выбирается один из возможных вариантов.

Различают 3 вида ветвлений: полное, неполное, структура «выбор».

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

If В then А1 else А2;

В – условие (выражение булевского типа); А1, А2 – простой или составной оператор.

36

Составной оператор представляет собой конструкцию, построенную из других операторов, ограниченную операторными скобками Begin и End;

Если условие, то оператор 1, иначе оператор 2.

Сначала вычисляется значение выражения булевского типа, записанного в условии. Если это значение true, то выполняется оператор 1, а если будет получено false, то выполняется оператор 2.

If В then А;

В– условие (выражение булевского типа); А – простой или составной оператор. Если условие, то оператор.

Вэтом случае, если условие верно true, то выполняется оператор, а если false, то выполняется оператор, следующий за условным оператором. Операторы if могут быть вложенными.

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

Рассмотрите теоретический материал презентации «Разветвляющиеся алгоритмы», используя «Курс по программированию».

Задача. Прием на работу предполагает возраст не более 50 лет и стаж не менее 20 лет. Определите, будет ли претендент принят на работу.

Исходные данные: v – возраст, st – стаж.

При построении математической модели необходимо вспомнить о защите при вводе исходных данных (Тема 5). В данном случае необходимо провести аналитическую работу и добавить недостающие сведения:

с какого возраста начинается прием на работу?

какой максимальный размер стажа может быть?

Если принять, что прием на работу идет с 18 лет, тогда переменная v<=50 и v>=38; а переменная st<=32 и st>=20.

Результат: два сообщения «Вы приняты на работу», «Вы не приняты на работу».

37

Блок-схема:

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

var v, st: byte; begin

writeln('skolko vam let?'); readln(v);

if ( v<=50 ) and ( v>=38) then begin writeln('vvedite staz'); readln(st);

if ( st<=32 ) and ( st>=20) then writeln('prinyat') else writeln('ne prinyat');

end

else writeln('ne prinyat');

readln;

end.

38

 

 

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

v

st

Результат

20

-

Вы не приняты на работу

45

27

Вы приняты на работу

45

35

Вы не приняты на работу

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

1.Как программируется на языке Pascal полное и неполное ветвление?

2.Что такое составной оператор? В каких случаях составной оператор используется в операторе ветвления?

3.Как формируются логические выражения?

4.Выполните на компьютере все программы, приведенные в данной теме.

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

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

1.В библиотеке требуется пополнение фонда новой литературы по библиотековедению. Количество изданий, которые поступят в библиотеку: 25-30 – изд. недостаточно, 35-40 – частично, 65-80 – пополнится, менее 25 – фонд не пополнится, как это требуется.

2.В библиотеке требуется отбирать из массива поступившей литературы издания для картотек: «Новая литература по литературоведению и художественной литературе» и «Культура и культурология». Требуется произвести отбор из списка книг по следующим параметрам: новая литература и тема картотеки.

3.Директор производит подсчёт стимулирующих баллов работников библиотеки за последние 3 месяца. Если работник получает 50-55 баллов, ему выдаётся премия в размере 3000 рублей; Если 44-49, то 2000 рублей; если 38-43, то 1000 рублей; если менее 38 баллов, то работник не получает ничего.

4.Посещаемость библиотеки за месяц. Если будет составлять 500-550 – высокая посещаемость, если 350-400 – средняя, если 250-

39

300 – низкая, если 150-200 – падение посещаемости. Определить категорию посещаемости библиотеки.

5.В библиотеке проходит комплектация фонда отдела редкой книги. Необходимо собрать литературу не моложе XVIII века, а литературу старше XIV века отдать на реставрацию. Литература, отданная на реставрацию, будет передана в фонд редкой книги в том случае, если её выявленная стоимость не превысит 10000 рублей, в противном случае она будет передана в государственный музей.

6.Запись в молодёжную библиотеку ведется на основе того, сколько лет посетителю. Условия требуют возраст не младше 14 лет и не старше 30 лет. Если пол мужской, то для записи отправляют на

1этаж, если женский, то на 2 этаж.

7.Запись в библиотеку ведется в возрасте от 14 до 18 лет, в зависимости от интересов читателя, ставится выбор между абонементом и читальным залом. Если читатель любит научную литературу, то он записывается на абонемент, если художественную – в читальный зал.

40

Соседние файлы в папке из электронной библиотеки