Файл: Алгоритмизация как обязательный этап разработки программы (Современное понятие программного обеспечения).pdf
Добавлен: 31.03.2023
Просмотров: 229
Скачиваний: 3
1. Берется количество элементов и сохраняется в переменной.
2. Далее перебираются элементы списка один за другим.
3. Сортируется список в порядке возрастания.
4. Выводится второй последний элемент списка.
5. Выход.
Пользователь должен ввести количество элементов и сохранить их в переменной. Далее пользователь должен затем вводить элементы списка один за другим, используя цикл for и сохраняя его в списке, затем список должен быть отсортирован. В конце печатается последний элемент списка, который также является самым большим элементом списка.
3. Программа на Python для определения размера (разрешения) изображения.
JPEG означает Joint Photographic Experts Group. Это одна из наиболее широко используемых методов сжатия изображений.
Большинство форматов файлов имеют заголовки (начальные несколько байтов), которые содержат полезную информацию о файле.
Например, заголовки jpeg содержат информацию, такую как высота, ширина, количество цветов (оттенки серого или RGB) и т.д. В этой программе мы находим разрешение изображения jpeg, читающего эти заголовки, без использования какой-либо внешней библиотеки. Подробный код программы показан листингом кода 3.
Листинг кода 3.
def jpeg_res(filename):
""""This function prints the resolution of the jpeg image file passed into it"""
# открыть изображение для чтения в двоичном режиме
with open(filename,'rb') as img_file:
# высота изображения (в 2 байтах) находится на 164-й позиции
img_file.seek(163)
# чтение 2 байт
a = img_file.read(2)
# рассчет высоты
height = (a[0] << 8) + a[1]
# следующие 2 байта
a = img_file.read(2)
# рассчёт ширины
width = (a[0] << 8) + a[1]
print("Разрешение изображения",width,"x",height)
jpeg_res("img.jpg")
В этом примере мы открыли изображение в двоичном режиме. Не текстовые файлы должны быть открыты в этом режиме. Высота изображения находится на 164-й позиции, за которой следует ширина изображения. Оба имеют длину 2 байта. Мы преобразуем 2 байта в число с помощью оператора побитового сдвига <<. Наконец, отображается разрешение.
Это программа верна только для стандарта JPEG File Interchange Format (JFIF). Если изображение кодируется с использованием другого стандарта (например, EXIF), код не будет работать.
В данной главе были рассмотрены практические примеры разработки различных алгоритмов.
ЗАКЛЮЧЕНИЕ
Таким образом, роль алгоритмов в жизни человека весьма многогранна и не сводится только к обработке информации. Однако в процессе обработки информации алгоритмы играют первостепенную роль.
В рамках данной работы были решены следующие задачи:
- раскрыто понятие «алгоритм»;
- изучены вопросы современной разработки программного обеспечения;
- проведено исследование алгоритмических конструкций;
- изучены вопросы практического применения алгоритмизации.
Алгоритмы обладают важнейшим качеством — исполнение одного и того же алгоритма в одних и тех же условиях различными людьми (в общем случае — исполнителями), как правило, приводит к одинаковым результатам. Следовательно, можно утверждать, что алгоритмы обладают (точнее, должны обладать) некоторыми свойствами, которые обеспечивают этот эффект. Кроме указанного качества, которое принято называть определенностью (однозначностью) алгоритма, можно указать еще понятность задания алгоритма его исполнителю, возможность исполнения алгоритма в тех или иных конкретных условиях, принципиальную достижимость результата и некоторые другие качества. Наличие этих свойств, собственно говоря, и делает некоторый набор правил, указаний алгоритмом.
Данная работа может быть расширена более глубоким изучением вопросов современной алгоритмизации и его значимости в процессе разработки программного обеспечения.
СПИСОК ЛИТЕРАТУРЫ
- Алиев, Ю.А. Практикум по алгоритмизации и программированию на языке Паскаль/ Ю.А. Алиев. – В. – Питер: 2007. – 527с
- Буч Гради Объектно-ориентированное проектирование с примерами применения. — Конкорд, 2014. — 519 с.
- Васильев А. Java. Объектно-ориентированное программирование. — Питер, 2013. — 397 с.
- Дронов В. HTML 5, CSS 3 и Web 2.0. Разработка современных Web-сайтов. — БХВ-Петербург, 2013. — 408 с.
- Дэвид Харрис, Сара Л. Харрис Цифровая схемотехника и архитектура компьютера. — ДМК Пресс, 2018. — 794 с.
- Левчук Е. А. Технологии организации, хранения и обработки данных. — Вышэйшая школа, 2016. — 241 с.
- Лутц М. Изучаем Python. 4-е издание. — Символ-Плюс, 2017. — 1272 с.
- Мартин Роберт Идеальный программист. Как стать профессионалом разработки ПО. — Питер, 2011. — 240 с.
- Орлов С. А. Теория и практика языков программирования. — Питер, 2017. — 688 с.
- Щеглов К.А., Щеглов А.Ю. Защита информации: основы теории. Учебник для бакалавриата и магистратуры. — Юрайт, 2017. — 310 с.
- Paul Barry Head First Python: A Brain-Friendly Guide. — O'Reilly Media, 2016. — 624 p.
- Luciano Ramalho Fluent Python: Clear, Concise, and Effective Programming. — O'Reilly Media, 2015. — 792 p.
- Программирование [Электронный ресурс] Понятие «программирование». Режим доступа:
https://sites.google.com/site/wwwprogrammirovaniecom/home/ponatie Дата обращения (21.01.2020) - Сайт с образовательными программами [Электронный ресурс] История программирования и алгоритмических языков перспективы развития средств автоматизации. Режим доступа: http://emirb.org/zadacha-avtomatizacii-sostoit-v-osushestvlenii-avtomaticheskog.html?page=9 Дата обращения (21.01.2020)
- Life-Prog [Электронный ресурс] Основные понятия. Программный продукт Режим доступа: https://life-prog.ru/2_13687_osnovnie-ponyatiya-programmniy-produkt.html Дата обращения (21.01.2020)
- Алгоритмизация и программирование [Электронный ресурс] Алгоритмические конструкции. Режим доступа: https://xn----7sbbfb7a7aej.xn--p1ai/informatika_kabinet/programm/programm_03.html Дата обращения (21.01.2020)
- Itandlife [Электронный ресурс] Роль алгоритмов в информационных технологиях. Режим доступа: http://itandlife.ru/science/computer-science/rol-algoritmov-v-informacionnyx-texnologiyax/ Дата обращения (21.01.2020)