Материал: Основы алгоритмизации и программирования вычислительных процессов. Кононов А.Д., Кононов А.А

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное бюджетное образовательное учреждение высшего образования

«Воронежский государственный технический университет»

Кафедра систем управления и информационных технологий в строительстве

ОСНОВЫ АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИЯ

ВЫЧИСЛИТЕЛЬНЫХ ПРОЦЕССОВ

Методические указания

к проведению практических занятий и выполнению лабораторных работ по дисциплине «Информатика» для обучающихся по программам высшего образования (бакалавриат, специалитет)

всех форм обучения

Воронеж 2021

1

УДК 004.9 (07)

ББК 32,81 я 73

Составители: А. Д. Кононов, А. А. Кононов

Информатика: основы алгоритмизации и программирования вычис-

лительных процессов: методические указания к проведению практических занятий и выполнению лабораторных работ / ФГБОУ ВО «Воронежский государственный технический университет»; сост.: А. Д. Кононов, А. А. Кононов. – Воронеж: Изд-во ВГТУ, 2021. – 34 с.

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

Предназначены для изучения дисциплины «Информатика» студентами, обучающимися по программам высшего образования (бакалавриат, специалитет) всех форм обучения.

Методические указания подготовлены в электронном виде и содержатся в файле МУ_ОАП_ВП.pdf.

Ил. 7. Табл. 2. Библиогр.: 10 назв.

УДК 004.9 (07) ББК 32,81 я 73

Рецензент Д. В. Сысоев, канд. техн. наук, доцент кафедры прикладной математики и механики ВГТУ

Издается по решению редакционно-издательского совета Воронежского государственного технического университета

2

ВВЕДЕНИЕ

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

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

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

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

I. Основы алгоритмизации и программирования вычислительных процессов

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

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

Занятие 1. Понятие алгоритма. Свойства алгоритма. Этапы подготовки и решения задачи на ЭВМ

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

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

3

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

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

Свойства алгоритма.

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

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

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

Массовость. Алгоритм должен быть пригодным для решения любых задач, для которых он предназначен, таким образом, алгоритм разрабатывается в общем виде так, чтобы его можно было применять для класса задач, различающихся только исходными данными. При этом исходные данные выбираются из некоторой области, которая называется областью применимости алгоритма. Например, для решения квадратного уравнения ах2 + bх + с = 0, коэффициенты а, b, с – различные действительные числа, а ≠ 0.

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

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

4

результата.

Контрольные вопросы и упражнения

1.Дайте определение алгоритма.

2.Перечислите основные свойства алгоритма.

Этапы подготовки и решения задачи на ЭВМ Подготовка задачи к решению на ЭВМ является достаточно сложной

процедурой, и ее непосредственная реализация включает ряд этапов. Содержательная постановка задачи – определение цели и условий реше-

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

Математическая формулировка задачи – построение математической модели (описание связей между объектами задачи математическими соотношениями выполняется специалистом той области, к которой относится задача).

Выбор существующего или разработка нового метода решения задачи.

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

Разработка алгоритма для выбранного метода. На этом этапе составляется алгоритм решения задачи в соответствии с действиями, задаваемыми выбранным методом. Процесс переработки данных разбивается на самостоятельные участки вычислений и устанавливается порядок выполнения этих участков (выполняет программист).

Собственно программирование – запись алгоритма изобразительными средствами конкретного языка программирования (выполняет программист).

Подготовка исходных данных, кодировка и трансляция программы.

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

Решение задачи на компьютере, получение и анализ результатов (выполняет специалист – постановщик задачи).

5

Источник: https://studfile.net/preview/16563236/