Программирование алгоритмов линейной структуры




Лабораторная работа №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 представлен вариант блок-схемы алгоритма и программа.

 

Program Primer1; Var a,b,c,z:real; Begin Write ('Введите a и b'); Read (a, b); C:= sqr(a) + sqr(b); z:= sqrt (sqrt(c)) + sin(c) – 1/с; Write('Z=', z:10:3) End.    

Рисунок 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) 2)
3) 4)
5) 6)
7) 8)
9) 10)
11) 12)
13) 14)
15) 16)
17) 18)
19) 20)
21) 22)
23) 24)
25) 26)
27) 28)
29) 30)

 

1.6 Контрольные вопросы

1 Назовите основные этапы подготовки и решения задач на ПК?

2 Что такое алгоритмический язык?

3 Что такое алгоритм? Назовите основные свойства алгоритмов.

4 Что понимается под «блок-схемой»? Назовите элементы блок-схемы.

5 Опишите структуру простейшей Паскаль-программы.

6 Какие типы данных используются в Паскале?

7 Какой алгоритм называется линейным? Опишите оператор присваивания.

8 Каких правил следует придерживаться при составлении арифметических выражений?

9 Подумайте как можно представить в Паскале функции tg x, ctg x, lg x?

10 Какие операторы используются для ввода и вывода данных в Паскале?

11 Как осуществляется форматный и бесформатный выводы в Паскале?

12 Как осуществляется вывод с комментарием в Паскале?

 

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-26 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: