СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Методические указания по выполнению практических и лабораторных работ по оп.08. теория алгоритмов

Категория: Прочее

Нажмите, чтобы узнать подробности

МЕТОДИЧЕСКИЕ УКАЗАНИЯ

ПО выполнениЮ ПРАКТИЧЕСКИХ И ЛАБОРАТОРНЫХ РАБОТ

Просмотр содержимого документа
«Методические указания по выполнению практических и лабораторных работ по оп.08. теория алгоритмов»











МЕТОДИЧЕСКИЕ УКАЗАНИЯ

ПО выполнениЮ ПРАКТИЧЕСКИХ И ЛАБОРАТОРНЫХ РАБОТ



ОП.08. ТЕОРИЯ АЛГОРИТМОВ


по специальности 09.02.03 Программирование в компьютерных системах



















2017 г.



Содержание


Введение 5

Цели и задачи дисциплины – требования к результатам освоения дисциплины 6

Лабораторная работа № 1 «Разработка и построение блок-схем алгоритмов линейной структуры » 7

Лабораторная работа № 2 «Разработка и построение блок-схем алгоритмов разветляющейся структуры» 9

Лабораторная работа № 3 «Разработка и построение блок-схем алгоритмов с использованием одномерных массивов» 11

Лабораторная работа № 4 «Разработка и построение блок-схем алгоритмов с использованием одномерных массивов» 13

Лабораторная работа № 5 «Разработка и построение блок-схем алгоритмов с использованием двумерных массивов» 15

Лабораторная работа № 6 «Разработка и построение блок-схем алгоритмов с использованием двумерных массивов» 17

Лабораторная работа № 7 «Разработка и построение блок-схем алгоритмов с монолитным изменением параметров» 19

Практическая работа № 1 «Алгоритмы вычислительной геометрии» 21

Практическая работа № 2 «Анализ алгоритма решения задачи» 23

Практическая работа № 3 «Анализ рексурсивного алгоритма» 25

Заключение 27





























Введение



Данные методические рекомендации предназначены для студентов по выполнению практических и лабораторных работ по ОП.08. Теория алгоритмов

Целью лабораторно-практического практикума является формирование практических при составлении блок-схем алгоритмов для решения различного рода задач.

Практикум явился результатом практических и лабораторных занятий, проводимых по специальности 09.02.03 Программирование в компьютерных системах по ОП.08. Теория алгоритмов в течение последних нескольких лет.

Данные методические указания составлены в помощь преподавателям и обучающимся. Методическая разработка содержит указания по выполнению практических и лабораторных работ по дисциплине.






Цели и задачи дисциплины – требования к результатам освоения
дисциплины


В результате освоения дисциплины обучающийся должен

уметь:

В результате освоения дисциплины обучающийся должен уметь:

  • разрабатывать алгоритмы для конкретных задач;

  • определять сложность работы алгоритмов;

В результате освоения дисциплины обучающийся должен знать:

  • основные модели алгоритмов;

  • методы построения алгоритмов;

  • методы вычисления сложности работы алгоритмов.


Профессиональные компетенции

ПК1.1

Выполнять разработку спецификаций отдельных компонент

ПК1.2

Осуществлять разработку кода программного продукта на основе готовых спецификаций на уровне модуля


Общие компетенции


ОК1

Понимать сущность и социальную значимость своей будущей профессии, проявлять к ней устойчивый интерес.

ОК2

Организовывать собственную деятельность, выбирать типовые методы и способы выполнения профессиональных задач, оценивать их эффективность и качество.

ОК3

Принимать решения в стандартных и нестандартных ситуациях и нести за них ответственность.

ОК4

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

ОК5

Использовать информационно-коммуникационные технологии в профессиональной деятельности.

ОК6

Работать в коллективе и в команде, эффективно общаться с коллегами, руководством, потребителями.

ОК7

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

ОК8

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

ОК9

Ориентироваться в условиях частой смены технологий в профессиональной деятельности.

Лабораторная работа № 1
«Разработка и построение блок-схем алгоритмов линейной структуры »


Цель работы: приобретение навыков работы с одномерными массивами.

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

1) Постановка задачи для конкретного варианта.

2) Разработка блок-схемы программы.

3) Анализ допущенных ошибок.

4) Распечатка программы с результатами.

Методические указания:

При выполнении этой работы следует помнить, что:

1) Исходные данные должны включать положительные, отрицательные числа и нули.

2) Программа должна работать с любым допустимым набором данных.





















Лабораторная работа № 2
«Разработка и построение блок-схем алгоритмов разветляющейся структуры»


Цель работы: приобретение навыков работы с одномерными массивами.

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

1) Постановка задачи для конкретного варианта.

2) Разработка блок-схемы программы.

3) Анализ допущенных ошибок.

4) Распечатка программы с результатами.

Методические указания:

При выполнении этой работы следует помнить, что:

1) Исходные данные должны включать положительные, отрицательные числа и нули.

2) Программа должна работать с любым допустимым набором данных.













  1. Определить, попадает ли точка а с координатами x и y внутрь круга с радиусом r. Центр круга совпадает с началом координат.

  1. Определить, принадлежит ли точка k с координатами x и y прямоугольнику ABCD. A(a,b), B(a,c), C(d, c), D(d, b).

  1. Даны два числа x и y. Выяснить, верно ли, что 0xyxy. Если верно, то на печать должна быть выведена 1, в противном случае – 0.

  1. Даны числа x, y, z. Найти min

(x2+y2, y2+z2, x2).



Лабораторная работа № 3
«Разработка и построение блок-схем алгоритмов с использованием одномерных массивов»


Цель работы: приобретение навыков работы с одномерными массивами.

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

1) Постановка задачи для конкретного варианта.

2) Разработка блок-схемы программы.

3) Анализ допущенных ошибок.

4) Распечатка программы с результатами.

Методические указания:

При выполнении этой работы следует помнить, что:

1) Исходные данные должны включать положительные, отрицательные числа и нули.

2) Программа должна работать с любым допустимым набором данных.



  1. В массиве из 20 целых чисел найти наибольший элемент и поменять его местами с первым элементом.

  2. Дан целый массив X[15]. Получить количество и сумму компонент, принадлежащих отрезку [1;5], а элементы массива, меньшие 20, заменить на 0.

  3. В вещественном векторе a[20], отрицательные компоненты увеличить на 0.5, а положительные заменить на 0.1. Подсчитать сумму компонент, принадлежащих отрезку [-1;2].

  4. Все компоненты вещественного вектора Y(Y0, Y1, . . . , Yn), предшествующие первой отрицательной компоненте (или весь вектор, если в нем таких компонент нет) уменьшить на f.

  5. Дан вещественный вектор X(X0, X1, . . . , Xn). Выяснить, какой элемент (минимальный или максимальный) встретится в векторе раньше.

  6. Дан вещественный вектор X(X0, X1, . . . , X29). Подсчитать число и сумму компонент, принадлежащих отрезку [D,G], а все XiR заменить на нули .

  7. Дан массив X(X0, X1, . . . X19). Получить сумму первых 10 элементов и из нее вычесть произведение оставшихся членов.

  8. Дан вещественный вектор X(X0, X1,. . . . , Xn). Найти минимальный элемент этого вектора. Все компоненты вектора, не большие модуля этого минимального элемента уменьшить в 20 раз.

  9. Даны действительные числа A1 . . . . , An. Если в результате замены отрицательных членов последовательности их квадратами, члены будут образовывать неубывающую последовательность, то получить сумму членов исходной последовательности, в противном случае – произведение.

  10. Даны целое m и вещественные массивы X[M], Y[M], Z[M]. Получить k – число компонент вектора X, принадлежащих отрезку [0;0.5], l – число компонент вектора Y, принадлежащих отрезку [-2;2], p – число компонент вектора Z, принадлежащих отрезку [1;5].

  11. Даны две последовательности A(10), B(10). Найти произведение элементов, принадлежащих отрезку от K до H.

  12. Подсчитать для массива X(X1, X2, . . . , X100) количество элементов, ближайшим целым числом для которого является 1.

  13. Дана последовательность A(n). Среди членов, для которых выполняется неравенство IA(I)I+1. Найти max, найти произведение этих членов.

  14. Векторы M(10) и B(10) целочисленные. Построить по ним вектор G, в котором элементами были бы суммы соответствующих M и B. Найти max всех трех векторов.

  15. В массиве из 10 вещественных чисел найти наименьший элемент и поменять его местом с последним элементом.

  16. Даны два вектора. Определить: у какого вектора наибольшее количество положительных элементов; у какого из них максимальный элемент встречается раньше


Лабораторная работа № 4
«Разработка и построение блок-схем алгоритмов с использованием одномерных массивов»


Цель работы: приобретение навыков работы с одномерными массивами.

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

1) Постановка задачи для конкретного варианта.

2) Разработка блок-схемы программы.

3) Анализ допущенных ошибок.

4) Распечатка программы с результатами.

Методические указания:

При выполнении этой работы следует помнить, что:

1) Исходные данные должны включать положительные, отрицательные числа и нули.

2) Программа должна работать с любым допустимым набором данных.


  1. Даны натуральное число n, действительные числа A1, . . . , An. Выяснить, является ли последовательность упорядоченной по убыванию; если да, то получить сумму членов последовательности с четными номерами.

  2. Если в данной последовательности действительных чисел A1, . . . , An есть хотя бы один член, меньший, чем число K, то все отрицательные члены заменить их квадратами, оставив остальные без изменения; в противном случае домножить все члены на число L.

  3. Даны целые A1, . . . ., An. Из членов данной последовательности выбрать наибольший. Получить новую последовательность из N целых чисел (0 и 1), заменяя ai нулем, если ai не совпадает с выбранным значением и заменяя ai единицей, если совпадает.

  4. У вещественного вектора X[20] подсчитать количество отрицательных компонент и количество компонент, принадлежащих отрезку [0;5.2].

  5. Дан вещественный вектор X[10]. Составить программу, которая обеспечит выбор и печать минимального и максимального значения элемента данного массива по убыванию.

  6. Дан целый вектор Z(15). Найти количество и сумму тех членов вектора, которые делятся на 5 и не делятся на 7.

  7. Если у вектора A(10) есть компонента со значением равным B, то все положительные компоненты заменить их квадратами.

  8. Найти максимальный элемент матрицы A(n*m), номер строки и столбца, на пересечении которых он находится.

  9. Дан вещественный вектор X(X0, X1, . . . , X30). Подсчитать количество нулевых, сумму и количество положительных и отрицательных элементов вектора.

  10. Дан вещественный вектор Y(Y0, Y1, . . Y25). Все отрицательные компоненты с четными номерами заменить их квадратами.

  11. Дан вещественный вектор. Все его элементы, большие 0, умножить на 10, остальные оставить без изменения и упорядочить полученный вектор по возрастанию.

  12. Дана последовательность A1, . . . , An. Какое число встретится раньше в последовательности: положительное или отрицательное. Если все члены последовательности равны 0, сообщить об этом.

  13. Дан вещественный вектор X(X0, X1, . . . , Xn). Найти минимальный элемент этого вектора. Все компоненты вектора, не большие модуля этого минимального элемента уменьшить в 20 раз.

  14. Элементы вектора X[15] упорядочить по возрастанию, присвоить переменной k номер элемента вектора, равного числу y, или нулю, если такого элемента нет.

  15. Найти три наибольших и два наименьших элементов массива Y(Y0,Y1, . . . ,Yn).

  16. Дан вещественный вектор X(X0, X1, . . . ,X29). Подсчитать число и сумму компонент, принадлежащих отрезку [d, g], а все xi

Лабораторная работа № 5
«Разработка и построение блок-схем алгоритмов с использованием двумерных массивов»

Цель работы: приобретение навыков работы с одномерными массивами.

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

1) Постановка задачи для конкретного варианта.

2) Разработка блок-схемы программы.

3) Анализ допущенных ошибок.

4) Распечатка программы с результатами.

Методические указания:

  1. При выполнении этой работы следует помнить, что:

  2. Исходные данные должны включать положительные, отрицательные числа и нули.

  3. Программа должна работать с любым допустимым набором данных.

  1. Дана вещественная матрица B(m*m). Вычислить произведение суммы всех элементов данной матрицы на их разность.

  1. Дана матрица В (6, 6). Найти сумму каждого столбца матрицы.

  1. Определить, является ли матрица C(n*n) единичной и вывести сообщение об этом.

  1. Найти произведение каждой четной строки матрицы B(n*m). Среди найденных произведений найти минимальное значение.

  1. Определить количество элементов каждого столбца матрицы A(n*n), принадлежащих отрезку
    ( 3, 7] и запомнить их в массиве Y.

  1. Дана вещественная матрица В(n*m). Упорядочить массив по возрастанию элементов каждого столбца.

  1. Найти среднее арифметическое элементов каждого столбца матрицы B(n*m) и запомнить их в массиве Y.

  1. Дана матрица A(n*m). Все отрицательные элементы данной матрицы возвести в квадрат, а положительные – в куб.

  1. Дана действительная квадратная матрица B(n*n). Найти сумму элементов каждого четного столбца матрицы.

  1. Найти максимальный элемент среди всех элементов тех строк заданной матрицы, которые упорядочены по возрастанию.

  1. Найти наибольшие элементы каждой строки матрицы A(n*m) и записать их в массив Y.

  1. Дана действительная квадратная матрица А(n*m). Преобразовать матрицу по правилу: поэлементно вычесть последнюю строку из всех строк, кроме последней.

  1. Написать программу, которая проверяет, находится ли введенное с клавиатуры число в матрице A(n*n).

  1. Дана действительная квадратная матрица порядка 4. Заменить нулями все ее элементы, расположенные на главной диагонали и выше ее.

  1. Дана действительная квадратная матрица C(n*m). Найти сумму элементов каждой нечетной строки матрицы.

  1. Дана вещественная матрица A(n*m). Получить:

k – число компонент матрицы A, принадлежащих отрезку [3; 5];

s – сумму компонент, не принадлежащих отрезку [7; 10].



















Лабораторная работа № 6
«Разработка и построение блок-схем алгоритмов с использованием двумерных массивов»

Цель работы: приобретение навыков работы с одномерными массивами.

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

1) Постановка задачи для конкретного варианта.

2) Разработка блок-схемы программы.

3) Анализ допущенных ошибок.

4) Распечатка программы с результатами.

Методические указания:

При выполнении этой работы следует помнить, что:

1) Исходные данные должны включать положительные, отрицательные числа и нули.

2) Программа должна работать с любым допустимым набором данных.

  1. Дана действительная матрица A(n*n). Найти номера строк, все элементы которых больше 10.

  1. Дана действительная квадратная матрица порядка n, все элементы которой различны. Найти наибольший и наименьший элементы матрицы и поменять их местами.

  1. Дана вещественная матрица A(n*m). Логической переменной log присвоить значение True, если число отрицательных элементов этой матрицы не меньше числа положительных ее элементов. В противном случае переменной log присвоить значение False.

  1. Дана матрица порядка 5. Удалить из нее все отрицательные элементы, заменяя их нулями.

  1. Написать программу, которая вычисляет, сколько раз введенное с клавиатуры число встречается в матрице B(n*m).

  1. Дана действительная матрица A(n*m). Найти среднее геометрическое каждой строки матрицы и запомнить их в массиве Y.

  1. Дана матрица X. Если максимальный элемент главной диагонали больше 20, то вычислить сумму элементов матрицы, расположенных выше главной диагонали. Иначе – сумму элементов матрицы, расположенных ниже главной диагонали.

  1. Дана действительная квадратная матрица A порядка n. Найти сумму элементов, расположенных на главной диагонали.

  1. По вещественной квадратной матрице A(5, 5) построить вектор B(5) по правилу:

  2. Вi присвоить значение 0, если в строке с номером i матрицы есть хотя бы один отрицательный элемент, и значение 1 в противном случае.

  1. Определить количество положительных элементов каждого столбца матрицы A(n*n) и запомнить их в массиве Y.

  1. По заданной квадратной матрице M(5*5) построить вектор, состоящий из положительных элементов матрицы.

  1. Дана целочисленная матрица С(n*m). Поменять местами первый и последний столбцы.

  1. Дана вещественная матрица M(4; 3). Подсчитать число отрицательных и сумму положительных элементов данной матрицы.

  1. Найти среднее арифметическое элементов каждой строки матрицы M(n*n) и запомнить их в массиве Y.

  1. В вещественной матрице B(n*m) найти количество элементов, принадлежащих отрезку [2; 7].

  1. Дана действительная матрица D(n*m). Найти номера столбцов, все элементы которых равны нулю.

















Лабораторная работа № 7
«Разработка и построение блок-схем алгоритмов с монолитным изменением параметров»


Цель работы: приобретение навыков работы с одномерными массивами.

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

1) Постановка задачи для конкретного варианта.

2) Разработка блок-схемы программы.

3) Анализ допущенных ошибок.

4) Распечатка программы с результатами.

Методические указания:

При выполнении этой работы следует помнить, что:

1) Исходные данные должны включать положительные, отрицательные числа и нули.

2) Программа должна работать с любым допустимым набором данных.

1 Даны две строки s1 и s2. Пусть w – первое из слов строки s1, которое есть и в строке s2. Найти слово, предшествующее первому вхождению w в s1.

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

3 Даны две строки. Пусть n1 – число слов в первой строке, а n2 – во второй(n1 n2). Добавить в конец первой строки, последние n2-n1 слов второй строки.

4 Удалить из данной строки слова, содержащие заданную последовательность символов.

5 Дан текст, заканчивающийся точкой. Соседние слова разделены запятыми. Определить количество слов-палиндромов, которые начинаются с буквы “а”.

6 Преобразовать строку, заменяя каждое слово “this” словом “the”.

7 Определить, упорядочены ли лексикографически слова данного предложения.

8 Вывести слова данного предложения, которые отличны от последнего слова.

9 Преобразовать строку таким образом, чтобы после каждого заданного символа sym1 был вставлен символ sym2, если sym2 не следует за sym1 в исходной строке.

10 Определить, входит ли в заданный текст каждая буква слова “key”.

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

12 Преобразовать строку, заменяя каждую цифру соответствующим ей числом пробелов.

13 Определить, есть ли в данной строке одинаковые слова.

14 Даны две строки. Определить последнее из слов первой строки, которое есть во второй строке.

15 Преобразовать строку, изменив порядок следования слов в строке на обратный.

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




Практическая работа № 1
«Алгоритмы вычислительной геометрии»


Цель работы: приобретение навыков работы в построении алгоритмов вычислительной геометрии.

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

1) Постановка задачи для конкретного варианта.

2) Разработка блок-схемы программы.

3) Анализ допущенных ошибок.

4) Распечатка программы с результатами.

Методические указания:

При выполнении этой работы следует помнить, что:

1) Исходные данные должны включать положительные, отрицательные числа и нули.

2) Программа должна работать с любым допустимым набором данных.



  1. Построить триангуляцию с N вершинами эллиптической области, заданной неравенством {(x,y): Ax2 +2Bxy+cy2

  2. Определить минимальное значение минимальных углов треугольников такой триангуляции.(ОК-1)- I.УВ, (ОПК-4)- I. УВ, (ПК-1)-I. УВ.

  3. Пусть на плоскости задан многоугольник и точка внутри него. Найти сторону многоугольника наименее удаленную от этой точки.(ОК-1)-I.УВ, (ОПК-4)- I. УВ, (ПК-1)-I. УВ.

  4. Определить площадь минимального многоугольника, содержащего заданные N точек на плоскости.(ОК-1)-I.УВ, (ОПК-4)- I. УВ, (ПК-1)-I. УВ

  5. Задано N прямоугольников на плоскости со сторонами параллельными координатным осям. Найти площадь объединения этих прямоугольников.(ОК-1)-I.УВ, (ОПК-4)- I. УВ, (ПК-1)-I. УВ.

  6. Дано N прямоугольников на плоскости. Требуется определить, на сколько частей эти прямоугольники разбивают плоскость.(ОК-1)-I.УВ, (ОПК-4)- I. УВ, (ПК-1)-I. УВ.

  7. Определить количество целочисленных точек плоскости лежащих на сторонах заданного многоугольника с целочисленными координатами вершин.(ОК-1)-I.УВ, (ОПК-4)- I. УВ, (ПК-1)-I. УВ.

  8. Найти центр тяжести многоугольника заданного целочисленными координатами своих N вершин.(ОК- 1)-I.УВ, (ОПК-4)- I. УВ, (ПК-1)-I. УВ.

  9. На плоскости задано N прямых. Требуется определить число полученных отрезков с вершинами в точках пересечения прямых, не содержащих других вершин кроме концов (учесть и отрезки бесконечной длины).(ОК-1)-I.УВ, (ОПК-4)- I. УВ, (ПК-1)-I. УВ.

  10. На плоскости задано N прямых. Требуется определить число полученных многоугольных кусков плоскостей с вершинами в точках пересечения прямых (учесть и неограниченные области).(ОК-1)- I.УВ, (ОПК-4)- I. УВ, (ПК-1)-I. УВ.

  11. На сфере задан сферический треугольник. Определить попадает ли внутрь него заданная точка.(ОК-1)- I.УВ, (ОПК-4)- I. УВ, (ПК-1)-I. УВ.


  1. В заданном наборе из N точек на плоскости найти тройку, образующую треугольник минимальной ненулевой площади.(ОК-1)-I.УВ, (ОПК-4)- I. УВ, (ПК-1)-I. УВ.

  2. Для заданного набора отрезков на плоскости определить количество различных пар параллельных отрезков.(ОК-1)-I.УВ, (ОПК-4)- I. УВ, (ПК-1)-I. УВ.

  3. Для заданного набора N точек на плоскости найти прямоугольник минимальной площади, содержащий все указанные точки. Стороны прямоугольника не обязаны быть параллельными координатным осям.(ОК-1)-I.УВ, (ОПК-4)- I. УВ, (ПК-1)-I. УВ.


  1. Задано N кругов на плоскости. Определить является ли данная система кругов попарно не пересекающейся.(ОК-1)-I.УВ, (ОПК-4)- I. УВ, (ПК-1)-I. УВ.

Практическая работа № 2
«Анализ алгоритма решения задачи»


Цель работы: приобретение навыков работы в построении сложных алгоритмов.

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

1) Постановка задачи для конкретного варианта.

2) Разработка блок-схемы программы.

3) Анализ допущенных ошибок.

4) Распечатка программы с результатами.

Методические указания:

При выполнении этой работы следует помнить, что:

1) Исходные данные должны включать положительные, отрицательные числа и нули.

2) Программа должна работать с любым допустимым набором данных.



1 Составить алгоритм вычисления суммы кубов трех чисел.

2 Составить алгоритм вычисления среднего арифметического четырех чисел.

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

4 Проверить, превышает ли 1000 произведение двух натуральных двузначных чисел, вводимых с клавиатуры.

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

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

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

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

9 Составить алгоритм. Превышает ли площадь прямоугольника со сторонами a, b площадь круга радиуса r=(a+b)/4. Данные вводятся с клавиатуры.

10 Найти сумму десяти произвольных чисел. Результат обозначить через S.

11 Вычислить z=åI, где I меняется от m до nm и n вводятся с клавиатуры.

12 Вычислить p=åi2 , где I меняется от m до nN и m вводится с клавиатуры.

13 Каждое число вводить по очереди в переменную х. В цикле осуществлять ввод очередного значения х и выполнять операции сложения чисел и увеличения счетчика на 1.

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


Практическая работа № 3
«Анализ рексурсивного алгоритма»


Цель работы: приобретение навыков работы с одномерными массивами, двумернвыми массивами.

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

1) Постановка задачи для конкретного варианта.

2) Разработка блок-схемы программы.

3) Анализ допущенных ошибок.

4) Распечатка программы с результатами.

Методические указания:

При выполнении этой работы следует помнить, что:

1) Исходные данные должны включать положительные, отрицательные числа и нули.

2) Программа должна работать с любым допустимым набором данных.


  1. Дано натуральное число n. Выведите все числа от 1 до n.

  2. Даны два целых числа A и В (каждое в отдельной строке). Выведите все числа от A до B включительно, в порядке возрастания, если A B, или в порядке убывания в противном случае.

  3. В теории вычислимости важную роль играет функция Аккермана A(m,n), определенная следующим образом:

    Даны два целых неотрицательных числа m и n, каждое в отдельной строке. Выведите A(m,n).

  4. Дано натуральное число N. Выведите слово YES, если число N является точной степенью двойки, или слово NO в противном случае.

  5. Дано натуральное число N. Вычислите сумму его цифр.

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

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

  8. Дано натуральное число n1. Проверьте, является ли оно простым. Программа должна вывести слово YES, если число простое и NO, если число составное.

  9. Дано натуральное число n1. Выведите все простые множители этого числа в порядке неубывания с учетом кратности.

  10. Дано слово, состоящее только из строчных латинских букв. Проверьте, является ли это слово палиндромом. Выведите YES или NO.

  11. Дана последовательность натуральных чисел (одно число в строке), завершающаяся числом 0. Выведите все нечетные числа из этой последовательности, сохраняя их порядок.

  12. Дана последовательность натуральных чисел (одно число в строке), завершающаяся числом 0. Выведите первое, третье, пятое и т.д. из введенных чисел. Завершающий ноль выводить не надо.

  13. Дана последовательность натуральных чисел (одно число в строке), завершающаяся числом 0. Определите наибольшее значение числа в этой последовательности.

  14. Даны натуральные числа k и s. Определите, сколько существует k-значных натуральных чисел, сумма цифр которых равна d. Запись натурального числа не может начинаться с цифры 0.

  15. Даны числа a и b. Определите, сколько существует последовательностей из a нулей и b единиц, в которых никакие два нуля не стоят рядом.

  16. Дано число n, десятичная запись которого не содержит нулей. Получите число, записанное теми же цифрами, но в противоположном порядке.

Заключение


Методические указания для студентов по выполнению практических и работ содержат цели, задания, методические указания к заданиям, по учебной дисциплине ОП.08.Теория алгоритмов.

Данные методические указания составлены в соответствии с ФГОС СПО по специальности 09.02.03 Программирование в компьютерных системах (базовый уровень).

ОТЧЕТ по каждой практической и лабораторной работам составляется на отдельных листах формата А4 или в тетради по следующему образцу:

Отчет по практической работе

Цель:

Задание (номер варианта, условие каждого задания, выполненное в виде постановки задачи, математическая модель задачи, алгоритм решения задачи, данные для тестирования задачи).