Министерство общего и профессионального образования Российской Федерации Воронежская государственная лесотехническая ака...
242 downloads
333 Views
367KB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
Министерство общего и профессионального образования Российской Федерации Воронежская государственная лесотехническая академия
ИНФОРМАТИКА Основы программирования на языке Паскаль Тексты лекций Часть 1
Воронеж − 1999
УДК 519.682.1 Стариков А.В. ИНФОРМАТИКА. Основы программирования на языке Паскаль: Тексты лекций в 3-х частях. Часть 1. Воронеж, 1999. − 51 с.
Первая часть текстов лекций содержит вводную информацию о решении задач на ЭВМ, включающую понятие, свойства и способы описания алгоритмов, алфавит, простые типы данных и операторы языка программирования Турбо-Паскаль версии 6.0. Тексты лекций по основам программирования на языке Паскаль предназначены для студентов специальности 060800 − “Экономика и управление на предприятиях лесного комплекса”. Библиогр.: 33 наим. Ил. 2. Табл. 5.
Печатается по решению редакционно-издательского совета ВГЛТА.
Рецензенты: кафедра прикладной математики и экономико-математических методов ВГТА, д-р техн. наук, проф. ВГТУ Кравец О.Я.
УДК 519.682.1 Стариков А.В., 1999 Оформление. Воронежская государственная лесотехническая академия, 1999
3 Введение Предлагаемые тексты лекций предназначены для студентов специальности 060800 − “Экономика и управление на предприятиях лесного комплекса”, изучающих основы программирования на языке Паскаль в интегрированной среде Турбо-Паскаль версии 6.0 в общем курсе “Информатика”. Тексты лекций разделены на три части, каждая из которых содержит материал нескольких лекций. Все представленные лекции имеют сквозную нумерацию. Тексты лекций содержат завершенные примеры программ, которые можно использовать на лабораторных занятиях. В конце текста каждой лекции содержатся вопросы и упражнения для самопроверки, которые помогут студентам определить насколько прочно они овладели материалом данной лекции. Первая часть, включающая материал 5 лекций, содержит вводную информацию о программировании на языке Паскаль, включающую: понятие, свойства и способы записи алгоритма, алфавит, простые типы данных и операторы языка Паскаль. Вторая часть, включающая материал 6 лекций, содержит информацию о структурных типах данных, файловом вводе-выводе, подпрограммах и механизмах передачи параметров в подпрограммы. Третья часть, включающая материал 3 лекций, содержит информацию о графических возможностях, реализованных в языке Турбо-Паскаль версии 6.0. Лекция 1. Этапы решения задач на ЭВМ. Понятие алгоритма. Свойства и способы описания алгоритмов. Общее знакомство с алгоритмическим языком программирования Паскаль. Структура типичной программы на языке Паскаль. Список литературы. Вопросы и упражнения для самопроверки. Этапы решения задач на ЭВМ Процедура подготовки и решения задачи на ЭВМ – достаточно сложный и трудоемкий процесс, состоящий из следующих этапов: 1. Постановка задачи (задача, которую предстоит решать на ЭВМ, формулируется пользователем или получается в виде задания). Постановка задачи определяет цель решения задачи, раскрывает ее содержание. Задача формулируется на уровне понятий проблемной области, к которой она относится, и должна быть понятна исполнителю (пользователю). 2. Математическая формулировка задачи (математическая постановка задачи, формализация задачи). Формализация задачи фактически представляет разработку математической модели решаемой задачи и включает в себя: 1) описание задачи с помощью формул; 2) определение перечней исходных данных и получаемых результатов; 3) задание начальных условий и точности вычислений.
4 3. Выбор (поиск) метода решения задачи. В ряде случаев одна и та же задача может быть решена с помощью различных методов. Например, существуют несколько численных методов для приближенного решения уравнения и системы уравнений, приближенного вычисления определенного интеграла и т.д. Выбор метода определяется, как правило, многими факторами, основными из которых являются точность получаемых результатов, время решения задачи на ЭВМ, требуемый объем оперативной памяти и дисковой памяти. В каждом конкретном случае в качестве критерия для выбора метода решения задачи принимают какой-либо из указанных критериев или некоторый интегральный критерий. 4. Разработка алгоритма решения задачи. На данном этапе устанавливается необходимая логическая последовательность вычислений с учетом выбранного метода решения задачи и других действий, с помощью которых будут получены результаты. 5. Написание программы на одном из имеющихся языков программирования (в нашем случае – на языке Паскаль). 6. Подготовка исходных данных, если в программе предполагается обработка больших массивов информации. 7. Ввод исходной программы с помощью редактора текстов в память ЭВМ с последующей записью на магнитный диск. 8. Трансляция исходной программы в машинные коды. 9. Отладка программы (путем запуска программы, остановки ее в контрольных точках и проверки содержимого ячеек памяти). 10.Тестирование программы (запуск программы с тестовыми наборами данных и сопоставление результатов с результатами, полученными другими способами). 11.Решение задачи на ЭВМ и обработка (применение) полученных результатов. Процедура решения любой задачи на ЭВМ характеризуется большей или меньшей степенью итеративности, зависящей от ряда как объективных, так и субъективных факторов: сложности решаемой задачи, наличия или отсутствия удобных инструментальных средств, квалификации программиста и других. Так, например, при обнаружении синтаксических ошибок в исходной программе при ее трансляции (этап 7) приходится вновь обратиться к редактору текстов (этап 6) для исправления ошибок, обнаруженных транслятором (компилятором — в случае использования языков высокого уровня). Если же при отладке программы (этап 8) или ее тестировании (этап 9) обнаружилась логическая ошибка (ошибка в алгоритме решения задачи), то приходится вновь заняться разработкой или корректировкой алгоритма (этап 3) или даже вернуться к пересмотру постановки задачи (этап 1) и ее математической формулировки (этап 2). На практических (лабораторных) занятиях большинство задач дается в математической формулировке, поэтому необходимость в выполнении этапов 1
5 и 2 отпадает и можно сразу приступать к разработке алгоритма решения задачи на ЭВМ. Понятие алгоритма и свойства алгоритма Одним из фундаментальных понятий информатики является понятие алгоритма. Сам термин "алгоритм" произошел от имени средневекового математика Мухаммеда аль-Хорезми (IX век), который был родом из Хорезма (в настоящее время находится на территории республики Узбекистан) и жил во "дворце мудрости" багдадского калифа. Аль-Хорезми также принадлежит честь ввода в научный обиход термина "алгебра". Дадим общее определение алгоритма. Итак, алгоритм – это конечный набор правил, позволяющих некоторому исполнителю чисто "механически" (т.е. совершенно не вникая в смысл совершаемых им действий) решать любую конкретную задачу из некоторого класса однотипных задач. Поскольку в нашем случае таким "бездумным" исполнителем является ЭВМ, то программа, которую она выполняет, как раз и является алгоритмом решения задачи (класса задач). Любой алгоритм обладает следующими тремя свойствами: • детерминированностью, означающей, что применение алгоритма к одним и тем же исходным данным должно приводить к одному и тому же результату; • массовостью, позволяющей получать результат при различных исходных данных; • результативностью, обеспечивающей получение результата через конечное число шагов. Существует несколько форм представления (описания) алгоритмов. Выделим среди них три наиболее важные. Это – запись алгоритма на естественном языке, на языке схем алгоритмов (блок-схемы) и на алгоритмическом языке (например, на языке программирования Паскаль). Более подробно эти способы описания алгоритмов рассмотрены ниже. Программа, записанная на языке Паскаль, представляет собой запись алгоритма решения некоторой задачи. Эта программа, записанная на человекоориентированном языке (таким безусловно является язык Паскаль), транслируется (переводится) специальной программой, называемой компилятором языка Паскаль, в объектный код, т.е. программу, записанную на машинноориентированном языке. Таким образом, фактически выполняется трансформация алгоритма из одной формы, понятной человеку, в другую форму, понятную компьютеру. Эту последнюю форму представления алгоритма, называемую выполнимой программой, и использует компьютер для получения необходимых результатов.
6 Различают алгоритмы линейной, разветвляющейся и циклической структуры, а также алгоритмы со структурой вложенных циклов. Алгоритмы решения сложных задач могут включать все перечисленные структуры, которые используются для реализации отдельных участков общего алгоритма. Способы описания алгоритмов Как уже отмечалось, наибольшее распространение для описания алгоритмов получили следующие три способа: • описание на естественном языке; • описание на языке схем алгоритмов (блок-схемы); • описание на алгоритмическом языке (например, на языке программирования Паскаль). Рассмотрим задачу вычисления действительных корней квадратного уравнения. Напоминаем, что квадратным уравнением называется уравнение, имеющее следующий вид: ax 2 + bx + c = 0, где b, c – любые действительные числа; а – также действительное число, отличное от 0. Составим алгоритм решения квадратного уравнения, используя все три способа описания алгоритмов. Запись алгоритма на естественном языке 1-й шаг: Ввести конкретные значения a, b, c. 2-й шаг: D присвоить значения выражения b2 − 4 ac (эта величина называется дискриминантом уравнения). 3-й шаг: Если D < 0, то действительных корней данное уравнение не имеет. Вывести сообщение "Действительных корней нет" и закончить работу. 4-й шаг: Если D ≥ 0, то найти корни уравнения x 1 и x 2 по следующим формулам: −b + D −b − D x1 = , x2 = . 2a 2a 5-й шаг: Напечатать полученные корни уравнения x1 и x2. Запись алгоритма с помощью блок-схем (языка схем алгоритмов) Блок-схема представляет алгоритм с помощью графических символов и соединяющих их линий (линий потока). Графические символы (элементы) блок-схем, их размеры, а также правила построения блок-схем определены го-
7 сударственными стандартами (ГОСТ 19.002-80 ЕСПД. Схема алгоритмов и программ. Правила выполнения; ГОСТ 19.003-80 ЕСПД. Схема алгоритмов и программ. Обозначения графические условные). Полный список графических символов, описанных в указанных стандартах, включает 42 элемента. Ниже в табл. 1 приведены некоторые символы языка схем алгоритмов, необходимые для записи алгоритма нахождения действительных корней квадратного уравнения. Символы (блоки) языка схем алгоритмов Таблица 1. Естественный язык
Язык алгоритмов
Начать выполнение алгоритма решения задачи.
Этот блок является отправной или стартовой точкой алгоритма.
Начало
Ввести значения для переменных a, b и c .
Вводятся исходные данные, необходимые для работы алгоритма.
a, b, c Переменной D присвоить значение выражения b 2 − 4ac . Если значение D меньше 0, то идти по стрелке “Да”; в противном случае – по стрелке “Нет”.
Напечатать значения переменных x1 и x2 . Перейти к следующему блоку алгоритма.
D = b2 - 4ac
Н ет
Да
D