- •Тема 1. Технология программирования. Основные понятия и подходы
- •1.1 Технология программирования и основные этапы ее развития
- •1.1 Проблемы разработки сложных программных систем (пс)
- •1.2 Блочно-иерархический подход к созданию сложных систем (сс)
- •1.4 Жизненный цикл и этапы разработки программного обеспечения
- •1.5 Оценка качества процессов создания программного обеспечения
- •Тема 2. Основы теории программирования
- •2.1 Понятие технологичности программного обеспечения
- •Диалоговые программы
- •2.2 Модули и их свойства
- •2.3 Основные понятия программирования. Средства описания структурных алгоритмов
- •Описание алгоритма с помощью естественного языка
- •Описание алгоритма с помощью блок-схемы
- •Описание алгоритма с помощью алгоритмических языков
- •2.4 Стиль оформления программы
- •Тема 3. Программирование на языке высокого уровня Pascal
- •3.1 Введение
- •3.2 Основные понятия языка Pascal
- •3.3 Операторы ввода-вывода данных
- •Простые типы данных
- •Структурированные типы данных
- •Работа с текстовыми файлами
- •Другие типы данных
- •3.5 Выражения, операнды, операции
- •Порядок вычисления выражений
- •3.5 Выражения, операнды, операции
- •Порядок вычисления выражений
- •3.6 Операторы языка Простые операторы
- •Структурные операторы
- •Работа с массивами
- •3.6 Подпрограммы
- •Процедуры
- •Функции
- •Рекурсивные подпрограммы
- •Параметры и аргументы
- •Стандартные процедуры и функции
- •3.7 Списки: основные виды и способы реализации
- •Вопросы для экзамена по курсу «Технология программирования»
- •1. Технология программирования и основные этапы ее развития
- •Задания для студентов заочной формы обучения по курсу «Технология программирования (ТеПр)»
- •Вопросы для экзамена по курсу «Технология программирования»
- •1. Технология программирования и основные этапы ее развития
2.3 Основные понятия программирования. Средства описания структурных алгоритмов
Чтобы решить какую-либо задачу с помощью компьютера, в него следует ввести четко сформулированные инструкции (команды). Цель программирования – составление последовательности команд, необходимой для решения поставленной задачи. Можно выделить следующие основные этапы решения задачи с помощью компьютера:
постановка задачи – (что дано, и что требуется найти) – формулируется цель решения задачи, подробно описывается ее содержание; проводится анализ условий, при которых решается задача, выявляется область определения входных параметров;
формальное построение модели задачи – построение модели с характеристиками, адекватными оригиналу, на основе какого-либо его физического или информационного принципа; анализ характера и сущности величин, используемых в задаче;
построение математической модели задачи – (формализация задачи) – выражение взаимосвязей между величинами с помощью математических выражений и соотношений;
выбор и обоснование метода решения – реализация модели решения задачи на основе конкретных приемов и методов решения;
построение алгоритма – составление алгоритма решения задачи в соответствии с выбранным методом решения; разбиение процесса обработки данных на отдельные блоки, определение последовательности выполнения этих блоков;
выбор технологии программирования (в том числе, платформы, языка программирования, среды);
составление программы – перевод алгоритма решения на конкретный ЯП;
отладка программы – процесс устранения синтаксических и логических ошибок в программе; (в процессе компиляции с помощью синтаксического и семантического контроля выявляются недопустимые конструкции и символы, после чего компьютер выдает сообщение об ошибках; логика работы программы проверяется на конкретных исходных данных; используются отладчики, вывод промежуточных результатов и т.д.);
тестирование программы – использование программы для решения конкретной задачи (или ее частей) с заранее известными результатами;
решение задачи на компьютере и анализ результатов – использование программы для решения поставленной задачи (многократное решение задачи на компьютере для различных наборов исходных данных с последующим анализированием полученных результатов специалистом, поставившим задачу; разработанная программа поставляется заказчику в виде готовой к исполнению машинной программы; к ней прилагается документация, включающая инструкцию по эксплуатации).
Примечание. При решении ряда задач некоторые этапы могут отсутствовать. Например, проектирование ПО не требует построения математической модели.
К основным понятиям программирования относятся:
исполнитель – субъект (человек, компьютер, механизм, язык программирования и др.), способный выполнять определенный конечный набор действий;
предписание – приказ на выполнение действия из указанного конечного набора;
система предписаний исполнителя – совокупность допустимых предписаний;
программа – конечная последовательность предписаний с указанием порядка их выполнения.
Таким образом, программы нужны для выполнения компьютером определенных заданий. Неотъемлемой частью любой программы являются переменные, исходные данные и операции присвоения.
К важнейшим понятиям теории программирования относится понятие алгоритма. Алгоритм – это описанная на некотором языке конечная система правил, определяющая содержание и порядок действий над некоторыми объектами, строгое выполнение которых дает решение поставленной задачи. (Алгоритм – это конечная последовательность действий, необходимых для решения некоторой задачи.) Разработка алгоритма решения задачи осуществляется путем ее разбиения на этапы (блоки), которые выполняются последовательно. При разработке алгоритма необходимо указать содержание всех этапов и порядок их выполнения. Пример с алгоритмом решения квадратного уравнения.
Любой алгоритм характеризуется следующими основными свойствами:
дискретность – свойство, означающее, что каждый алгоритм состоит из отдельных законченных этапов (действий) (дискретность = разрывность, т.е. не непрерывность);
определенность – свойство, указывающее на то, что каждый шаг в алгоритме должен быть строго определен и определен порядок выполнения отдельных шагов;
массовость – применимость алгоритма ко всем задачам рассматриваемого типа, при любых исходных данных.
результативность – свойство, состоящее в том, что любой алгоритм должен завершаться за конечное число шагов;
формальность – свойство, означающее, что исполнитель, выполняющий алгоритм, действует формально, т.е. отвлекается от содержания поставленной задачи и лишь строго выполняет инструкции.
Разработка алгоритма называется алгоритмизацией задачи. В процессе алгоритмизации решение задачи разбивается на этапы, которые необходимо выполнить в определенной последовательности. Существует три основных способа записи алгоритма: на естественном языке, в виде блок-схемы, на алгоритмическом языке.
