КАТЕГОРИИ: Архитектура-(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) |
Простые операторы
ОБЩИЕ СВЕДЕНИЯ ОПЕРАТОРЫ Begin Begin Подпрограмма - процедура Begin Begin <имя функции>:=<выражение>; {Тело подпрограммы} end;
Пример: Оформить в виде функции алгоритм возведения в целочисленную степень y=xn. function stepen(n:integer; x:real):real; var i:integer; stepen:=1; for i:=1 to n do stepen:=stepen*x; end; Вызов функции stepen(9,alfa); Обращение к подпрограмме осуществляется по имени подпрограммы (функции, процедуры) с указанием в скобках вместо формальных параметров фактических. Имена формальных и фактических переменных могут не совпадать, но число и тип параметров должны обязательно соответствовать друг другу. В отличие от функции подпрограмма процедура в качестве результата может возвращать несколько значений, поэтому результаты объявляются параметрами-переменными. Формат: Procedure <имя > (<имя перем.1 >,<имя перем.2 >,... <имя перем.n >); <Раздел описания локальных меток, констант, переменных >; {Список формальных параметров с указанием типа} <Раздел операторов >; {Тело подпрограммы} end; Если формальный параметр в ходе выполнения процедуры меняет свое значение (обычно это результат), то перед ним ставится служебное слово var. В процедуре структурированные типы должны указываться по имени. Вызов процедуры осуществляется по имени с указанием фактических параметров. Procedure summa(n:integer; a,b:massiv; Var summa:real); Var i,j,k:integer; S:=0; For i:=1 to n do S:=S+a[i]*b[i]; end; Основная часть программы на языке Turbo Pascal представляет собой последовательность операторов, каждый из которых производит некоторое действие над данными. Разделителем операторов служит точка с запятой “; “. Все операторы языка Turbo Pascal подразделяются на две группы: простые и сложные (структурные). Отдельные инструкции, входящие в программу, принято называть операторами. В раздел операторов (исполнительной части) программы помещаются операторы, которые должны быть выполнены с определенными в описательной части данными. Арифметическое выражение не является оператором, а представляет собой правило (формулу), в соответствии с которым может быть вычислено некоторое значение. Оно может использоваться как составная часть различных операторов, в частности, оператора присваивания. Операторы, не содержащие никаких других операторов, называются простыми. К ним относятся операторы: присваивания, безусловного перехода, вызова процедур и пустой оператор. Оператор присваивания:= предписывает выполнить выражение, заданное в его правой части, и присвоить результат переменной, идентификатор который расположен в левой части. Переменная и выражение должны быть совместимы по типу. Оператор присваивания является важнейшим оператором любого языка программирования. С его помощью можно присвоить переменой значение выражения. Выражение оценивается, то есть определяется его значение. И это значение присваивается переменной. В результате прежнее значение переменной перезаписывается, а потому старое значение утрачивается. Знаком присваивания в Паскале является совокупность знаков (:=). Формат: <идентификатор переменной>:=<выражение>; Пример: alfa_67:= (sqrt(a)-exp((b-c)*ln(2.5+1/a)))/(d+ln((a+b)*c)/ln(3)); Оператор безусловного перехода goto означает “ перейти к ” и применяется в случаях, когда после выполнения некоторого оператора надо выполнить не следующий по порядку, а какой-либо другой, отмеченный меткой оператор. Формат записи: GOTO <МЕТКА>; Пример: goto 36; goto beta8; Оператор вызова процедуры служит для активизации предварительно определенной пользователем или стандартной процедуры. Формат записи: <имя процедуры>(аргументы процедуры); Пример: ClrScr; { Вызов стандартной процедуры} InitWork(a,b,c,d); { Вызов пользовательской процедуры } Оператор вызова процедуры используется для ввода информации с клавиатуры и вывода данных на экран. Ввод данных осуществляется с клавиатуры дисплея, при этом числовые данные отделяются друг от друга пробелами, кроме данных символьного и строкового типов. Для ввода данных в языке Паскаль предусмотрены стандартные встроенные программы (процедуры) – READ и READLN. Оператор ввода служит для ввода данных в процессе выполнения программы. Процедура READ используется в виде: а) read (a1, a2, a3, …, an) – каждое вводимое значение присваивается последовательности переменных a1, a2, a3, …, an; б) readln(a1, a2, a3, …, an) – каждое вводимое значение присваивается последовательности переменных a1, a2, a3, …, an, после чего происходит переход на новую строку (следующий оператор ввода будет вводить данные с новой строки); в) readln – переход на новую строку при вводе данных. Логические данные в Паскале вводить не разрешается. При вводе числовые данные должны разделяться пробелом или символом окончания ввода (клавиша ENTER). Пример ввода: Var a, b, c: real; K, t: integer; … read(a, b, c); readln; read(k, t); После набора на экране дисплея всей программы и запуска ее на выполнение происходит остановка машины при встрече read (a, b, c). На клавиатуре ЭВМ необходимо набрать три действительных числа, затем новой строки (выполняется оператор readln) – два целых числа соответственно оператору read(k, t). Например, 0.5 6.23 -7.1 3 48 При этом переменные получат следующие значения: а = 0.5, b = 6.23, c = -7.1, k = 3, t = 48, и выполнение программы продолжится. Числа можно отделять друг от друга не только пробелами, но и символом окончания ввода (клавиша enter), то есть каждое число вводится с новой строки. Ввод символьных данных имеет особенности. Поскольку пробелы, как и любой символ языка Паскаль, относятся к символьным данным, символьные данные вводится сплошной строкой в соответствии с оператором ввода. Напомним, что одной переменной можно присвоить значение только одного символа. Пусть имеется фрагмент программы var a, b, c: char; ……………….. read(a, b, c); Данные вводятся в виде: SNR. Переменные a, b, c получат следующие значения: a = ‘S’, b = ‘N’, c = ‘R’. Для правильного ввода символьных данных рекомендуется перед каждым оператором ввода символьных данных ставить оператор перехода на новую строку readln, чтобы ввод осуществлялся всегда с новой строки. С вводом данных связан стандартная функция EOLN. Она принимает значение true, если достигли конца строки; в противном случае – значение – false. Операторы вывода допускают использование указания о ширине поля, отводимого под значение выводимой величины, в явном виде. Ширина поля вывода определяется типом устройства, использующимся в данном ЭВМ. Форма представления выводимых переменных определяется типом переменных: значения величин целого типа выводится в обычной форме; значения величин действительного типа – в виде нормализованного числа действительного типа с порядком: значения логического типа – в виде логических значений TRUE и FALSE; значения символьных переменных – в виде соответствующих символов. Общий вид записи операторов при выводе значений целого типа: Write(b:m); writeln(b:m); где b – имя выводимой переменной; m – константа или выражение целого типа, отводимое под значение. Например: Write(dd:5, ir:8); Значения переменных dd и ir размещаются в одной строке и занимают соответственно шесть и восемь позиций. При этом незаполненные позиции остаются свободными, образуя пробелы. Если значение переменной не размещается в отведенном поле, то увеличивается число позиций. При выводе значений действительного типа с фиксированной точкой указывается ширина поля, отводимая под все значение и под дробную часть числа. Общий вид записи операторов выглядит следующим образом: Write(b:n:n); writeln(b:m:n); где m - поле, отводимое под запись значения; n – часть поля, отводимого под дробную часть числа. Например: Write(a:8:3); В данном случае под значение а выделяется восемь позиций, три из которых отводится под дробную часть числа. Если при выводе действительных значений не указывается количество позиций, отведенных под дробную часть числа, то результат получается в нормализованном виде с десятичным порядком. Можно задавать количество пробелов. Для этого необходимо записать оператор вывода в виде Write(‘ ‘:q); где q – константа целого типа, указывающая число пробелов. Пример размещения информации при выводе: Program;
Дата добавления: 2014-01-06; Просмотров: 584; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |