Автор работы: Пользователь скрыл имя, 16 Ноября 2010 в 19:34, Не определен
основы языка программирования
Если для вывода числа 7 будет выделено 3 позиции, то на экран монитора будет выведено 7, а не 007.
Если при выводе значения некоторой переменной выводимое число не будет помещаться в указанный формат, то вопреки указанному формату часть значения переменной, расположенной перед десятичной точкой, будет выведена на экран полностью. При этом число позиций справа от десятичной точки остается равным указанной в формате величине, а дробная часть, не укладывающаяся в заданный формат, округляется. Округление не изменяет самого значения переменной, а касается только процесса вывода этого значения.
Использование
форматного вывода позволяет решить
проблему корректного оформления различного
рода таблиц.
Линейный
вычислительный процесс
Линейным процессом – называется такой процесс, где каждое действие выполняется последовательно, одно за другим. Любой линейный процесс состоит из следующих действий: ввода данных, вычисления по одной или нескольким формулам, печати результата.
Пример:
Вычислить среднее
PROGRAM
SREDNIE;
Var
a,
b : real;
SR
: real;
SG : real;
BEGIN
writeln
(‘введите значения переменных’);
readln
(a, b);
SR
: = (a + b)/2;
SG : = sqrt(a*b);
writeln (‘среднее арифметическое равно’, SR:8:2);
writeln (‘среднее геометрическое равно’, SG:8:2);
END.
Операторные
скобки
В
Паскале под «операторными скобками»
понимают два служебных слова: Begin (открывающаяся
скобка) и End (закрывающаяся скобка).
Составной
оператор
Составной оператор – это последовательность произвольных операторов программы заключенная в операторные скобки.
На характер операторов, входящих в составной оператор, не накладывается никаких ограничений. Среди них могут быть и другие составные операторы языка, допускается произвольная глубина вложения составных операторов. Фактически весь раздел операторов представляет собой один составной оператор.
BEGIN {начало раздела операторов}
Begin
Begin
End
End
End. {конец программы}
Во
избежание ошибок каждую пару “Begin
– End” обычно пишут с одной позиции.
Разветвляющиеся
вычислительные процессы
Разветвляющийся процесс – это такой процесс, где после проверки некоторого логического условия, вычисление идет либо по ветви «да» либо по ветви «нет».
Пример:
Вычислить
f = 3sin2x + a, x>0
3a2
+ bx, x<0
a = -2,25
b
= 4,8.
PROGRAM RAZVETV;
Var
a, b, x : real;
f : real;
BEGIN
a : = -2.25;
b : = 4.8;
write (‘введите значение переменной x’);
readln (x);
IF x>0 THEN F : = 3*SQR (sin(x)) + A
ELSE
F : = 3*A*A + B*X;
witeln (‘F =’,F:7:2);
END.
Условный
оператор
Для реализации проверки условия необходим оператор, который выберет то или иное действие. Такой оператор называется оператором условного перехода и его можно записать следующими способами.
IF <условие> THEN <оператор “да”>
ELSE <оператор “нет”>;
Каждое слово ELSE пишется под своим словом IF. Для большей наглядности текста программы операторы, следующие за словами THEN и ELSE можно писать на следующей строке.
Перед
словом ELSE нельзя ставить точку с запятой.
Допускает опускать служебное слово ELSE . Оператор в этом случае выглядит следующим образом:
IF <условие> THEN
<оператор 2>;
<оператор
3>;
В данном варианте, если условие истинно, то программа уходит на оператор 1, а затем продолжает выполнять последовательности операторов 2,3 и т.д.
Если
условие ложно, сразу выполняется
оператор 2, затем 3 и т.д.
Например: Вычислить значение функции
x2, если x>0
f(x) = 0, если x=0
-x2, если x<0
Фрагмент решения этой задачи можно записать как:
IF x>0 THEN
y = x*x;
IF x = 0 THEN
y = 0;
IF x<0 THEN
y = -(x*x);
При решении различных задач очень часто необходимо выполнять группу операторов либо за оператором THEN, либо за оператором ELSE, либо и в том и в другом случае.
Для
того, чтобы записать группу действий
необходимо использовать составной оператор
begin – end (операторные скобки).
BEGIN
оператор 1;
оператор 2;
…………..
оператор n;
END
ELSE
оператор;
ELSE
BEGIN
оператор 1;
оператор 2;
…………..
оператор n;
END;
BEGIN
оператор 2;
оператор n;
END
ELSE
BEGIN
оператор n;
END;
Между словами BEGIN и END стоят операторы отделенные между собой точкой с запятой.
Перед словом ELSE точки с запятой быть не должно, так как это один оператор
IF…THEN…ELSE.
Вложенные
операторы IF
Рассмотрим пример:
Определить, попадает ли число x в интервал от 7 до 21.
В данном примере необходимо проверить два условия и дать положительный ответ в том случае, когда они оба будут выполнены. Это можно записать следующим образом:
IF x>7 THEN
IF x<21 THEN
writeln (‘x попадает в интервал’)
ELSE writeln (‘x>=21’)
ELSE
writeln (‘x<=7’);
Вложенность
операторов IF не ограничена.
Ветвление
по многим направлениям
Для замены конструкций из вложенных операторов IF…THEN в Паскаль-программах часто используются операторы
Данная конструкция является идеальной для обработки ситуаций с несколькими исходами, когда условие может принимать более двух значений. Примером может служить система учета успеваемости студентов в ВУЗе. Здесь имеется по крайней мере шесть альтернатив (1, 2, …, 5, нет отметки).
Фрагмент программы с использованием данной конструкции может выглядеть следующим образом:
CASE <порядковая переменная> OF
1: BEGIN
оператор 1;
………….
оператор n;
END;
2: BEGIN
оператор 1;
………….
оператор n;
END;
…………………
n: BEGIN
оператор 1;
………….
оператор n;
END;
ELSE
BEGIN
оператор 1;
………….
оператор n;
END;
В тексте одного фрагмента программы перед ELSE стоит точка с запятой, т.к. конструкция CASE…OF подразумевает, что за ней стоит символ (;).
Значение <порядковой переменной>, которая при выполнении программы определяет ветвь в операторе CASE…OF, подлежащую выполнению, должна иметь некоторый тип. Она может принадлежать любому из целочисленных типов, каждый из которых позволяет организовать перечисления некоторых объектов. Действительные типы переменных не относятся к классу порядковых.