Электронная версия курса лекций по дисциплине "Информатика", страница 3

5  В общем случае используемые в программе  подпрограммы, константы,  типы  переменных  и  переменные должны быть описаны (объявлены). Это делается либо непосредственно в программе в соответствующем  разделе  описаний,  либо  с помощью указания в предложении uses  имен моду­лей типа Unit, в которых  эти описания выполнены.  Исключением являются описания, выполненные в стандартном модуле System,  которые всегда доступны  программе. Так процедурами, описан­ными в этом модуле, и используемыми в программе являются: write, writeln, readln.

При описании  переменных (см. строку 3) должен быть указан их тип. Используются такие стандартные типы данных как геаl (действительный (синоним - вещественный) ), integer (целочисленный), char (символ). С помощью типа real, в отличие от типа integer, описываются переменные, при записи значений которых используются цифры после десятичной точки.

6  Следует уделять внимание размещению текста программы. Использование пробелов и отступов позволяет улучшить наглядность программы. Количество используемых строчек для записи каждого оператора и количество операторов в каждой строке не ограничивается и выбирается из соображений удобства чтения программы человеком. Однако нельзя разделять пробелами части одного идентификатора или размещать их на разных строках. Там, где можно по синтаксису языка поставить один пробел, там можно поставить произвольное количество пробелов.

7  Операторы отделяются друг от друга символом ";".

8  Для задания границ каждого блока программы служат слова begin и end. Для простых программ, в отличие от сложных, обычно достаточно  одной такой пары. Последнее слово end программы должно заканчиваться точкой.  После набора этой точки необходимо не забыть нажать на клавишу "Ввод".

9  Ввод и вывод значений переменных.

Пусть в  рассматриваемой  программе  вводятся   значения u=20.5 i=5. Тогда на экране пользователя появится (после завершения программы) следующий текст:

Укажите  исходные  данные:

напряжение  u(B)=20.5

ток i(A)=5.0

...

Программа завершена. Нажмите Enter

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

Исходные данные: u=20.5,B i=5.0,A

Результаты: r=4.1,Oм

Как видно из приведенного примера оператор вызова стан­дартной процедуры вывода writeln (сокр. от write line) обеспечи­вает вывод строки.    Т. е.  после того как будут напечатаны дан­ные,  указанные в скобках в списке параметров этой подпро­граммы, будет осуществлен переход курсора на  следующую  строку. Таким образом, при выполнении следующего оператора вызова процедуры вывода, вывод будет производиться уже на новую строку.

В случае использования процедуры write указанный переход курсора на новую строку не производится. При выполнении следующего оператора вызова процедуры вывода,  вывод будет осуществляться в ту же строку. Аналогичная разница существует между  операторами  вызова стандартных процедур ввода данных readln ("введи строку") и read.

При выводе данных могут указываться форматы в виде одного (":количество выводимых символов") или для действительных переменных двух (":общее количество выводимых символов: количество цифр после десятичной точки") чисел. Для того чтобы определить, как будет осуществляться вывод, необходимо зафик­сировать позиции, выделяемые в соответствии со вторым числом (в случае его наличия)  списка  форматов.  При  необходимости  правая часть  числа  с  десятичной  точкой усекается в соответст­вии со вторым числом списка форматов. Затем если общее коли­чество выводимых символов окажется меньше указанного с по­мощью формата вывода,  то недостающее до указанного количе­ства нужно  заполнить пробелами в левой части порции вывода. Если после этого количество символов, подлежащее выводу, бу­дет больше, чем указанное с помощью первого числа списка форматов, то формат будет увеличен автоматически.

10В общем случае оператор присваивания имеет вид V:=A, где V-переменная, A-выражение, :=  - операция присваивания, ко­торая заключается в том, что численное значение выражения A записывается в ячейку памяти, выделенную для хранения пере­менной V.

Пользователь должен  следить,  чтобы тип значения, получен­ного в результате выполнения выражения А, не конфликтовал с типом переменной V. Так, например, не должен иметь место опе­ратор присваивания,  в котором в левой части была бы перемен­ная типа integer, а в правой части результат типа real. Это может получиться, например, в случае, если одна целочисленная пере­менная делится (с помощью операции /) на другую целочислен­ную переменную, или хотя бы одна переменная в выражении A имеет действительный тип.

Вопрос 4

Некоторые стандартные функции (модуль System программной среды Borland Pascal)

C помощью вызова перечисленных ниже арифметических функций можно определить следующие значения: abs(r) - абсо­лютное значение r;  arctan(r) - arctg(r);  cos(r) - cos(r); exp(r) - экс­поненту r;  frac(r) - дробную часть аргумента r; int(r) - целую часть r; ln(r) - ln(r); pi - 3.14; sin(r) - sin(r); sqr(r) – r*r; sqrt(r) - корень квадратный из r.  Значения этих функций действительные.

Возведение в степень n переменной x>0 можно осуществить, используя стандартные функции, следующим образом: exp(n*ln(x)).

Используются функции преобразования: chr(x),имеющая  тип char и определяющая значение символа по его порядковому но­меру x; ord(x), определяющая порядковый номер, соответствую­щий значению х порядкового типа; round(r) и trunc(r), округляющие значение r различными способами: соответственно до ближай­шего целого или отбрасыванием дробной части. Последние три функции имеют целочисленный, а переменная r вещественный тип.

Вопрос 5

Операции над данными в языке Паскаль

Операции над действительными и целочисленными  данными: *,/,+,- 

 - соответственно умножение, деление, сложение и вычитание. Результат имеет действительный тип, если хотя бы один операнд выражения имеет действительный тип, а также для операции " /  ". В остальных случаях результат имеет целочисленный тип. Над целочисленными данными производят также операции: div - де­ления целочисленных операндов с целочисленным результатом, получаемым путем отбрасывания дробной части результата; mod - определения остатка от деления целочисленных операндов. Так (7)div(3)=2 , а (7)mod(3)=1.