Лабораторная работа №3

Программирование алгоритмов
циклической структуры

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

Задания для подготовки к работе

1. Изучите возможности языка Паскаль для организации циклов с заданным числом шагов и итерационных циклов.

2. Разработайте алгоритм для решения задачи соответствующего варианта в соответствии с первым принципом структурного программирования и опишите его блок-схемой в укрупненных блоках с последующей детализацией.

3. Закодируйте алгоритм.

4. Подберите наборы тестовых данных

Задания к работе

1. Наберите программу, отладьте ее, протестируйте.

2. Выполните анализ ошибок, выявленных при отладке программы.

Содержание отчет а

1. Формулировка задачи.

2. Ответы на пункты 2 – 4 заданий для подготовки к работе.

3. Описание ошибок, выявленных при отладке программы с указанием вида ошибки, и почему она была сделана.

Варианты заданий

1. Дано целое неотрицательное число n. Определить, входит ли в запись числа n данная цифра ровно 2 раза.

2. Дано целое неотрицательное число n. Установить, является ли данное число n палиндромом.

3. С клавиатуры вводятся вещественные числа. Признак конца
ввода – 0. Определить, является ли вводимая последовательность геометрической прогрессией.

4. Дано целое неотрицательное число n. Определить количество нулей, которыми заканчивается запись числа n. Вывести n в виде a *10Ù k, где a - целое, не содержащее нуля в конце записи числа; k – количество нулей в конце записи числа n. Например, 130000=13*10Ù4.

5. С клавиатуры вводятся целые числа. Признак конца ввода – число 0. Определить число, следующее за последним из отрицательных чисел.

6. Дано целое неотрицательное число n. Найти максимальную цифру в записи этого числа.

7. Дано целое неотрицательное число n. Найти сумму цифр числа n.

8. С клавиатуры вводятся символы. Признаком конца ввода служит точка. Определить сумму введенных цифр.

9. Дано целое неотрицательное число n. Найти произведение отличных от нуля цифр данного числа.

10. Определить, можно ли данное натуральное число представить в виде суммы квадратов двух натуральных чисел. Например, 5=12+22.

11. Определить, в какой степени входит число 3 в разложение на простые множители натурального числа n.

12. С клавиатуры вводятся целые числа. Признак конца ввода – 0. Определить число, следующее за первым из введенных максимальных значений.

13. Вывести целое неотрицательное число n в семеричной системе счисления.

14. Установить, четным или нечетным является число цифр в записи данного натурального числа. Если число цифр нечетно, вывести среднюю цифру.

15. С клавиатуры вводятся целые числа. Признак конца ввода – 0. Определить количество минимальных значений.

16. Найти все простые делители данного натурального числа.

17. С клавиатуры вводятся целые числа. Признак конца ввода – 0. Определить число, следующее за последним из введенных минимальных значений.

18. Определить, является ли данное натуральное число простым числом.

19. Установить, является ли данное натуральное число n равным сумме всех его делителей, меньших n.

20. С клавиатуры вводятся символы. Признак конца ввода – конец файла. Определить максимальную длину подпоследовательности одинаковых следующих друг за другом символов.

21. С клавиатуры вводятся целые числа. Признак конца ввода – 0. Определить число, предшествующее последнему из введенных минимальных значений.

22. С клавиатуры вводятся целые числа. Признак конца ввода – 0. Определить число, предшествующее первому из введенных минимальных значений.

23. С клавиатуры вводятся символы. Признак конца ввода – конец файла. Определить символ, следующий за последним вхождением цифры.

24. С клавиатуры вводятся целые числа. Признак конца ввода – 0. Определить количество введенных нечетных чисел.

25. С клавиатуры вводятся целые числа. Признак конца ввода – 0. Определить, является ли вводимая последовательность упорядоченной по невозрастанию или неубыванию.

26. С клавиатуры вводятся целые числа. Признак конца ввода – 0. Определить, является ли вводимая последовательность арифметической прогрессией.

27. С клавиатуры вводятся целые числа. Признак конца ввода – 0. Определить количество максимальных значений.

28. С клавиатуры вводятся символы. Признак конца ввода – конец файла. Определить символ, предшествующий первому вхождению прописной буквы.

29. С клавиатуры вводятся символы. Признак конца ввода – конец файла. Определить, сколько было введено пар следующих друг за другом символов, которые и в таблице A SCII расположены в таком же порядке.

30. Вывести в возрастающем порядке все целые числа из диапазона 1..10000, представимые в виде суммы квадратов двух целых чисел.

Контрольные вопросы

1. Виды операторов циклов в Паскале.

2. Какие циклы в Паскале являются циклами с предусловием?

3. Перечислите отличия циклов while и repeat.

4. Какой тип может иметь параметр цикла for, а также начальное и конечное выражения в заголовке цикла?

5. Какие действия с параметром цикла for недопустимы в теле цикла?

6. Какое значение имеет параметр цикла for после окончания работы цикла?

7. Можно ли изменять в теле цикла переменные, которые есть в начальном или конечном выражении в заголовке цикла?

8. Какой из циклов является наиболее универсальным?

9. Напишите фрагмент программы, используя цикл с постусловием, эквивалентный циклу
for i:=1 to 10 do

write(i+1);

10. Как ввести с клавиатуры признак конца файла?


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



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