Файл: Алгоритмизация как обязательный этап разработки компьютерной программы..pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 16.05.2023

Просмотров: 139

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Введение.

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

Работа процессора ЭВМ основана на решении простейших команд, выполнение которых в совокупности в конечном этапе позволяет получить искомый результат. Поэтому для решения конкретной задачи необходимо составить поэтапное описание последовательности действий. Важнейшим этапом для разработки программы является алгоритмизация. Алгоритм представляет собой такое точное предписание, которое определяет в итоге вычислительный процесс, ведущий от первоначальных исходных данных к искомому результату.

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

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

Теоретической основой курсовой работы являются работы российских ученых по вопросам, касающимся разработки программ для ЭВМ.

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

Цели и задачи предопределили структуру курсовой работы. Работа состоит из введения, двух глав, заключения и списка литературы.

Глава 1. Сущность алгоритмизации.

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

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

Термин «алгоритм» происходит от латинской формы имени среднеазиатского математика Аль-Хорезми – Algorithmi. В его сочинении «Книга о сложении и вычитании» автор дал описание позиционной десятичной системы счисления, сформулировал правила вычисления и впервые использовал цифру ноль, которая обозначила пропущенную позицию в записи числа. Аль-Хорезми одним из первых начал применять индийскую систему счисления.


Наиболее обобщенно алгоритм определяется как «четкое описание последовательности действий, которые необходимо выполнить для получения результата.»[1]

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

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

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

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

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

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


В общем случае алгоритмы, сформированные в ходе алгоритмизации, разрабатываются именно для электронно-вычислительной техники. Формирование эффективной последовательности действий, которая отражала бы происходящие в реальности процессы, в большинстве случаев предполагает последовательное нахождение ответов на два вопроса: какие системы информационной обработки будут эффективными в конкретном случае; каковы математические методики функционирования применительно к крупным системам?[2] В задачах первого типа для построения алгоритма управления необходимо к алгоритму, описывающему процесс функционирования системы, присоединить алгоритм определения оптимального решения или оптимальных значений параметров управления. В задачах второго типа функционирование большой системы позволяет провести количественное и качественное исследования, связанные с оценкой основных её свойств (эффективности, надёжности и др.).

Таким образом, в узком смысли алгоритмизация - процесс систематического составления алгоритмов для решения поставленных прикладных задач. Алгоритмизация считается обязательным этапом в процессе разработки программ и решении задач на ЭВМ. Именно для прикладных алгоритмов и программ принципиально важны детерминированность, результативность и массовость, а также правильность результатов решения поставленных задач.

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

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

1.2 Свойства алгоритмов и способы их описания.

Далее рассмотрим основные свойства алгоритмов.

К основным свойствам алгоритмов относятся:


1) дискретность (прерывность, раздельность) – алгоритм должен представлять процесс решения задачи как последовательное исполнение простых (или ранее определенных) шагов (этапов);

2) определенность – каждое правило алгоритма должно быть четким, однозначным и не оставлять места для произвола. Это свойство обеспечивает выполнение алгоритма механически, не требуя никаких дополнительных указаний или сведений о решаемой задаче;

3) результативность (или конечность) – алгоритм должен приводить к решению задачи за конечное число шагов;

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

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

Словесное описание представляет структуру алгоритма на естественном языке. Например, любой прибор бытовой техники (утюг, электропила, и т.п.) имеет инструкцию по эксплуатации, т.е. словесное описания алгоритма, в соответствии которому данный прибор должен использоваться. Никаких правил составления словесного описания не существует. Запись алгоритма осуществляется в произвольной форме на естественном, например, русском языке. Этот способ описания не имеет широкого распространения, так как строго не формализуем (под «формальным» понимается то, что описание абсолютно полное и учитывает все возможные ситуации, которые могут возникнуть в ходе решения); допускает неоднозначность толкования при описании некоторых действий; страдает многословностью.

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


Блок-схема — описание структуры алгоритма с помощью геометрических фигур с линиями-связями, показывающими порядок выполнения отдельных инструкций. Этот способ имеет ряд преимуществ. Благодаря наглядности, он обеспечивает «читаемость» алгоритма и явно отображает порядок выполнения отдельных команд. В блок-схеме каждой формальной конструкции соответствует определенная геометрическая фигура или связанная линиями совокупность фигур.

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

Блок, характеризующий начало и конец алгоритма (Рисунок 1). Блок - процесс, предназначенный для описания отдельных действий (Рисунок 2). Блок — ввода/вывода с неопределенного носителя (Рисунок 3). Блок - ввод с клавиатуры (Рисунок 4). Блок — вывод на монитор (Рисунок 5). Блок — решение (проверка условия или условный блок) (Рисунок 6). Блок, описывающий цикл с параметром (Рисунок 7). Блок — границы цикла, описывающий циклические процессы типа: «цикл с предусловием», «цикл с постусловием» (Рисунок 8).

Рисунок 1.

Рисунок 2.

Рисунок 3.

Рисунок 4.


Рисунок 5.

Рисунок 6.

 

Нет Да

Рисунок 7.

Рисунок 8.

Описания алгоритма в словесной форме, на псевдокоде или в виде блок-схемы допускают некоторый произвол при изображении команд. Вместе с тем она настолько достаточна, что позволяет человеку понять суть дела и исполнить алгоритм. На практике исполнителями алгоритмов выступают компьютеры. Поэтому алгоритм, предназначенный для исполнения на компьютере, должен быть записан на «понятном» ему языке, такой формализованный язык называют языком программирования.