Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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




11)

9)

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

PROGRAM Имя_Программы;
USES
Список используемых библиотек (модулей);
LABEL
Список меток в основном блоке программы;
CONST
Определение констант;
TYPE
Описание типов;
VAR
Определение глобальных переменных программы;

ОПИСАНИЕ ПРОЦЕДУР;

ОПИСАНИЕ ФУНКЦИЙ;

BEGIN
Основной блок программы (операторы)
END.

Таким образом, программа содержит два раздела: (I) раздел описаний (блоки USES, LABEL, CONST, TYPE, VAR, а также описание процедур и функций) и (II) исполняемую часть (основной блок). Раздел описаний, в принципе, не является обязательным и может вовсе отсутствовать. Заголовок программы, начинающийся с ключевого слова PROGRAM, выполняет исключительно декоративную функцию, и поэтому также может отсутствовать.

Самая короткая "программа" на языке Турбо Паскаль выгдядит следующим образом:

BEGIN
END.

Она ничего не делает, но работает!

Деректива USES подключает библиотечные модули из стандартного набора Турбо Паскаля или написанные программистом. У дерективы USES есть свое четко определенное место: если она присутствует, то должна находится перед прочими разделами описаний. Кроме этого, слово USES может появиться в программе только один раз. Список модулей дается через запятую, например:

USES CRT, DOS, Graph, My_Unit;

Блок описания меток LABEL содержит перечисленные через запятую метки переходов. Блоков LABEL может быть сколько угодно и располагаться они могут где угодно в пределах раздела описаний. Метки могут обозначаться целым числом в диапазоне от 0 до 9999 или символьными конструкциями длнной не более 63 символов, например

LABEL 1, 12, Start, Finish, m1, m2;

Блок объявления констант CONST так же, как блок LABEL может располагаться в любом месте раздела описаний. Таких блоков может быть несколько или может не быть вообще. В них размещают определения констант различных видов.

Необязательный, как и все предыдущие, блок описания типов TYPE содержит определения вводимых программистом новых типов. В этом блоке могут быть использованы константы из блока CONST. Если это так, то блок TYPE может быть расположен где угодно, но не выше соответствующего блока CONST.

Раздел описания глобальных переменных VAR формально тоже не обязателен и может отсутствовать. Реально же он, конечно, объявляется и содержит список глобальных переменных программы и их типы. Блоков VAR может быть сколько угодно.

Основной блок - это собственно программа, использующая все, что было описано и объявлено выше. Он обязательно начинается словом BEGIN и заканчивается словом END с точкой. Любой текст после завершающей точки игнорируется компилятором.

Язык Турбо Паскаль предоставляет гораздо большую гибкость в организации текста программы, чем ANSI-стандарт языка. Программа на языке Турбо Паскаль может иметь, например, такую структуру:

PROGRAM Большая_Программа;
USES
Список используемых библиотек (модулей);

CONST Константы и переменные для
VAR выполнения математических расчетов;

Определение процедур и функция для математических расчетов;

CONST Описание констант, типов и
TYPE переменных необходимых для графического
VAR представления расчетов;

Определение процедур и функция для построения графиков;

LABEL Метки,
CONST константы,
TYPE типы и переменные, используемые
VAR в основном блоке программы;

BEGIN
Основной блок программы (операторы)
END.

 

 

10) Простой тип данных (англ. plain old data, POD) — в современных языках программирования высокого уровня тип данных, не требующий автоматического управления. Переменные такого типа можно копировать простыми процедурами копирования участков памяти наподобие memcpy.

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

В программировании переменная — это идентификатор, определяющий данные. Обычно это бывает имя, скрывающее за собой область памяти с хранящимися там данными. Переменная может иметь тип, характеризующий множество значений, которые она может принимать. В программировании, переменные, как правило, обозначаются одним или несколькими словами или символами, такими, как «time», «x», «foo» и тому подобное.

Конста́нта в программировании — способ адресования данных[прим. 1], изменение которых рассматриваемой программой запрещено.

Использование констант, особенно, именованных — мощный инструмент, повышающий надёжность и безошибочность программ.[1][прим. 2]

Сначала константы просто вписывались в текст программ в качестве аргументов операторов.

Например, mvi A, 0, где 0 является числовой константой.

Затем ассемблерные компиляторы научили понимать именованные константы, серьёзно упростившие процесс отладки и сопровождения программ.

 

В системе программирования Turbo Pascal существует возможность составлять алгоритмы нелинейной структуры. Для этого предусмотрены специальные средства, так называемые "управляющие конструкции". Самым простым нелинейным алгоритмом является алгоритм организации ветвлений. Вычислительный процесс (алгоритм) называется разветвляющимся, если в зависимости от выполнения определённых условий он реализуется по одному из нескольких, заранее предусмотренных направлений. Каждое отдельное направление называется ветвью вычислений. Выбор той или иной ветви осуществляется уже при выполнении программы в результате проверки некоторых условий. Управляющая конструкция для программной реализации таких алгоритмов называется условным оператором.

Условный оператор.

Условный оператор реализует алгоритмическую конструкцию "развилка" (ветвление) и изменяет порядок выполнения операторов в зависимости от истинности или ложности некоторого условия. Существует два варианта оператора.

Полная форма:

if <условие> then <оператор 1>

else <оператор 2>;

и краткая форма:

if <условие> then <оператор 1>;

В этих операторах:
<условие> - некоторое логическое выражение, истинность которого проверяется;
<оператор 1> - оператор, который выполняется, если логическое выражение <условие> истинно.
<оператор 2> - оператор, который выполняется, если логическое выражение <условие> ложно.

В качестве условия после служебного слова if может применяться любое выражение, результатом которого является логическая величина. Это может быть простое логическое условие, сложное логическое условие составленное из простых условий с помощью логических союзов, выражения с операциями отношения, просто логические переменные и т.д. В качестве операторов после служебных слов then и else может при- меняться любой оператор языка, в том числе и условный оператор.

Ограничение.

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

if a>0 then if a<2 then a:=2 else a:=3;

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

Важное замечание.

Так как условный оператор IF является самостоятельным, единым оператором (предложением), ни перед then, ни перед else точку с запятой ставить нельзя.

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

if x<0 then x:=-y;

 

if x<1.5 then z:=x+y

else z:=1.5;

Как вы уже заметили, после служебных слов then и else может находится (выполнятся) только один оператор. Но ветви условного оператора состоящие из одного оператора встречаются довольно редко. Гораздо чаще каждая ветвь условного оператора состоит из нескольких операторов. На первый взгляд кажется, что составить условный оператор в этом случае не представляется возможным. Для реализации таких ситуаций применяют составной оператор.

Составной оператор.

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

 

Пример составного оператора.

Begin
Write('Текущее сообщение');
z:=1;
d:=d+1;
End;

В данном примере три оператора, ограниченные операторными скобками, воспринимаются как один оператор.

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

Write('Введите контрольное число');

Readln(x);

if x>=0

then

begin

write('Контрольное число положительно');

z:=z+1;

d:=d-1;

x:=x+10;

end

else

begin

write('Контрольное число отрицательно');

z:=z-1;

d:=d+1;

x:=x-10;

end.

 

 

Пример программы.

Программа для решения квадратного уравнения.
Program kvur;

 

Var

a,b,c: real; {коэффициенты квадратного уравнения}

x1,x2: real; {корни квадратного уравнения}

D: real; {дискриминант квадратного уравнения}

 

Begin

Writeln('Решение квадратного уравнения.');

{Ввод данных}

Write('Введите коэффициент a: ');

Readln(a);

Write('Введите коэффициент b: ');

Readln(b);

Write('Введите коэффициент c: ');

Readln(c);

{Определение дискриминанта}

D:=b*b-4*a*c;

{Определение корней и вывод информации}

if D>0 then

begin

x1:=(-b+sqrt(D))/(2*a);

x2:=(-b-sqrt(D))/(2*a);

Writeln('Первый корень уравнения: ',x1);

Writeln('Второй корень уравнения: ',x2);

end;

if D=0 then

begin

x1:=-b/(2*a);

Writeln('Уравнение имеет один корень: ',x1);

end;

if D<0 then writeln('Уравнение корней не имеет.');

Readln;

End.

Безусловные конструкции.

Оператор языка представляет собой неделимый элемент программы, который позволяет выполнять определенные алгоритмические действия. Все операторы можно условно разделить на две группы: простых операторов иструктурированных операторов. К простым относятся те операторы, которые не содержат других операторов. К структурированным - те, которые состоят из других операторов.
В ТП 7.0 существует всего один оператор безусловного перехода Goto и четыре безусловных функции: Break, Continue, Exit, Halt.
Оператор безусловного перехода Goto представляет собой простой оператор, используя который можно изменять порядок выполнения операторов в программе. Общий вид оператора безусловного перехода:
goto <метка>, где <метка> - это идентификатор или целое число от 0 до 9999, объявленное в разделе меток label.
Применение оператора безусловного перехода в ТП - программе является нежелательным, т.к. его присутствие нарушает структурную целостность и наглядность. Такую программу трудно читать, отлаживать и модифицировать.
Функция Break позволяет досрочно закончить цикл.
Функция Continue - позволяет начать новую итерацию цикла, даже если предыдущая не была завершена.
Функция Exit - позволяет завершить работу текущего программного блока.
Функция Halt (n), где n - некоторое целое число - позволяет завершить работу программы с кодом завершения n.

Readln (x1[,x2,x3,...]) - сначала идет имя процедуры Readln, затем имена переменных, которым будут присвоены значения. Их может быть несколько либо одно. Но необходимо помнить, что Readln после ввода каждой переменной требует переход на новую строку, иначе часть введенной строки отбрасывается.

Замечание: иногда Readln используют для организации ожидания до нажатия клавиши Enter. Это требуется, когда перед завершением программы необходимо просмотреть результаты ее работы. Наверх




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


Дата добавления: 2015-03-29; Просмотров: 395; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.