Файл: Министерство образования науки Российской Федерации.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 09.11.2023
Просмотров: 232
Скачиваний: 16
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
27
Рисунок 28 – Схема работы программы для примера 10
Входные данные для работы программы – а – целое число, которое необходимо возвести в целую положительную степень n. Выходные данные – переменные a и n, вычисленные с помощью математического модуля pow().
Известно, что для того, чтобы получить целую степень n числа а, необходимо умножить число а само на себя n раз.
8.4. Оборудование и программное обеспечение
1. ПЭВМ IBM PC.
2. Операционная система Windows.
3. Интегрированная среда IDLE Python.
8.5 Задание на работу
1. Изучить теоретические положения лабораторной работы.
2. Набрать и отладить вариант программы в соответствии с примерами
9,10.
3. Получить результаты работы программы.
4. Показать результаты работы программы преподавателю.
5. Ответить на контрольные вопросы.
6. Оформить отчет.
8.6. Контрольные вопросы
1. Какими способами можно вычислить факториал и степень числа в
Python?
2. Что такое математические модули?
3. Что надо сделать, чтобы математические модули работали?
4. Что такое рекурсия?
5. Какие ещё математические модули есть в Python?
8.7. Правила оформления отчета
Отчет должен содержать:
1. Номер работы, цель и название.
2. Сформулированные примеры, для которых составляются программы.
3. Схемы работы программ, изображенные в соответствии с ГОСТ
19.701-90.
4. Тексты введенных и отлаженных программ (фото текстов программ).
28 5. Результаты работы программ (фото результатов работы программ).
6. Описание выполненных в лабораторной работе действий (коротко как набирались и отлаживались программы).
7. Вывод по работе.
Практическая работа №9
Основы алгоритмизации и программирования.
Обработка массивов (часть 1) на языке Python
(в среде IDLE Python)
9.1. Цель работы
Освоить основные приемы обработки массивов на языке Python.
9.2. Теоретические положения
Часто для работы с множеством однотипных данных оказывается удобным использовать массивы.
В Python массивы — это контейнеры, способные хранить более одного элемента одновременно.
В частности, они представляют собой упорядоченный набор элементов, каждое значение которого относится к одному и тому же типу данных.
Массивы разделяются на одномерные и многомерные.
Например, последовательность чисел 2,4,6,8 является одномерным массивом.
Последовательность чисел, записанных в виде таблицы – в виде строк и столбцов, называется многомерным массивом, например, такой массив как
2 4
6 8 называется двумерным (в двумерном массиве строки – первое измерение, столбцы – второе измерение).
В Python процедура объявления и вывода массива может выполняться следующими способами:
1. mass=[1, 2, 3, 4, 5] print('Вывод:', mass) print('Вывод[0]:', mass[0])
2. mass = list('итерируемый объект') print('Вывод:', mass)
3. mass = [i for i in range(5)] print('Вывод:', mass) print('Вывод[3]:', mass[3])
4. Массив можно создать в Python, импортировав модуль массива в программу. from array import * arrayName = array(typecode, [initializers])
5. Двухмерный массив в Python можно объявить следующим образом. example_array = [[-1, 0, 0, 1], [2, 3, 5, 8]] print(example_array[0])
29 print(example_array[0][3])
6. Так же можно определить трехмерный массив или многомерный массив. example_array = [[[-1, 0], [0, 1]], [[2, 3], [5, 8]]] print(example_array[1]) print(example_array[0][1][0])
Массивы подвержены следующим операциям:
- ввод/вывод элементов массива;
- вычисление суммы или произведения элементов массива;
- поиск минимального или максимального элемента в массиве;
- сортировка элементов в массиве (различными методами);
- добавление или удаление элементов массива.
9.3. Задания для составления схем и программ
Пример 11: Дан массив А, состоящий из К целых положительных чисел.
Записать все четные числа из массива А в массив В.
Решение задачи заключается в следующем: последовательно перебираются элементы массива А. Если среди них находятся четные, то они записываются в массив В.
В таблице 5 показан исходный массив А.
Таблица 5 – Исходный массив А i
1 2
3 4
5 6
7 8
A
3 7
4 9
2 8
1 6
Переменная i в массиве А указывает позицию элемента. А – значения элементов в массиве.
В таблице 6 показан формируемый массив В.
Таблица 6 – Формируемый массив В
В
4 2
8 6 m
1 2
3 4
Переменная m в массиве B указывает позицию элемента. B – значения элементов в массиве, которые выбраны из массива А в соответствии со свойством четности.
Первый четный элемент хранится в массиве А в позиции 3, второй и третий в позиции 5 и 6 соответственно, четвертый – в позиции 8. В массиве В этим элементам соответствуют совершенно иные позиции, а именно 1,2,3,4, для формирования чего необходимо определить новую переменную m.
Текст программы для примера 11 представлен на рисунке 29.
Рисунок 29 – Текст программы для примера 11
Схема работы программы представлена на рисунке 30.
30
Рисунок 30 – Схема работы программы для примера 11 9.4. Оборудование и программное обеспечение
1. ПЭВМ IBM PC.
2. Операционная система Windows.
3. Интегрированная среда IDLE Python.
9.5 Задание на работу
1. Изучить теоретические положения лабораторной работы.
2. Набрать и отладить программу в соответствии с примером 11.
3. Получить результаты работы программы.
4. Показать результаты работы программы преподавателю.
5. Ответить на контрольные вопросы.
6. Оформить отчет.
9.6. Контрольные вопросы
1 2 3 4
1. Что такое массив?
2. Какие массивы существуют?
3. Как задается одномерный массив?
4. Как задается двумерный массив?
5. Какие операции можно осуществлять над массивами?
6. Что такое однородность данных?
7. Какими способами задается одномерный массив на языке Python?
8. Какими способами задается двумерный массив на языке Python?
9.7. Правила оформления отчета
Отчет должен содержать:
1. Номер работы, цель и название.
2. Сформулированные примеры, для которых составляются программы.
31 3. Схемы работы программ, изображенные в соответствии с ГОСТ
19.701-90.
4. Тексты введенных и отлаженных программ (фото текстов программ).
5. Результаты работы программ (фото результатов работы программ).
6. Описание выполненных в лабораторной работе действий (коротко как набирались и отлаживались программы).
7. Вывод по работе.
32
Практическая работа №10
Основы алгоритмизации и программирования.
Обработка массивов (часть 2) на языке Python
(в среде IDLE Python)
10.1. Цель работы
Освоить основные приемы обработки массивов на языке Python.
10.2. Теоретические положения
Над массивами, как уже говорилось ранее, можно реализовывать самые различные операции, в том числе и перезапись элементов в другой массив.
Запись элементов в другой массив осуществляется на основании проверки условий, в соответствии с которыми будет выбран элемент для записи его в другой массив. Ввод массивов был рассмотрен выше. Структуры схем для программ по обработке массивов содержат циклы, как правило, с параметром и различного рода условия.
10.3. Задания для составления схем и программ
Пример 12: Задан массив Y из n целых чисел. Сформировать массив Z таким образом, чтобы в начале шли отрицательные элементы массива Y, затем положительные и наконец нулевые.
Текст программы для примера 12 представлен на рисунке 31.
Рисунок 31 – Текст программы для примера 12
Схема работы программы представлена на рисунке 32.
33
Рисунок 32 – Схема работы программы для примера 12 10.4. Оборудование и программное обеспечение
1. ПЭВМ IBM PC.
2. Операционная система Windows.
3. Интегрированная среда IDLE Python.
10.5 Задание на работу
1. Изучить теоретические положения лабораторной работы.
2. Набрать и отладить программу в соответствии с примером 12.
3. Получить результаты работы программы.
4. Показать результаты работы программы преподавателю.
5. Ответить на контрольные вопросы.
6. Оформить отчет.
10.6. Контрольные вопросы
1. Как реализовать запись из одного массива в другой отрицательных элементов массива?
2. Как реализовать запись из одного массива в другой положительных элементов массива?
3. Как реализовать запись из одного массива в другой нулевых элементов массива?
34 4. Как присвоить элементу, записываемому в новый массив, нового индекса?
10.7. Правила оформления отчета
Отчет должен содержать:
1. Номер работы, цель и название.
2. Сформулированные примеры, для которых составляются программы.
3. Схемы работы программ, изображенные в соответствии с ГОСТ
19.701-90.
4. Тексты введенных и отлаженных программ (фото текстов программ).
5. Результаты работы программ (фото результатов работы программ).
6. Описание выполненных в лабораторной работе действий (коротко как набирались и отлаживались программы).
7. Вывод по работе.
35
Практическая работа №11
Основы алгоритмизации и программирования.
Обработка массивов (часть 3) на языке Python
(в среде IDLE Python)
11.1. Цель работы
Освоить основные приемы обработки массивов на языке Python.
11.2. Теоретические положения
Часто при работе с массивами требуется знание математических основ работы с числами. Именно эти знания позволяют определить те или иные свойства элементов массивов.
11.3. Задания для составления схем и программ
Пример 13: Массив целых чисел С состоит из N элементов. Найти сумму простых чисел, входящих в него.
Простое число – это число, которое имеет только два делителя – 1 и само число (делится только на единицу и на само себя).
Идея написания программы заключается в следующем:
Сначала сумма равна 0 (вводится переменная, изначально принимающая значение 0). Далее последовательно перебираются все элементы массива, если очередной элемент простой, то он прибавляется к сумме. Сумма каждый раз возрастает на величину простого элемента (от первоначального нулевого значения до суммы всех простых элементов в представленном массиве).
Таким образом, сложность написания программы заключается только в определении простого числа. Для этого можно использовать операции:
- дивергенция – получение целой части от деления;
- модуляция – получение остатка от деления.
Дивергенция (в Python – //) работает следующим образом: 5:3=1, так как целых «троек» в числе «пять» только одна.
Модуляция (в Python – %) работает следующим образом: 5:3=2, так как остаток от целочисленного деления числа «пять» на число «три» это число
«два».
Модуляцию и дивергенцию совместно можно записать так: 5:3=1 остаток 2.
Текст программы для примера 13 представлен на рисунке 33.
Примечание 1: Текст после знака # – это комментарии, которые в тесте программы можно не указывать.
36
Рисунок 33 – Текст программы для примера 13
В указанном коде программы для подсчёта суммы простых чисел используется встроенный математический модуль sum. Открывается функция для просмотра всех введенных элементов массива. Далее открывается цикл для проверки каждого введенного числа массива. Начиная с числа два (это первый возможный делитель после 1) до значения
√n
+1 происходит поиск делителей текущего числа n, а именно, если остаток от деления текущего числа n равен 0, значит число имеет хотя бы один делитель, отличный от 1, в этом случае возвращается логическое значение «ложь», так как число, имеющее делители, отличные от 1, не является простым.
Схема работы программы представлена на рисунке 34.
37
Рисунок 34 – Схема работы программы для примера 13
Рассмотрим, например, следующий массив чисел: 6, 7, 8, 3, 5
(предполагается, что этот линейный массив был загружен с клавиатуры).
Берем первый элемент, это число 6. Далее начиная с числа 2 до числа
√6
+1 осуществляется проверка первого элемента массива – числа 6.
Так как рассматриваемое условие 6 % 2=0 выполняется, то возвращается логическое значение «ложь», так как 6 это не простое число (оно делится на 2,3, помимо того, что делится на 1 и на само себя). После этого осуществляется выход из цикла (от 2 до
√6
+1).
Далее действия повторяются в цикле от 2 до
√n
+1.
Входим второй раз в цикл от 2 до
√n
+1, то есть берем второй элемент: берем второй элемент – число 7. Далее открывается еще один цикл рассматривается условие – 7 % 2≠0 (7 % 2=1), тогда логическое условие будет
«истинной», далее 7 % 3≠0 (7 % 3=1), тогда логическое условие снова не меняется, оставаясь «истинным». Так как логическое условие «истинна», следовательно, Summa=0+7=7.
Далее действия повторяются для всех элементов массива:
38
- для третьего элемента массива – Summa=7, берем элемент, равный 8, от
2 до
√8
+1 проверяем его на делители, 8 % 2=0, логическое условие будет
«ложь». Осуществляется досрочный выход из цикла, так как число 8 не является простым (у него обнаружен первый делитель, отличный от 1, это число 2). При этом значение переменной Summa не меняется: Summa=7;
- для четвертого элемента массива – Summa=7, берем элемент, равный 3, от 2 до
√3
+1 проверяем его на делители, 3 % 2≠0 (3 % 2=1), логическое условие будет «истина». Далее 3 % 1≠0 (3 % 1=3), логическое условие останется
«истинным». Так как логическое условие «истинна», то Summa=7+3=10;
- для пятого элемента массива – Summa=10, берем элемент, равный 5, от
2 до
√5
+1 проверяем его на делители, 5 % 2≠0 (5 % 2=1), логическое условие имеет значение «истина». Далее 5 % 2≠0 (5 % 2=1), переменная логическое условие имеет значение «истина». Так как логическое условие «истина», то
Summa=10+5=15.
Так как все элементы массива пересмотрены (достигнуто число N=5), то осуществляется выход из цикла.
Результат работы программы: Сумма простых чисел массива Summa=15.
11.4. Оборудование и программное обеспечение
1. ПЭВМ IBM PC.
2. Операционная система Windows.
3. Интегрированная среда IDLE Python.
11.5 Задание на работу
1. Изучить теоретические положения лабораторной работы.
2. Набрать и отладить программу в соответствии с примером 13.
3. Получить результаты работы программы.
4. Показать результаты работы программы преподавателю.
5. Ответить на контрольные вопросы.
6. Оформить отчет.
11.6. Контрольные вопросы
1. Как найти сумму элементов (любого свойства) массива?
2. Как работает операция дивергенция (//)?
3. Как работает операция модуляция (%)?
4. Как осуществить досрочный выход из цикла?
11.7. Правила оформления отчета
Отчет должен содержать:
1. Номер работы, цель и название.
2. Сформулированные примеры, для которых составляются программы.
3. Схемы работы программ, изображенные в соответствии с ГОСТ
19.701-90.
4. Тексты введенных и отлаженных программ (фото текстов программ).
5. Результаты работы программ (фото результатов работы программ).
6. Описание выполненных в лабораторной работе действий (коротко как набирались и отлаживались программы).
7. Вывод по работе.