Программирование алгоритмов линейной структуры
Создайте базу данных для заданной предметной области (варианты заданий выдаются преподавателем). База данных должна содержать: - не менее 2-х таблиц, каждая из которых содержит не менее 10 записей; - межтабличные связи; - три простые запроса на выборку с различными условиями отбора и один итоговый запрос; - простые формы для ввода данных по исходным таблицам и одну сложную форму; - отчеты созданные на базе разработанных запросов, включая итоговый отчет. Лабораторная работа №6. Алгоритмы Программирование алгоритмов линейной структуры Цель работы – ознакомление с правилами построения алгоритмов, структурой программы на языке Паскаль, правилами записи арифметических выражений, особенностями программирования алгоритмов линейной структуры, а также использования оператора присваивания, процедур ввода и вывода данных.
1.1 Алгоритм и блок-схема При решении задач на ЭВМ производится подготовительная работа, включающая в себя следующие этапы: математическая формулировка задачи, разработка алгоритма ее решения, запись программы и подготовка исходных данных. Если математическая формулировка задачи есть, то можно сразу начать с разработки алгоритма. Алгоритм – это формальное описание способа решения задачи путем разбиения ее на конечную по времени последовательность понятных исполнителю действий (этапов). При этом должны быть четко указаны как содержание каждого этапа, так и порядок выполнения этапов. Отдельный этап алгоритма либо представляет собой другую, более простую задачу, алгоритм которой разработан ранее, либо должен быть достаточно простым и понятным без пояснений. Наиболее распространенный вид алгоритма – графический выполняется в виде блок-схемы – совокупности геометрических фигур (блоков), связанных между собой при помощи стрелок. Все формулы в блок-схеме записываются на языке математики, а не конкретном языке программирования. В таблице А1 приведены наиболее используемые виды блоков. Блок-схемы выполняются в соответствии с ГОСТ 19.701-90, ЕСПД, но для упрощения записи их можно строго не соблюдать. Любой алгоритм синтезируют из типовых элементов: алгоритмов линейной, разветвляющейся и циклической структуры. 1.2 Особенности языка Турбо Паскаль и структура программы К основным особенностям Турбо Паскаль можно отнести довольно строгие требования к структуре программы. Программа на языке Паскаль записывается в виде последовательности символов, к числу которых относятся латинские буквы, арабские цифры, знаки препинания, знаки операций. Для обозначения исходных данных и результатов вычислений (промежуточных и итоговых) употребляются переменные, имена (идентификаторы) которых могут быть не только буквами - a, b, X, Y и т.д., но и последовательностью символов вида x1, time, alfa2 и т.д., которые состоят из букв и цифр и начинаются с буквы. Ключевые слова – это множество имен, которые используются в языке для написания операторов и других конструкций. Имена, применяемые пользователем для обозначения конструкция не должны совпадать с ключевыми словами. Список зарезервированных слов и перечень операций языка приведены в таблицах В1 и В2. Соответствующее исходное данное или результат вычисления называется значением переменной. Константы отличаются от переменной тем, что их значения не меняются в ходе выполнения программы. Числа записываются в десятичной системе, вместо запятой ставится точка: 0, -19, 0.27, 3.1415 и т.д. К основным типам данных языка Паскаль относятся: вещественный (Real), целочисленный (Integer), логический (Boolean) и литерный (Char). Целые числа и числа с плавающей точкой могут быть представлены в различных формах (таблица В3). Структура простейшей программы на Паскале приведена в таблице С1. В описательной части задается имя программы, все метки и константы, которые будут использоваться в программе, а также идентификаторы и тип переменных. Главной частью программы является ее исполнительная часть, то есть последовательность инструкций, которую должен выполнить компьютер. Эти инструкции принято называть операторами. Более сложные арифметические выражения строятся из операндов (констант и переменных), соединенных знаками арифметических операций. Кроме того, в выражении могут быть использованы круглые скобки и функции (таблица С2). Результатом расчета арифметического выражения является число. При составлении арифметических выражений должны соблюдаться следующие правила: - два знака арифметических операций не должны стоять рядом; - при вычислении значений арифметических выражений действуют правила старшинства операций: указатели функций; умножение и деление слева направо; сложение и вычитание слева направо; круглые скобки изменяют этот естественный порядок, то есть старшим действием является действие в скобках.
1.3 Алгоритмы линейной структуры и используемые в них операторы Алгоритм называется линейным, если все операции в нем выполняются последовательно друг за другом. Оператор присваивания позволяет изменить текущее значение переменной. Вид оператора приведен в таблице D1. Вычисляется выражение, стоящее справа от знака " := " ("присвоить"), полученный результат присваивается переменной, стоящей в левой части оператора. При этом старое значение, хранившееся в ней, безвозвратно пропадает. Например, Р:= 5; (в переменную Р запишется число 5). Для ввода данных и вывода результатов используются процедуры ввода и вывода (таблица D1). Существуют форматный и бесформатный способы вывода.
1.4 Пример алгоритма и программы линейной структуры Даны переменные a и b. Найти При составлении алгоритма необходимо выделить однотипные выражения (здесь a2+b2), которые достаточно посчитать один раз, а затем использовать результат вычислений. Желательно разбить сложные вычисления одного выражения на более простые (например, отдельно вычислить числитель и знаменатель дроби) для того, чтобы в алгоритме не было громоздких формул. На рисунке 1.1 представлен вариант блок-схемы алгоритма и программа.
Рисунок 1.1 - Блок-схема алгоритма и программа линейной структуры
Вычисление значения Z производится в следующей последовательности: 1) в блоке 2 вводятся исходные данные – значения a и b; 2) в блоке 3 вычисляется арифметическое выражение a2+b2 и результат запоминается в переменной c; 3) в блоках 4-6 вычисляются первое слагаемое, числитель и знаменатель второго слагаемого; 4) в блоке 7 производится окончательный расчет Z; 5) в блоке 8 выводятся исходные данные и результат. В программе действия блоков 3-7 записываются операторами присваивания, блоки 2 и 8 реализуются операторами ввода/вывода. Ввод осуществляется с запросом, поэтому сначала записан оператор Write, а затем Read. Вывод осуществляется форматным способом. Все переменные, участвующие в программе, объявляются в разделе Var ее описательной части.
1.5 Варианты заданий Составить блок-схему и программу вычисления значений функции при заданных значениях аргумента.
1.6 Контрольные вопросы 1 Назовите основные этапы подготовки и решения задач на ПК? 2 Что такое алгоритмический язык? 3 Что такое алгоритм? Назовите основные свойства алгоритмов. 4 Что понимается под «блок-схемой»? Назовите элементы блок-схемы. 5 Опишите структуру простейшей Паскаль-программы. 6 Какие типы данных используются в Паскале? 7 Какой алгоритм называется линейным? Опишите оператор присваивания. 8 Каких правил следует придерживаться при составлении арифметических выражений? 9 Подумайте как можно представить в Паскале функции tg x, ctg x, lg x? 10 Какие операторы используются для ввода и вывода данных в Паскале? 11 Как осуществляется форматный и бесформатный выводы в Паскале? 12 Как осуществляется вывод с комментарием в Паскале?
|