Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции программирование.doc
Скачиваний:
11
Добавлен:
01.03.2025
Размер:
1.01 Mб
Скачать

Лаб. 6. Задачи на выбор варианта:

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

  1. Колдун должен сделать очередной ход. По нажатию на любую клавишу генерируется случайное число от 1 до 10, и программа печатает, какое заклинание произнёс колдун. Например, 1- удар молнии; 2 – огненный шар …

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

  3. Покупатель вводит имеющуюся у него сумму и количество порций мороженого, а программа называет, какое мороженное можно приобрести на такую сумму (цены выражаются целым числом). Если по указанной цене мороженого нет, программа сообщает об этом.

  4. Разведчик получает закодированное числами сообщение. Каждое число обозначает какое-либо слово. Нужна программа-декодер, которая получает число и выдаёт слово.

  5. Микки-Маус подходит к стене с отверстиями. Над каждым отверстием стоит номер. Некоторые ходы ведут в ловушку, некоторые – к запасам зерна, сыра, муки и т. д. Нужна программа, которая по введённому номеру сообщает, куда попадёт Микки-Маус.

  6. Предлагается список авиарейсов. По введённому номеру рейса программа сообщает пункт назначения и цену билета.

  7. Составить программу «Рабочее место заведующего хлебопекарней», которая выдаёт ассортимент производимой продукции, и при выборе нужного номера сообщает, сколько и какой муки, дрожжей, соли, воды и т.д. нужно для выпечки одной буханки данного вида хлеба.

  8. Программа выводит пронумерованный список различных носителей информации: дискета, жёсткий диск, компакт-диск и т.д. Если ввести номер какого-либо из них, программа сообщает подробности: ёмкость, размеры, разновидности и т.д.

  9. На экран выдаётся список наиболее распространённых программ. При выборе номера какой-либо из них программа сообщает дополнительную информацию: назначение, фирма-производитель, есть ли русифицированная версия, требуемый объём дисковой памяти и т.д. …

  10. На экране перечисляются названия домашних цветов. При выборе одного из них программа указывает страну, откуда происходит цветок и некоторые подробности по уходу за ним (любит ли свет, часто ли поливать, какая должна быть почва…).

  11. Программа должна напоминать хозяину, какой праздник (в том числе – семейные) приходится на интересующую его дату. Для этого с клавиатуры вводятся отдельно дата и месяц, объединяются в целое число и выводится описание праздника. Например, вводятся числа 23 и 02, из них составляется число 2302, по которому программа выводит «День защитника Отечества».

  12. В горисполкоме имеется очередь льготников на квартиры. При вводе номера очередника программа сообщает его фамилию, имя, отчество, причину постановки в очередь (льготу) и количество комнат (по числу членов семьи), на которые претендует очередник.

  13. Каждое поколение компьютеров характеризовалось электронной базой, размерами, объёмом памяти, быстродействием и другими характеристиками процессоров… Программа запрашивает, какое поколение компьютеров нас интересует, и при вводе номера выдаёт отличительные особенности компьютеров данного поколения: электронную базу, размеры, объём памяти, быстродействие и другие характеристики.

  14. В поликлинике при вводе номера кабинета программа сообщает, какой специалист принимает в этом кабинете (специальность и фамилию). Если работают два врача, сообщить, кто до обеда, а кто после.

  15. Перечислить названия животных, имеющихся в зоопарке. При вводе номера животного программа сообщает кличку животного, чем его кормят служащие зоопарка, и что ему могут давать посетители.

  16. Программа вводит номер компакт-диска из домашней коллекции и выводит описание: что есть на этом диске. Если игра, указывает её жанр.

  17. Выдаётся список различных Intel-совместимых процессоров. При вводе номера одного из них программа сообщает основные характеристики данного процессора.

  18. Программа работает как телефонная книга наоборот: при вводе 6-значного номера телефона (простым числом без чёрточек и пробелов) она выдаёт фамилию и адрес абонента.

  19. Программа предназначена для процедурного кабинета. На экране печатается список лекарств для инъекций. При выборе нужного номера программа выдаёт информацию, сколько миллилитров («кубиков») растворителя нужно использовать, и какой взять: воду, физраствор, раствор новокаина или раствор глюкозы.

  20. Программа для библиотеки просит ввести номер книги по каталогу и выдаёт сведения об этой книге: автора, название и год издания.

Циклы

Для многократного повторения участка программы используется цикл. В зависимости от способа, которым задаётся количество повторений, различают три вида циклов:

Цикл с предусловием (с условием перед телом цикла). В этом цикле перед началом «тела цикла» (повторяющегося участка программы) проверяется условие, которое определяет, нужно ли продолжать повторение. Если условие выполняется, тело цикла повторяется. Если условие перестало выполняться, цикл заканчивается. На Паскале этот цикл записывается так:

while a<b do

begin

команда;

команда;

........

end;

Если в теле цикла только одна команда, то begin и end не обязательны.

Пример использования цикла while: Известна сумма S1, положенная в банк и годовая процентная ставка P. Через сколько лет накопится сумма S2 ?

program bank;

var

s1,s2,p:real;

g:integer;

begin

write(’Введите начальную сумму ’); readln(s1);

write(’Введите конечную сумму ’); readln(s2);

write(’Введите процентную ставку ’); readln(p);

g:=0;

while s1<s2 do

begin

s1:=s1 + s1 * p / 100;

g:=g + 1;

end;

writeln(’До накопления суммы пройдёт ’,g,’ лет’);

end.

Цикл с постусловием (с условием после тела цикла). В этом цикле после тела цикла проверяется условие, которое определяет, нужно ли закончить цикл. Если условие выполняется, цикл заканчивается. Если условие ещё не выполнилось, цикл повторяется.

Н а Паскале этот цикл записывается так:

repeat

команда;

команда;

........

until a >= b;

П

program summa;

var

s,r: real;

begin

write(’Введите число R (> 1) ’); readln(r);

s:=0;

repeat

s:=s+r ;

r:=r/1.5 ;

until r<0.001;

writeln (’Сумма чисел равна ’,s:7:4);

end.

ример использования такого цикла: Найти сумму чисел, первое из которых R (R>1) задано с клавиатуры, а каждое следующее в 1.5 раза меньше. Последнее из этих чисел (которое не входит в сумму) – меньше 0.001.

Ц икл с параметром (счётчиком). В этом цикле используется целая переменная – счётчик (или параметр цикла), которая автоматически при каждом повторении изменяется на 1 от начального значения до конечного. Если начальное значение меньше конечно­го, то на Паскале он записы­вается так:

for i:=1 to 20 do

begin

команда;

команда;

........

end;

Е

for i:=20 downto 1 do

begin

команда;

команда;

........

end;

сли начальное значение больше конечного, то записанный выше цикл не выполнится ни разу. Чтобы он повторял тело цикла, меняя счётчик в сторону уменьшения, заголовок цикла нужно изменить так:

Пример использования цикла for: Найти сумму первых 30 натуральных чисел. Слово «первых» обозначает, что начинаем с 1. Сумма в цикле увеличивается, но чтобы было к чему прибавить самое первое число, до начала цикла сумму обнуляем (присваиваем ей начальное значение 0).

program summa;

var

s,i: integer;

begin

s := 0;

for i:=1 to 30 do

s:= s + i ;

writeln (’Сумма 30-ти чисел равна ’,s);

readln;

end.