Программирование линейных алгоритмов — КиберПедия 

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

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

Программирование линейных алгоритмов

2017-11-17 387
Программирование линейных алгоритмов 0.00 из 5.00 0 оценок
Заказать работу

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

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

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

Не забывайте, операторы отделяются друг от друга точкой с запятой!

1.3.1 Операторы языка программирования Pascal

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

Оператор присваивания. Формат оператора:

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

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

Тип выражения в правой части оператора присваивания и переменной в левой его части должны быть совместимы по типу. Например, недопустимо присваивать вещественное число переменной целого или символьного типа.

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

Пример 1. Соответствие и несовместимость типов данных в выражениях с оператором присваивания.

Program types;

Var x: real;

n: integer;

ch: char;

st: string;

Begin

n:=5;

x:=n; {правильно, вещественной переменной присваивается целое

значение}

n:=3.4; {ошибка, целой переменной присваивается вещественное

значение}

n:=4/2; {ошибка, результат операции деления всегда

вещественного типа}

n:=cos(x); {ошибка, результатом вычисления функции косинус

является вещественное число}

ch:=’a’;

st:=ch; {правильно, строковой переменной присваивается

символьное значение}

ch:=’Pascal’; {ошибка, символьной переменной присваивается

строковое значение}

n:=ch; {ошибка, целой переменной присваивается символьное

значение}

End.

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

read(список переменных, перечисленных через запятую)

readln(список переменных, перечисленных через запятую)

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

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

Для вывода информации (сообщений или результатов работы программы) используют обращение к процедурам:

write(список переменных, констант, выражений через запятую)

writeln(список переменных, констант, выражений через запятую)

Например, при обращении к процедуре

writeln('x=',x,' sin x =',sin(x))

выводятся последовательно строковая константа из двух символов x= (без кавычек и апострофов), значение переменной x, строковая константа sin x = (без кавычек и апострофов, первый символ пробел) и вычисленное значение выражения sin(x).

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

Примечание − Вызов процедуры writeln без параметров используется для перехода на новую строку или для пропуска строки.

Процедуры write и writeln предоставляют возможность форматирования выходных данных, т. е. представления результатов в удобном для пользователя виде (F-формат, формат с фиксированной точкой). Минимальное количество позиций, которое должно занимать при выводе значение целого или строкового типа указывается форматом:n, например:

writeln(k:5)– для отображения переменной k целого или строкового типа при выводе выделяется 5 позиций;

writeln(a,' ':3,b)– значения переменных a и b при выводе разделяются тремя пробелами.

Количество позиций, отводимое при выводе для вещественного числа, указывается форматом:n:m, где n − общее число позиций, m − число позиций для дробной части, например:

writeln(y:6:2) − для отображения вещественной переменной у при выводе отводится 6 позиций, из них 2 − после десятичной точки, причем одну позицию занимает символ точка, т. е. значение y = 23.17445 будет выведено как 23.17 с пробелом впереди числа.

Форматирование результатов не является обязательным. Но тогда для данных целого типа при выводе выделяется 15 позиций, а для данных вещественного типа − 18 позиций, что часто бывает чрезмерным. При этом вещественные числа представляются в E-формате (другими словами, в экспоненциальной форме, формате с плавающей точкой, в виде мантиссы и порядка), например:

−3.456000000E+02

Такие числа иногда трудны для восприятия и могут сливаться друг с другом, что является недочетом, иногда приводящим к неправильному толкованию результата. Поэтому рекомендуется не только форматировать результаты при выводе, но и отделять значения выводимых переменных и выражений пробелами. Например, при выводе значения переменной p = 2,74 и выражения y, зависящего от p (получено значение y = 16,570824), есть несколько способов, представленных в таблице 6.

Таблица 6 − Форматирование выходных данных в языке Pascal

Фрагмент кода Вывод на экран (в файл)
writeln(p,y) 2.7400000000E+00 1.6570824E+01
write('p=',p:5:2,'y=',y:8:4) p= 2.74y= 16.5708
write('p=',p:4:2,' y=',y:6:4) p=2.74 y=16.5708

Составной оператор объединяет в одно целое группу операторов, которые после этого могут считаться одним оператором. Свое применение он находит в структурированных операторах ветвления и цикла. Составной оператор начинается зарезервированным словом begin, затем следуют операторы, перечисленные через точку с запятой, и оканчивается зарезервированным словом end.

Пара служебных (ключевых) слов begin и end называется операторными скобками.

Составной оператор может включать другой составной оператор, причем следует помнить о правильном вложении пар операторных скобок, например:

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

Формат оператора безусловного перехода:

goto < метка >

Метку можно установить перед любым оператором основной программы (кроме операторов в составе составного), отделив её двоеточием:

< метка >: < оператор >

В качестве метки можно использовать как имя, предложенное пользователем, так и число от 0 до 9999. Все метки, встречающиеся в программе, надо предварительно указать в разделе описаний после зарезервированного слова Label (см. структуру простейшей программы на языке Pascal):

Label <список меток>;

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


Поделиться с друзьями:

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...

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

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

Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.018 с.