Автор: Пользователь скрыл имя, 13 Ноября 2011 в 11:18, реферат
Для подготовки информации к обработке на ПЭВМ необходимо выполнить следующие этапы:
Постановка задачи.
Формализация поставленной задачи.
Выбор численного метода и представление решения в виде структурной схемы(блок-схемы) (алгоритмизация).
Оформление задачи на входном языке ПЭВМ (программирование).
Ввод и отладка программы.
Выполнение программы и анализ полученных результатов.
write (‘x=’,
x:3, ‘ y=’, y:8:3);
На экран дисплея выводятся: значения переменной целого типа X, для которой выделяется 3 позиции, переменной Y вещественного типа, занимает 8 позиций. При атом под дробную часть переменной Y отводится 3 позиции; у переменной Х выводится только целая часть. Перед числовыми значениями переменных выводятся поясняющие их информации, состоящие из имен переменных.
Таким образом, как следует из примера, формат вывода переменных целого типа имеет вид :а, переменных вещественного типа :а:р, где а - общее количество позиций, отводимых под число, из них р - позиций отводится под дробную часть. В общее количество позиций а включаются позиции для знака числа и десятичное точки. Разделителями в формате является символ ":". Если в операторе вывода формат не указан, то вывод будет осуществляться в нормализованной форме представления вещественного числа. Выводимый текст поясняющей информации заключается в апострофы.
При использовании оператора write переход на следующую строку произойдет только в случае заполнения текущей строки. Если требуется организовать переход от неполной текущей строки к началу следующей строки, используют оператор writeln. Например, при выполнении операторов вывода:
Write (‘ Кафедра вычислительной техники и’);
Write (‘ инженерной кибернетики’);
Получим на экране:
Кафедра вычислительной техники и инженерной кибернетики
При выполнении операторов
Writeln (‘ Кафедра вычислительной техники и’);
Write (‘ инженерной кибернетики’);
получим:
Кафедра вычислительной техники и
Применение оператора writeln без операндов приводит к переходу на начало новой строки.
При необходимости вывода данных на принтер программу следует организовать следующим образом:
program имя;
uses printer;
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - -
write (lst, <список вывода>);
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - -
При этом печатающее устройство должно быть готовым к работе (данные на экран дисплея выводиться не будут).
Нередко,
особенно при отладке программы,
возникает необходимость выводить
данные при одном запуске программы на
экран, при другом - на печатающее устройство
или в файл. Тогда полезно вывод организовывать
с указанием соответствующего устройства
вывода, например:
Var
Dev : text;
Каnаl : string;
Begin
- - - - - - - - - - - - - - - - - - - - - - - - - -
write ('канал вывода результатов='):
read (Каnа1);
assign (Dev, Kanal);
rewrite (Dev);
- - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
write (Dev, <список вывода>);
close (Dev);
End.
На
запрос ‘канал вывода результатов=’
следует указать
Con – для вывода на монитор;
Prn – для вывода на печатающее устройство;
Имя файла – для вывода результатов отчета.
По умолчанию текст будет выводиться на экран дисплея.
Оператор безусловного перехода /goto/
Оператор безусловного перехода состоит из зарезервированного слова goto /перейти/ и следующего за ними идентификатора метки. Оператор goto служит для безусловной передачи управления на тот оператор программы, который обозначен /помечен/ данной меткой. При использовании оператора goto необходимо соблюдать следующие правила:
Оператор безусловного перехода имеет вид
goto M;,
где М – метка оператора, которому необходимо передать управление.
Пример использования оператора безусловного перехода:
Program primer;
Label 100;
- - - - - - - - - - - - - - - - - -
Begin
- - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - -
goto 100;
- - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - -
100: y := x+exp(1.25*ln(a));
- - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - -
End.
Условные операторы
Условный оператор позволяет выполнить один из входящих в его состав
операторов в зависимости от выполнения какого либо условия.
Оператор IF
Оператор IF определяет, что тот или иной оператор должен выполняться лишь в том случае, если справедливо заданное условие /то есть соответствующее булевское выражение принимает значение true /истина/.
Если условие не выполняется, то либо никаких действий не производится, либо выполняется оператор, записанный вслед за словом else /иначе/. Отметим, что перед словом else не нужно ставить точку с запятой.
Некоторую двусмысленность, возникающую при интерпретации синтаксических конструкций, следующего вида:
if expr1 then
if expr2 then
smit1
else
smit2;,
где expr - выржение, smit –оператор,
можно устранить, оформив данную конструкцию следующим образом:
if expr1 then
begin
if expr2 then
smit
else
smit2
end.
Предложение else оператора if-относится обычно к последнему оператору if, у которого нет предложения else.
Пример использования оператора IF. Определить наибольшее значение из переменных a, b, c:
if a>b then if a>c then max := a else max := c else if c>b then max := c else max := b; |
Оператор выбора /Case/
Оператор выполняет одну из нескольких альтернативных ветвей программы в зависимости от значения некоторого выражения, называемого индексом выбора. Оператор имеет вид
Case <индекс выбора> of
метки 1: Si;
- - - - - - - - -
метки n: Sn;
end;,
где Case (выбор), of (из), end – служебное слово оператора;
индекс выбора – выражение любого скалярного типа, кроме вещественного;
S – простой или составной исполнимый оператор;
i – список значений индекса выбора.
Метка выбора не описывается в разделе описания. На нее нельзя ссылаться в операторе goto.
Оператор выбора выбирает для исполнения тот оператор Si, одна из меток которого равна текущему значению индекса выбора.
Пример. Определить значение У в зависимости от значения текущей переменной К:
Sin(x), при К = 1, 8
У = Cos(x), при К = 3
Ln(x), при К = 4, 6
Фрагмент программы принимает вид
Case K of 1, 8 : y:=sin(x);
3 : y:=cos(x);
4, 6 : y:=ln(x);
end;
Тип индекса выбора и тип меток должны быть одинаковыми.
Операторы повтора FOR, WHILE и REPEAT
Операторы повтора указывают на то, что определенную группу операторов следует выполнить несколько раз. Если количество повторных выполнений заданной группы операторов известно заранее, то в такой ситуации вполне подходит оператор FOR.
Если количество повторов неизвестно, то следует использовать операторы while или repeat.
Оператор for указывает на то, что составной оператор следует выполнять повторно до тех пор, пока не будут перебраны все значения управляющей переменой, задаваемые прогрессией. Прогрессия может быть возрастающей: to или убывающей: downto. Вычисления проводятся до тех пор, пока управляющая не примет конечное значение /задаваемое в операторе/.
Управляющая переменная, начальное и конечное значение должны быть одного и того же типа. Допускаются все простые типы, то есть все скалярные типы, за исключением вещественного.
Примеры:
for i := i1 to i2 do S; цикл может не выполняться, если i1>i2
for i := i1 dowto i2 do S; цикл может не выполняться, если i1<i2.
Пример. Вычислить сумму элементов вектора Х.
|
Program
summa;
Var S: Real; i, n: Integer; x: array[1..100] of real; begin write(‘n=’); readln(n); for i:=1 to n do begin write (‘x[‘,i:2, ‘]=’); readln (x[i]); end; S:=0.0; for i:=1 to n do S:=S+x[i]; writeln (‘сумма=’, S); End. |
Информация о работе Основы технологии разработки программ. Этапы разработки программ