Контрольные задания по составлению алгоритмов




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

Пример 1.

Ввести три различных вещественных числа a, b, c и определить среди них максимальное и минимальное значения.

Решение. При составлении алгоритма решения задачи целесообразно воспользоваться стандартной конструкцией ветвления «выбор-иначе».

Всего имеется 7 альтернативных вариантов расчета, из которых первые 6 связаны соответственно с выполнением условий a>b>c, a>c>b, b>a>c, b>c>a, c>a>b, c>b>a, а последний 7-й вариант отражает случай ввода некорректных данных, когда среди величин a, b, c по крайней мере для двух были введены одинаковые значения.

Блок-схема алгоритма решения задачи представлена на рис.9. Соответствующий текст псевдокода с комментариями имеет вид:

 

1. алг Макс и мин трех чисел (арг вещ a, b, c; рез вещ maxz, minz) 2. дано | a,b,c – все значения различны 3. надо | maxz= максимум из a,b,c; minz= минимум из a,b,c 4. нач 5. ввод a,b,c; | ввод исходных данных 6. выбор 7. при a>b и b>c: maxz:=a; minz:=c | случай a>b>c 8. при a>c и c>b: maxz:=a; minz:=b | случай a>c>b 9. при b>a и a>c: maxz:=b; minz:=c | случай b>a>c10. при b>c и c>a: maxz:=b; minz:=a | случай b>c>a11. при c>a и a>b: maxz:=c; minz:=b | случай c>a>b12. при c>b и b>a: maxz:=c; minz:=a | случай c>b>a13. иначе вывод "Ошибка ввода данных"; идти к 17 | ошибка:14.| имеются одинаковые введенные значения для a,b,c15. все 16. вывод "max=", maxz, "min=", minz | вывод результатов расчета17. кон

 

Пример 2.

Ввести значения элементов таблицы вещественных чисел X[i,j] из m строк и n столбцов (m>0, n>0) и подсчитать сумму S всех отрицательных элементов таблицы.

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

В начальный момент перед вводом значений элементов таблицы искомая сумма S полагается равной нулю. В дальнейшем после ввода каждого очередного элемента таблицы X[i,j] происходит проверка значения элемента на отрицательность и, при необходимости – добавление этого значения в сумму S.

Блок-схема алгоритма решения задачи представлена на рис.10. Соответствующий текст псевдокода с комментариями имеет вид:

 

1. алг Сумма отрицательных элементов (арг цел m,n; 2. вещ таб X[1:m,1:n]; рез вещ S) 3. дано | m,n > 0; X[i,j], i=1,2...m, j=1,2...n 4. надо | S = сумма всех X[i,j] таких, что X[i,j]<0.0 5. нач 6. цел i; | i - счетчик цикла по строкам, 7. цел j; | j - счетчик цикла по столбцам 8. ввод m,n; | ввод размеров таблицы 9.S:=0.0; | присваивание начального значения сумме S10. Нц 11. для i от 1 до m шаг 1 |заголовок цикла по строкам12. для j от 1 до n шаг 1 |заголовок цикла по столбцам13. ввод X[i,j]; | ввод очередного элемента таблицы14. если X[i,j]<0.0 то S:=S + X[i,j] все | добавление 15. | в сумму S отрицательного элемента X[i,j]16. Кц; 17. вывод "S = ", S | вывод результата расчетов18. кон

 

 

Список вариантов заданий:

1. Составить алгоритм, вводящий положительные целые числа K, L, M, N и, считая их массами гирь, выясняющий, можно ли все эти гири как-либо положить на обе чаши весов таким образом, чтобы весы оказались в равновесии.

2. Составить алгоритм, вводящий вещественные числа A, B, C, D и, рассматривая эти числа как координаты четырех точек на прямой, определяющий расстояние между двумя самыми близкими друг к другу точками.

3. Составить алгоритм, вводящий значения элементов таблицы вещественных чисел X[i,j] из m строк и n столбцов (m>0, n>0 вводятся в начале работы) и определяющий число Q всех отрицательных элементов этой таблицы.

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

5. Составить алгоритм, вводящий значения элементов K[i] последовательности n целых чисел (n>0 вводится в начале работы) и определяющий число maxpodp элементов в ее наиболее длинной невозрастающей подпоследовательности.

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

7. Составить алгоритм, вводящий значения элементов таблицы целых чисел K[i,j] из m строк и n столбцов (m>0, n>0 вводятся в начале работы) и определяющий номер imin той строки, в которой находится минимальный элемент таблицы.

8. Составить алгоритм, вводящий положительные целые числа K, L, M, N и, считая их массами гирь, выясняющий, можно ли как-либо уравновесить гирю с массой K, если гири с массами L, M, N можно класть каждую на любую из чаш весов.

9. Составить алгоритм, вводящий значения элементов таблицы целых чисел K[i,j] из m строк и n столбцов (m>0, n>0 вводятся в начале работы) и определяющий номер imax той строки, в которой находится максимальный элемент таблицы.

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

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

12. Составить алгоритм, вводящий значения элементов таблицы вещественных чисел X[i,j] из m строк и n столбцов (m>0, n>0 вводятся в начале работы) и определяющий число P всех положительных элементов этой таблицы.

13. Составить алгоритм, вводящий вещественные числа A, B, C, D и, рассматривая эти числа как координаты точек на прямой, определяющий расстояние между двумя наиболее удаленными друг от друга точками.

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

15. Составить алгоритм, вводящий значения элементов K[i] последовательности n целых чисел (n>0 вводится в начале работы) и печатающий все элементы последовательности в порядке их невозрастания.

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

17. Составить алгоритм, вводящий значения элементов таблицы целых чисел K[i,j] из m строк и n столбцов (m>0, n>0 вводятся в начале работы) и определяющий номер jmin того столбца, в котором находится минимальный элемент таблицы.

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

19. Составить алгоритм, вводящий значения элементов K[i] последовательности n целых чисел (n>0 вводится в начале работы) и печатающий все элементы последовательности в порядке их неубывания.

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

21. Составить алгоритм, вводящий значения элементов K[i] последовательности n целых чисел (n>0 вводится в начале работы) и определяющий такой ее элемент K[sredn], что количество элементов, меньших K[sredn], совпадает с количеством элементов больших K[sredn]. Eсли же такого элемента K[sredn] в последовательности K[i] не окажется – напечатать фразу «требуемый элемент последовательности отсутствует».

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

23. Составить алгоритм, вводящий значения элементов таблицы целых чисел K[i,j] из m строк и n столбцов (m>0, n>0 вводятся в начале работы) и определяющий номер jmax того столбца, в котором находится максимальный элемент таблицы.

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

25. Составить алгоритм, вводящий значения элементов K[i] последовательности n целых чисел (n>0 вводится в начале работы) и определяющий число lokmax локальных максимумов в последовательности (элемент является локальным максимумом, если он не имеет ближайших соседей, больших, чем он сам).

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

27. Составить алгоритм, вводящий значения элементов K[i] последовательности n целых чисел (n>0 вводится в начале работы) и определяющий число maxpodp элементов в ее наиболее длинной неубывающей подпоследовательности.

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

29. Составить алгоритм, вводящий значения элементов K[i] последовательности n целых чисел (n>0 вводится в начале работы) и определяющий число lokmin локальных минимумов в последовательности (элемент является локальным минимумом, если он не имеет ближайших соседей, меньших, чем он сам).

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

 

ОГЛАВЛЕНИЕ

Введение. 3

Понятие алгоритма. 4

Формы представления алгоритмов. 6

Базовые структуры алгоритмов. 12

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

Контрольные задания по составлению алгоритмов. 20



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-10-25 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: