Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Programmirovanie_Shpory_moi.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆

8 Функциональная и модульная декомпозиции

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

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

Функциональная декомпозиция - метод разбивки большой программы на отдельные функции, т.е. общий алгоритм - на отдельные шаги, которые потом оформляют в виде отдельных функций.

Алгоритм декомпозиции можно представить следующим образом:

- программу создать в виде последовательности более мелких действий;

- каждую детализацию подробно описать;

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

При этом надо помнить, что каждая детализация – это один из вариантов решения, и поэтому необходимо проверить, что:

- решение частных задач приводит к решению общей задачи;

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

Единица компиляции в языке Си - отдельный файл (модуль).

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

9 Операционная система

Вся работа компьютера осуществляется под управлением специальных программ, называемых операционной системой (ОС). С точки зрения пользователя ОС - это набор системных команд, задавая которые можно потребовать от ПЭВМ выполнения многих полезных процедур и действий.

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

ниями между пользователями сети. Удобства, предоставляемые пользователю, зависят от качества ОС, которые постоянно развиваются. В настоящее время наибольшее распространение имеют OC WindowsХХ и LinuxХХ.

Файловая система хранения информации

Для размещения информации и программ на различных устройствах, необходимых пользователю, была разработана концепция файлов. Под файлом понимается поименованное на внешнем носителе место (запоминающее устройство, диск и т.п.), отведенное для размещения и (или) чтения некоторой информации. При этом файл может быть пустым, т.е. место отведено, поименовано, а информация отсутствует. Информация, помещенная в файл, получает имя этого файла. За работу с файлами в компьютере отвечают специальные программы, набор которых называется файловой системой, основные функции которой - предоставить пользователю средства для работы с данными. Имя, которое присваивается файлу, может иметь тип, называемый «расширение». Имя и тип разделяются точкой. При отсутствии типа точка необязательна. Для более удобного размещения файлов введены каталоги. Каталог (папка) – это группа файлов на одном носителе, имеющий общее имя. Если каталог вложен внутрь другого каталога, он является подкаталогом. Такая вложенность может быть многократной и тогда образуется иерархическая структура хранения данных. Внешним носителям присваиваются имена. Для дисков, например, имена обозначаются одной буквой - a:, b:, c:,…. При этом на одном винчестере для удобства размещения файлов может быть организовано несколько логических дисков с разными именами. Маршрут (путь) файла. При сложной структуре хранения файлов разные файлы могут иметь одинаковые имена и быть расположены в разных каталогах (дисках), поэтому для точной идентификации (указания) файла необходимо кроме имени указывать путь к файлу, т.е. место на диске и цепочку подкаталогов, где он находится. Например: с:\bc31\doc\lec.doc или d:\work\prog.cpp. Для работы с файлами обычно используют специальные программы, такие, как FAR, WinCom и Проводник.

10 Решение задачи на ЭВМ можно разбить на следующие этапы:

- математическая или информационная формулировка задачи;

- выбор метода (численного) решения поставленной задачи;

- построение алгоритма решения поставленной задачи;

- запись построенного алгоритма, т.е. написание текста программы;

- отладка программы - процесс обнаружения, локализации и устранения возможных ошибок;

- выполнение программы - получение требуемого результата.

Понятие алгоритма занимает центральное место в современной математике и программировании.

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

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

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

Описания алгоритмов

Наиболее распространенными способами описания алгоритмов являются словесное и графическое описания алгоритма.

Словесное описание алгоритма рассмотрим на конкретном примере: необходимо найти корни квадратного уравнения a⋅x2+b⋅x+c=0 (a ≠ 0):

1) вычислить D = b⋅b - 4⋅a⋅c;

2) если D < 0, перейти к 4;

3) вычислить корни уравнения x1 = (−b +√D) /(2 ⋅ a) ;

x2 =(−b − D) /(2 ⋅ a);

4) конец.

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

Графическое описание алгоритма - это представление алгоритма в виде схемы, состоящей из последовательности блоков (геометрических фигур), каждый из которых отображает содержание очередного шага алгоритма. Внутри фигур кратко записывают выполняемое действие. Такую схему называют блок-схемой алгоритма. Правила изображения фигур сведены в единую систему документации (ГОСТ 19.701-90), по которой – это схема данных, отображающая путь данных при решении задачи и определяющая этапы их обработки. Схема содержит: символы данных (могут отображать тип носителя данных); символы процесса, который нужно выполнить над данными; сим-

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

11 Графическое описание алгоритма - это представление алгоритма в виде схемы, состоящей из последовательности блоков (геометрических фигур), каждый из которых отображает содержание очередного шага алгоритма. Внутри фигур кратко записывают выполняемое действие. Такую схему называют блок-схемой алгоритма. Правила изображения фигур сведены в единую систему документации (ГОСТ 19.701-90), по которой – это схема данных, отображающая путь данных при решении задачи и определяющая этапы их обработки. Схема содержит: символы данных (могут отображать тип носителя данных); символы процесса, который нужно выполнить над данными; сим-

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

Графический (наглядный) способ представления алгоритма - это БЛОК-СХЕМА. Блоки обозначают действия исполнителя, а соединяющие их стрелки указывают на последова-тельность выполнения действий.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]