metod_15.03.04_atppp_oaip_up_2016 (Методические документы), страница 6
Описание файла
Файл "metod_15.03.04_atppp_oaip_up_2016" внутри архива находится в папке "Методические документы". PDF-файл из архива "Методические документы", который расположен в категории "". Всё это находится в предмете "абитуриентам" из 1 семестр, которые можно найти в файловом архиве РТУ МИРЭА. Не смотря на прямую связь этого архива с РТУ МИРЭА, его также можно найти и в других разделах. Архив можно найти в разделе "остальное", в предмете "абитуриентам" в общих файлах.
Просмотр PDF-файла онлайн
Текст 6 страницы из PDF
Операции над данными целого типа:+ сложение (результат – целое число)— вычитание(——«——«——-«—-—)* умножение (——«——«——«——)Div – деление с отбрасыванием дробной части (получение целогочастного при делении целого данного на целое).Mod – получение целого остатка при делении целого данного на целое.Пример. Program delen;Var A,B,Y,Z: Integer;BeginWriteln(‘вв A,B’);Readln(A,B);Y: = A Div B;Z: = A Mod B;Writeln( Y:3, Z:3);End.Переполнение при выполнении арифметических операций необнаруживается!!!Формат: Write(A:4)Пример.
A = 25;C*15 = -45;B = 5;A Mod C = -8;C = -3;A Div 7 = 3;A+5 = 30;25 Div -3 = 8;B Mod A = 5;A Mod 7 = 4;13-A = -20;-25 Mod –3 = -1A Mod C = 1;С аргументами целого типа могут использоваться следующиестандартные функции:28Имя функцииSin (x)Cos(x)Ln(x)Sqrt(x)Arctan(x)Exp(x)Sqr(x)Abs(x)Odd(x)Succ(x)Pread(x)Inc(x)Inc(x,n)Dec(x)Dec(x,n)МатематическоеобозначениеSin xCos xLn xхArctg xexx2|x|False, x=2nTrue, x=2n+1x+1x-1x+1x+nx-1x-nТип результатаRealRealRealRealRealRealIntegerIntegerBooleanIntegerIntegerIntegerIntegerIntegerInteger3.2. Действительный типДанныедействительного(вещественного)типаиспользуютсязначительно чаще, чем целого типа.2 вида представления вещественных констант с фиксированной и сплавающей точкой:127.325.0-16.0034Е-5 0.62Е+4-10.8Е12 -20Е-30.52Е+3 = 5.2Е+2 = 52Е+1 = 520Е = 5200Е-1В разделе описания констант:Const L = -1/602E-19;NA=6.022E23;PI=3.14;Summa=-5.6;Описание переменной имеет тип Real:Var U, I, R: Real;Z1:Real;В разделе операторов: Z1:=-0.03E14;Scorost:=12.6;I:=5;Здесь целое число 5 автоматически преобразуется к действительному типу 5.0для присвоения переменной I.3.2.1.
Операции над данными действительного типа:+ —*/Результат - тоже действительное число.Если в операции ,кроме данных вещественного типа, участвуют и данныецелого типа, результат все равно будет вещественный. Степень представляетсятак: Aх exp(x*LN(A)) приA>029Формат: Write(x:m:n), где: m - общее поле, n - поле дробной части.В арифметических выражениях принят следующий приоритет операций:1)Вычисление функции.2) * , / , Div , Mod.3) + , — .5*5 Div 3*4=32Пример.25 Mod 3*4=45+5 Mod 3-4=325 Div 3*4=32Вещественные типыREAL - действительный (вещественный) тип. Абсолютная величина для этоготипа изменяется в диапазоне 2.9Е - 39..1.7Е+38, имеет мантиссу с 11десятичными цифрами.
Занимает в памяти 6 байтов.SINGL - простой точности, 4 байта.DOUBLE - двойной точности, 8 байт.EXTENDED - расширенной точности, 10 байт.При переполнении вещественного типа происходит программное прерывание.С аргументами вещественного типа могут не пользоваться следующиестандартные функции:Sin(x), Cos(x) ,Ln(x), Sqrt(x), Arctan(x), Exp(x), Sqr(x), Abs(x). Все онивырабатывают результат вещественного типа.Определенытакжестандартыфункциипреобразованиязначениявещественного типа в значение целого типа:TRUNC (X) - вырабатывает результат путем отбрасывания дробной частиаргумента;ROUND (X) - вырабатывает целый результат путем округления до ближайшегоцелого.Пример.x=21.53trunc (x)=21round (x)=22x=-27— trunc (x)=-2round (x)=-33.3.
Логический типBoolean - логический тип имеет 2 значения: false и true, занимают 1 байтпамяти.Над булевскими переменными определены 3 логические операции:AND - конъюнкция (логическое умножение),OR - дизъюнкция (логическое сложение),NOT - отрицание.FALSE<TRUE , поэтому применимы операции отношения.Значения FALSE и TRUE можно рассматривать как упорядоченноемножество, состоящее из двух элементов.Ord (false)=0 {номер)Succ (false)=true {следующий)Ord (true)=1 {номер)Pred (true)=false {предыдущий)Логический тип (тип boolean) определяет диапазон логических значений,который содержит 2 элемента: TRUE (истина) и FALSE (ложь).30Type Boolean = (False, True);Логические переменные описываются в разделе описания переменных так:Var P, Q, R : Boolean;Логические переменные могут принимать только 2 значения:True и False.3.3.1.
Алгебра логики в ПаскалеНад аргументами логического типа определены следующие операции:NOT (Не) - отрицаниеAND (и) - конъюнкция (логическое умножение)OR (или) - дизъюнкция (логическое сложение)XOR (икс ор) - исключающее илиPQNot PP And QP Or QP Xor QFalseFalseTrueFalseFalseFalseTrueFalseFalseFalseTrueTrueFalseTrueTrueFalseTrueTrueTrueTrueFalseTrueTrueFalseВсе операции сравнения дают результат типа Boolean.= , < >, < , < = , > , > =.Например, в результате выполнения оператораP: = X<= 5;логическая переменная Р получит значение True, если текущее значениепеременной Х меньше или равно 5. При Х>5 P = False.В языке Паскаль принято следующее старшинство операций:1) Not2) And3) Or, Xor + 4) Операции сравнения , что это значит?Not P = Q(Not P) = QP < = Q And RP < = (Q And R)P Or Q And RP Or (Q And Q)Для задания явного порядка - круглые скобки:(A - B) AND (C< = D)3.3.2.
Законы алгебры логики в Паскале1) Закон коммутативности (переместительный)P Or Q = Q Or PP And Q = Q And P2) Закон ассоциативности (сочетательный)(P Or Q) Or R = P Or (Q Or R)(P And Q) And R = P And (Q And R)3) Закон дистрибутивности (распределительный)(P And Q) Or R = (P Or R) And (Q Or R)(P Or Q) And R = (P And R) Or (Q And R)4) Закон де МорганаNot (P Or Q) = (Not P) And (Not Q)Not (P And Q) = (Not P) Or (Not Q)Правила отрицания:31Not (Not P) = PNot (A = B) = A <>BNot (A <= B) = A > BNot (A< B) = A > = B и.т.д.Пример.Not ((A < = B) And (c = D)) = (A > B) Or (C < > D)Обратим внимание на следующий факт. Логический тип в языке Паскальзадается как перечисляемый тип, содержащий лишь 2 стандартныхидентификатора: True и False.
Элементы перечисляемого типа упорядочены.Поэтому оказывается, что False меньше, чем True. Этим можновоспользоваться:For P:=False To True Do S;S - оператор, он будет выполняться сначала для значения Р, равного False, азатем для значения True. Если надо наоборот, то:For P:= True Downto False Do S;Пример.Написать программу для составления таблицы истинности для логическойфункции F = P And Not (Q Or R) And T. Для каждого из значений логическихпеременных P, Q, R, T необходимо вычислить и напечатать значение функцииF.Program logic;Var P,Q,R,T,F:Boolean;BeginFor P:=False To True DoFor Q:=False To True DoFor R:=False To True DoFor T:=False To True DoBeginF:=P And Not (Q Or T) And TWrite(‘P=’,P,’Q=’,Q,’R=’,R,’T=’,T);Write(‘F=’,F);writeln;End;End.Логические выражения очень часто используются в программах.
Без нихтрудно обойтись при записи условных операторов, а также циклов While иRepeat.В языке Паскаль нельзя записать двухстороннее неравенство 1< X <2.Вместо этого надо воспользоваться логическим выражением: (X>1) And (X<2).Нельзя записать X = Y = Z, а надо: (X = Y) And (X = Z).Если надо записать, что Х не лежит в диапазоне от - 2 до +2, то:Not ((X>-2) And (X>=2)) или (X<=-2) Or (X>=2)Стандартные идентификаторы True и False можно использовать вкачестве логических констант. Равноправные операторы.If P Then S;If P=True Then S;32Функция Odd(x) = True при X=2n-1, n=1,2,3,...False при X=2n3.4. Символьный типСимвольная константа - это символ , заключенный в апострофы (чтобыпредставить апостроф , его повторяют дважды).‘A’, ‘R’,’+, ‘7’В описании констант:Const Sim = ‘A’;A = ‘A’;S = ‘+’;D1 = ‘;’;Символьная переменная принимает значение одного символа.
Онаописывается в разделе переменных как CHAR.Var Bukwa: Char;B1, B2, R: Char;В операторе присваивания:Bukwa : = ‘+’;R: = Bukwa;К символьным данным применимы операции сравнения, т.к. все символыупорядочены, каждый символ имеет свой порядковый номер.Ввод символьных данных имеет особенности: символьные данныевводят сплошной строкой, без пробелов, т.к. пробел - это тоже символ!!!Var S1, S2, S : Char;Read (S1 , S2 , S3 )--------------ABC —> S1 = ‘A’ , S2 = ‘B’ , S3 = ‘C’A_B_C_ —> S1 = ‘A’ , S2 = _ , S3 = ‘B’Формат: X : M‘_’ : 7 - вывод семи пробелов.Результатом операции сравнения является логическая константа True или False.‘A’<’B’Встроенные функции:Ord(x) - определяет порядковый номер символа Х, например, ORD(‘R’) = 82.Chr(x) - определяет символ, стоящий по порядковому номеру Х, например,CHR(68)= ‘D’.Эти две функции носят название функций преобразования.Очевидно , что Chr(Ord(S)) = S; Ord(chr(68)) = 68.Если С1 и С2 - переменные символьного типа, то С1<С2 , если Ord(C1) <Ord(C2)Pred(x) - дает предыдущий символ но относительно к Х, например,.
Pred(‘N’) =‘M’.Succ(x) - определяет следующий за Х символ, например,. Succ(‘R’) = ‘S’,Succ(‘9’) = ‘:’Справедливы равенства:Ord (false) = 0Ord (True) = 133Succ (False) =TruePred (True) = False3.4.1. Символьные строковые константыСимвольные строки - последовательность любого, в том числе и равногонулю количества символов, заключенных в апострофы. Символы - из набораASCII.‘Номер’ , ‘Summa’ , ‘_ _ ‘ , ‘A+B’‘Д’’АРТАНЬЯН’ - внутри апостроф - двойнойConst C1 = ‘‘;C2 = ‘РЕЗУЛЬТАТ’;К строкам применимы операции отношения. Результат: True или False,сравнение происходит посимвольно слева направо .‘ABC’>=’ACB’результат False , т.к.
‘B’<’C’Переменной нельзя присвоить значение строки!!! Ограничение максимальный размер строки, воспринимаемый компилятором, - не более 126символов. Строка, состоящая из одного символа, называется символьнойконстантой. Если между апострофами нет ни одного символа, то такая строканазывается пустой (см. далее раздел «Регулярные типы»).Для включения в строку символов, не имеющих физическогоизображения, используется их ASCII-код с символом # перед ним, например, A= ‘#31’ - это - управляющий символ.Задания1.
Можно ли выполнить / (деление) над переменными целого типа?2. Определить:Odd(15)Odd(26)Succ(137) Pred(26)3. Найти ошибки в записи вещественных чисел.4..0Е – 2- 71 - 6.10.1Е – 5А56 2.15. Вычислить:Trunc(5.61)Round(17.16)Round(- 17.16)6. Что не правильно?Odd(17.1) Cos(32.1) Cos(5)Sin(0.2)Succ(3.2) Pred(7)7. Найти:Ord(chr(49)) = 49Chr(ord(‘+’)) = +Pred(‘B’) = ‘A’Succ(‘B’) = ‘C’8.