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

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

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

Если при решении задачи нужно выбирать одно действие из нескольких возможных, то используют множественный выбор.

Case < выражение-селектор> of <Список 1>: A1;

<Список n>: An; [ Else An+1 ] end;

A1, … , An+1 – простые или составные операторы.

Списки состоят из констант выбора (константа может быть одна).

Оператор Case работает так: сначала вычисляется значение выражения-селектора, затем оно сравнивается с каждым списком и при совпадении значений выполняется соответствующий оператор, если совпадения не произошло, то выполняется оператор, стоящий за словом Else. Выражение-селектор должно относиться либо к целочисленному, либо к булевскому, либо к символьному типам.

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

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

2.Задача: разработать алгоритм, который по запросу о количестве лет пользователя в числовом виде выводит на экран это количество, согласуя в соответствии с нормами русского языка.

Исходные данные: к – количество лет – тип byte

Результат: сообщение «Ваш возраст составляет g лет (года,

год)»

Пром. данные: f

Для построения математической модели необходимо провести аналитическую работу по определению зависимости окончания слов от количества.

41

Блок-схема:

42

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

43

Ваш возраст составляет 38 лет

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

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

6.Введите Ваш возраст? 3

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

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

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

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

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

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

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

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

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

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

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

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

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

44

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

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

program biblioteka; uses crt;

var k:word; begin

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. Курская ЦРБ');

45

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);

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);

46

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);

gotoxy(18,17);

end;

end;

readln;

end.

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

47

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

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

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

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

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

48

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

49

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

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

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

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

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

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

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

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

50

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