Учебное пособие Новосибирск 2001


страница4/10
lit.na5bal.ru > Документы > Учебное пособие
1   2   3   4   5   6   7   8   9   10
Глава 4. Линейные вычислительные процессы
Линейный вычислительный процесс представляет собой последовательность действий, выполняемых один за другим. Основу программы линейного вычислительного процесса составляют оператор присваивания и операторы ввода-вывода данных.

4.1. Оператор присваивания

Оператор присваивания служит для вычисления выражения и записи результата в память компьютера.

Общий вид записи оператора:

<переменная> : = <выражение>;

Знак : = читается как “присвоить”. Конец любого оператора в Турбо Паскале фиксируется точкой с запятой.

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

k : = k+1;

текущее значение переменной k увеличится на 1.

При записи оператора присваивания необходимо строго следить за типами переменной и выражения:

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

m : = 20 + 15 DIV 4;

вещественной переменной m будет присвоено значение 23.0;

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

Var

a, b, c: real;

n: integer;

Тогда записать оператор присваивания в виде n := ab/c нельзя. В этом случае надо воспользоваться функцией TRUNC.

n := trunc(ab/c);

Примеры использования оператора присваивания

1. Записать оператор присваивания, который позволяет вычислить расстояние между двумя точками с координатами (x1, y1) и (x2, y2).

Ответ: d := sqrt(sqr(x1 - x2) + sqr(y1 - y2));

2. Записать последовательность операторов присваивания, обеспечивающих обмен значениями переменных x и y в памяти компьютера.

Ответ: c := x;

x := y;

y := c;

4.2. Операторы ввода – вывода

Операторы ввода – вывода данных служат для обмена информацией между внутренней памятью компьютера и внешними устройствами (монитор, клавиатура, принтер, накопители на жестких и гибких магнитных дисках и др.)

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

Операторы ввода исходных данных с клавиатуры

Общий вид записи операторов:

READ(<список переменных>);

READLN(<список переменных>);

Переменные в списке перечисляются через запятую.

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

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

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

Пример. Пусть в задаче определены следующие исходные данные: a = 4; x = 3,8; y = 1,2104 ; k = 5; m = 74.

Операторы ввода

read(a, x,y);

read(k,m);

вызывают чтение данных с клавиатуры, набранных следующим образом:

4 3.8 1.2E4

5 74 .

Операторы вывода данных на экран

Общий вид записи операторов:

WRITE(<список выражений>);

WRITELN(<список выражений>);

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

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

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

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

writeln(‘Выходные данные’);

writeln(‘К =’, 8+5, ‘ y =’, 7/10);

выводят на экран результаты в следующем виде:

Выходные данные

K =13 y =7.0000000000E –01

Управление выводом данных

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

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

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

б) точность представления вещественного числа, определяющая число позиций в дробной части.

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

Для целых чисел используется только формат ширины поля.

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

Например, при записи оператора

writeln(‘K =’, 8+5:3, ‘ y =’, 7/10:5:1);

результаты отображаются на экране в следующем виде:

K = 13 y = 0.7

В приведенном примере форматы 3 и 5 задают ширину поля, формат 1 – точность выводимого числа.

Вывод данных на печать

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

USES PRINTER;

Файл LST является нестандартным, поэтому его имя должно быть непосредственно указано в операторе вывода.

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

writeln(LST, ‘K =’, 8+5:3, ‘ y =’, 7/10:5:1);

выведет результаты на печать в том же виде, что и на экран монитора.

4.3. Структура основной программы

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

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

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

Общий вид основной программы
Program <имя>; Заголовок программы

Uses Printer; Вызов модуля

Var

<переменная>,…,<переменная>: <тип>; Раздел описания

…………………………………………… переменных

<переменная>,…,<переменная>: <тип>;
Begin

<оператор>; Раздел

…………… операторов

<оператор>;

End.
Предложение Uses Printer может отсутствовать, если не требуется вывод данных на печать.

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

Пример линейной программы

Составить программу вычисления площади треугольника по формуле:

, где

- полупериметр;

– стороны треугольника.

Исходные данные: .
Program LVP;

Uses Printrer;

Var

a, b, c, p, S: real;

Begin

writeln(‘Введите исходные данные’);

read(a, b, c);

p := (a + b + c) / 2;

S := sqrt(p (p - a) (p - b) (p - c));

{Вывод на экран}

writeln(‘Площадь треугольника S =’, S:5:2);

{Вывод на печать}

writeln(LST, ‘Площадь треугольника S =’, S:5:2);

End.
При выполнении оператора READ программа останавливается и переходит в режим ожидания набора исходных данных с клавиатуры. В этот момент надо набрать на клавиатуре:

1 2 0.5

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

Площадь треугольника S = 3.87

4.4. Контрольные задания

1. Записать в Турбо Паскале операторы присваивания

№ варианта

Математическая запись

1


2


3



4


5


6


7


8



9


10


11



12



13



14



15




16






  1. Выполнить оператор присваивания

№ вар

Запись оператора в Турбо

Паскале

Исх. данные

Тип переменных

1

Y:= 3 * 7 DIV 2 MOD 7 / 3;

-

y-веществ.

2

a:= exp(trunc(m + 1/2)*ln(x+2.5E-2));

x=8.9

m=1

a,x-веществ.

m-целая

3

k:= n + trunc (m + b);

n=-6

b=0.8

m=2

k,n,m-целые

b- веществ.

4

m:= a * a * c + trunc(b);

a=45

b=0.8

c=2

a,c-целые

b,m- веществ.

5

k:= exp(trunc(x * b) * ln(y));

x=1.2

b=2

y= -4

k,x- веществ.

b,y-целые

6

d:= -a MOD b +a DIV d * c;

a=5

b=2

c=3

a,b,c-целые

d- веществ.

7

i:= trunc(k / n * n + a);

k=99

n=100

a=5.871

i,k,n-целые

a- веществ.

8

f:= a + trunc(b/c) - 64/sqr(a) + 1;

a=4

b=0.8

c=2

f,b- веществ.

a,c-целые

9

b:= 4*d*1E-2/cos(4*d-c) + frac(57.12);

c=12

d=3

c,d-целые

b- веществ.

10

k:= a * b / c + frac(12.7E-1);

a=6

b=2

c=4

a,b,c-целые

k1-веществ.

11

b:= exp(trunc(n/m) * ln(a+sqrt(a/m)));

a=4

m=3

n=2

a,n,m-целые

b-веществ.

12

m:= trunc(a*(b DIV c) + 0.57E1);

a=6

b=1

c=4

m,a,b,c-целые

13

a:= exp(5 DIV 2 * ln(4)) - 2;

-

a-веществ.

14

z:=(a+sqrt(b+1)+24E-1*c)* trunc(b/4);

a=4

b=1

c=10

a,b,c-целые

z-веществ.

15

p:= trunc(abs(b-a)) DIV c – d MOD10;

a=4.8

b=0.8

c=2

d=34

p,a,b-веществ.

c,d-целые

16

a:=19 DIV 4 * 4 + trunc(5.4) MOD 4;

-

a-целая


1   2   3   4   5   6   7   8   9   10

Похожие:

Учебное пособие Новосибирск 2001 iconУчебное пособие географического практикума для обучающихся профильных классов Новокузнецк
Учебное пособие предназначено для обучающихся общеобразовательных и инновационных школ с углубленным изучением географии

Учебное пособие Новосибирск 2001 iconУчебное пособие Рекомендовано умо вузов России по образованию в области социальной работы
...

Учебное пособие Новосибирск 2001 iconУчебное пособие (для студентов) Тема: «Приемное отделение больницы»
...

Учебное пособие Новосибирск 2001 iconУчебное пособие включает программу для дошкольных образовательных...
Л18 Авдеева Н. Н., Князева О. Л, Стеркина Р. Б безопасность: Учебное пособие по основам безопасности жизнедеятельности детей старшего...

Учебное пособие Новосибирск 2001 iconМеталлы подгрупп
Щая химия в формулах, определениях, схемах. Справочное руководство. Под ред. В. Ф. Тикавого. Минск: Университетское, 1987; Глинка...

Учебное пособие Новосибирск 2001 iconКураков Л. П., Тимирясов В. Г., Кураков В. Л. К 93 Современные банковские...
К 93 Современные банковские системы: Учебное пособие. — 3-е изд., перераб и доп. — М.: Гелиос арв, 2000. — 320 с

Учебное пособие Новосибирск 2001 iconУчебное пособие для самоподготовки к практическим занятиям по нейрохирургии...
Учебное пособие предназначено для унификации требований к знаниям и умениям студентов при проведении практических занятий по нейрохирургии,...

Учебное пособие Новосибирск 2001 iconУчебное пособие для самоподготовки к практическим занятиям и самостоятельной работы
Учебное пособие для самоподготовки к практическим занятиям и самостоятельной работы студентов 4 курса педиатрического факультета...

Учебное пособие Новосибирск 2001 iconУчебное пособие для самоподготовки к практическим занятиям и самостоятельной работы
Учебное пособие для самоподготовки к практическим занятиям и самостоятельной работы студентов 6 курса педиатрического факультета...

Учебное пособие Новосибирск 2001 iconУчебное пособие для студентов Специальность: 09. 02. 03 Программирование в компьютерных системах
Химия. Самостоятельная внеаудиторная работа. Учебное пособие для студентов. Специальность: 09. 02. 03 Программирование в компьютерных...


Литература




При копировании материала укажите ссылку © 2000-2017
контакты
lit.na5bal.ru
..На главную