Примеры решаемых задач

Пример 1. Составить программу, которая выведет на экран числа от 1 до 9 в случайном порядке.

Алгоритм: Будем использовать множество для хранения тех чисел, которые уже выведены на экран. Сначала это множество пустое. Затем девять раз должны повторяться следующие действия: выбор случайного числа (функция Random) осуществляется до тех пор, пока не будет выбрано число, которого нет в множестве; после чего это число выводится на экран и включается в множество.

Программа:

Program S1;

Uses Crt;

Type Numbers = 1..9; { тип-диапазон }

SetNumbers = Set Of Numbers; { тип–множество чисел (от 0 до 9) }

Var Sn: SetNumbers;

I, N: Numbers;

Begin

Clrscr;

Randomize; { инициализируем датчик случайных чисел }

Sn:= [ ]; { множество выбранных чисел – сначала пустое }

For I:= 1 To 9 Do { девять раз повторяем следующие действия: }

Begin

Repeat { повторяем формирование }

N:= random(9) + 1 { целого числа из интервала от 1 до 9}

Until not (N in Sn); {пока не получим число, которого нет в множестве Sn }

Writeln (N); { выводим полученное число на экран }

Include(Sn, N) { включаем это число в множество Sn }

End;

Readln

End.

Контрольные задания

8.1. Составить программу, которая вводит с клавиатуры N чисел и помещает четные из введенных в множество А, а нечетные – в множество В. Элементы полученных множеств распечатать.

8.2. Составить программу, которая вводит предложение и формирует три множества: множество гласных, множество согласных, множество разделителей. Элементы полученных множеств вывести на экран.

8.3. Составить программу, которая вводит с клавиатуры N целых чисел и формирует 5 множеств: одно-, дву-, трех-, четырех- и пятизначных чисел. Элементы полученных множеств вывести на экран.

8.4. Составить программу-тренажер по проверке знания таблицы умножения на заданное число N (оно должно вводиться с клавиатуры). Программа должна вразброс выводить 10 примеров вида «K * N =» (К изменяется от 1 до 10), причем так, чтобы примеры не повторялись. Пользователь вводит ответ, после чего программа должна выводить сообщение «Верно» или «Неверно».

8.5. «Решето Эратосфена». Алгоритм с таким названием позволяет выделить простые числа из интервала от 2 до N. Он состоит в следующем: создаем исходное множество чисел от 2 до N. Множество простых чисел на начальном этапе пусто. Берем первое число – это 2. Оно является простым числом, включаем это число в множество простых чисел. Удаляем из исходного множества чисел все числа, кратные 2 (т.е. 2, 4, 6 и т.д.). Вновь берем первое число из исходного множества чисел. Это 3 – простое число. Включаем его в множество простых чисел, а из исходного множества исключаем все числа, кратные 3. Снова берем первое число из исходного множества (это число 5 - простое). Включаем его в множество простых, а из исходного исключаем все числа, кратные числу 5. Эти действия повторяем до тех пор, пока исходное множество чисел не станет пустым.



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: