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




ИНФОРМАТИКА

ИЗДАТЕЛЬСТВО ТГТУ

Cодержание

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

2. Составление простейших вычислительных программ разветвленной структуры ….…………………………………………………………………….. 8

3. Составление простейших вычислительных программ циклической структуры …………..…………………………………………………………... 12

4. Обработка массивов …………....……………………………….…….. 19

5.Составление программ с использованием процедур и функций ……. 23

6.Файлы с последовательным и прямым доступом …...……………….. 27

 

Лабораторная работа № 1

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

 

Цель работы: Овладение практическими навыками разработки и программирования вычислительного процесса линейной структуры и навыками по отладке и тестированию программ.

Задание:

1.Вычислить значения переменных (в соответствии с вариантом задания) по заданным расчётным формулам и набором исходных данных.

2. Вывести на печать значение выводимых исходных данных и результаты вычислений, сопровождая вывод наименованиями выводимых переменных.

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

Алгоритм линейной структуры (следование). Блочные символы в этой структуре располагаются на схеме в том же порядке, в каком должны быть выполнены предписываемые ими действия. Такой порядок исполнения действий называется естественным.

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

Арифметическое выражение образуется из операндов и операций [2].

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

- сложение +;

- вычитание -;

- умножение *;

- деление /;

- остаток от деления mod;

- инкремент (увеличение на 1);

- декремент (уменьшение на 1).

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

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

- При записи произведения констант и переменных нельзя опускать знак умножения. Запись AB воспринимается ЭВМ как имя переменной AВ, а не произведение переменных A и В. Произведение A и В записывается как A*В.

- Не допускается запись двух следующих друг за другом знаков арифметических операций. Например, запись выражения A/-B неверна. Надо записать A/(-B).

- Аргумент арифметических функций всегда заключается в скобки (запись SIN X неверна, правильно - SIN(X)).

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

- При записи вещественных констант целую и дробную часть отделяет десятичная точка, а не запятая (2.132-правильно, 72,15 - неправильно).

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

-В ПАСКАЛЕ нет операции возведения в степень, при возведении в квадрат следует использовать умножение (Х*Х), а в остальных случаях пользоваться формулой , для вычисления которой в ПАСКАЛЕ есть стандартные функции EXP и LN.

Программа, написанная на ПАСКАЛЕ должна иметь следующую структуру:

заголовок программы;

раздел описания меток;

раздел описания констант;

раздел описания типов;

раздел описания переменных;

раздел описания процедур и функций;

BEGIN

оператор 1;

оператор 2;

..........

оператор N

END.

 

К операторам ввода-вывода в Паскале относятся Read; Readln; Write; Writeln.

Оператор ввода READ имеет вид:

 

READ(СП);,

где СП-список переменных, подлежащих вводу. Оператор READ производит ввод данных с клавиатуры через стандартный файл INPUT.

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

Например операторы

READ (A); READ (B); READ (C);

работают также как оператор

READ (A,B,C);

где переменные А -целого, В -вещественного, С -символьного типа.

Если требуется,чтобы А=2,В=0.125,С="*",то данные надо

набирать таким образом:

2_0.125_* <возвр.>

Оператор READLN в отличие от оператора READ после своего

выполнения автоматически осуществляет переход к следующей строке экрана.

Например, для ввода данных в соответствии с операторами

READLN(A); READLN(B); READLN(C);

Операторы вывода WRITE и WRITELN имеют вид:

WRITE (СП);

WRITELN (СП);

где СП - список вывода, который может содержать, помимо имен переменных, подлежащих выводу, символьные константы. Кроме того, при вводе данных можно указывать количество позиций, отводимых под вводимое значение. Для переменных целого или символьного типа после имени переменной ставится двоеточие и количество позиций, отводимых под ее значение.

Например оператор

WRITE("A=",A:3," C=",C:4);

выведет на экран

A=2 C=___*

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

Например

WRITE(B: 5: 3); выведет 0.125;

WRITE(B: 5: 2); выведет 0.13

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

Операторы WRITE,WRITELN производят вывод на экран дисплея через стандартный файл OUTPUT в том случае, если часть выходных данных требуется вывести не на экран, а на печатающее устройство, потребуется ввести в программу следующие изменения:

1) В заголовок программы, кроме имен файлов INPUT, OUTPUT

включить имя файла (например PRINT или любое другое имя), через

который будет производится вывод на печать.

2) В раздел описания переменных VAR включить описание:

PRINT:TEXT;(файл текстового типа)

3) Во всех операторах вывода на печать указать имя файла,

через который будет идти вывод на печать:

WRITE(PRINT,СП);

4) Перед первым оператором WRITE открыть файл PRINT опера-

тором

REWRITE(PRINT,"LP:");

Если одни и те же данные необходимо вывести на печать и на экран, то в программе должны остаться оба оператора:

WRITE(СП);

WRITE(PRINT,СП)

 

Основные стандартные арифметические функции.

Таблица 1

В задаче В Паскале
|x| ABS(X)
arctg x arctg(x)
a2 sqr(a)
sqrt(a)
lna ln(a)
pi
sinx sin(x)
ea exp(a)
xa exp(a*ln(x))
sin3x SQR(sin(x))* sin(x)
Дробная часть числа x FRAC(x)
Целая часть числа x INT(x)
Преобразование любого порядкового типа в целое ORD(x)
Округление вещественного числа x до ближайшего целого Round(x)
Получение целой части вещественного числа x Trunc(x)

 

Расчётные формулы

Таблица 2

Вариант задания Арифметическое выражение Значение исходных данных
  a= y=-1.220
  y= x=1.825
  p= x=0.335 y=0.025
  y= x=0.44
  y= a=1.5 b=15.5 x=-2.9
  q= a=16.5 b=3.4 x=0.61
  y= x=0.5
  y= a=1.1 b=0.04 x=0.2
  z= m=2 t=1.2 c=-1 b=0.7
  y= x=3.2
  z= a=10.2 x=2.2 c=0.5
  y= x=0.3
  y= x=0.5
  w= a=0.5 b=3.1 x=1.4
  y= x=1
  y= x=0.455

 

 

Порядок выполнения работы

1.Составить блок-схему алгоритма линейной структуры.

2.Составить программу для заданного алгоритма на языке Паскаль.

3.Ввести и отладить программу.

4.Выполнить расчёты по программе.

 

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

uses crt; {Подключается библиотека CRT}

var x,y:Real;

begin

ClrScr;{Производится очистка экрана}

WriteLn('Выполнил Поляков Д.Г., КТФ, гр. Р-11');

WriteLn('Введите аргумент вычисляемого выражения');

ReadLn(x); { Считывается вводимое число }

y:= (Sin(3*x) + Exp(1+x*x)) / (Exp((x+1)*Ln(2)) + 1 – Exp(5*x*x–1));

WriteLn('Выводится результат вычисляемого выражения');

WriteLn(y:4:5); { Форматный вывод }

ReadKey; { Задержка экрана }

end.

 

Содержание отчёта по лабораторной работе.

 

1.Цель лабораторной работы.

2.Задание

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

4.Блок-схема алгоритма программы.

5.Текст программы.

6.Результаты расчётов.

 

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

 

1 Какой порядок называется естественным порядком исполнения действий?

2 Из чего образуется арифметическое выражение?

3 Что является операндами арифметического выражения?

4 Арифметическая операция инкремент

5 Арифметическая операция декремент

6 На какие арифметические операции рекомендуется обращать особое внимание?

7 Как на Паскале происходит операция возведения в степень?

8 Структура программы на Паскале

9 Оператор ввода READ

10 Операторы вывода WRITE, WRITELN

Литература [2,3].

 

 


Лабораторная работа 2

 



Поделиться:




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

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


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