для т
.pdfсовместимыми.В зависимости от типов операций и операндов выражения могут быть
арифметическими, логическими и строковыми. Арифметические выражения (АВ). Результатом выполнения АВ является число, тип которого зависит от типов операндов, составляющих это выражение. В АВ можно использовать числовые типы (целочисленные и вещественные), арифметические операции и функции, возвращающие числовое значение. Тип значения АВ определяется типом операндов и операциями. Если в операции участвуют целочисленные операнды, то результат операции также будет целочисленного типа. Если хотя бы один из операндов принадлежит к вещественному типу, то результат также будет вещественным. Исключением является операция деления, результат которой всегда вещественный. Унарные арифметические операции + (Сохранение знака) и – (Отрицание знака) относятся к знаку числа и не меняют типа числа.Примеры. Пусть в программе
есть строки: |
var a, |
b, c, d: integer; x, y: real; |
|
. . . |
|
a:=40; b:=13 ; |
|
c:= a div b; d:= a mod b; //c=3, d=1 |
|
y:=sin(a) + b/exp(x) - 12.5; // y=sin a + b/ e x – 12,5 |
Над данными целочисленного типа можно |
выполнять также следующие побитовые (поразрядные) операции: o Shl– сдвиг влево; o Shr–
сдвиг вправо; o And– И (арифметическое умножение); o Or– ИЛИ (арифметическое сложение);o Xor– арифметическое исключающее ИЛИ; o Not– Не (арифметическое отрицание). Особенностью побитовых операций является то, что они выполняются над операндами
поразрядно. |
|
|
Примеры. Пусть в программе есть строки: |
|
|
var a, b, c, d: integer; |
|
|
. . . |
|
|
a:=5; b:=9 ; |
|
|
c:= Not a; // a= 0101, Not (0101) = 1010 =10 дес . |
|
|
d:= a And b; // b=1001, 0101 And 1001 = 0001 = 1 дес . |
Логические выражения (ЛВ). Результатом |
|
выполнения ЛВ является логическое значение Trueили False. Такие выражения чаще всего |
|
|
используются в условных операторах и операторах цикла. Логические выражения могут |
|
|
содержать: o логические константы Trueи False; o логические переменные типа Boolean; o |
|
|
операции сравнения (отношения); o логические операции; o круглые скобки. |
Для |
установления отношения между двумя значениями, заданными выражениями, переменными или константами, используются следующие операции сравнения: =,<,>, <=,>=,<>. Операции сравнения выполняются после вычисления соответствующих выражений. Результатом операции сравнения является значение False, если соответствующее отношение не имеет место, и значениеTrueв противном случае. Результат выполнения логических операций при применении их к логическим выражениям (операндам логического типа) будет логического типа (Boolean). Логические операции And, Or, Xor являются бинарными, операция Not– унарной.
11. Числовые типы. Операции. Выражения.
1 Базовый тип данных - действительное число
Число представляется в нормальной нормированной форме, то есть разбивается на мантиссу - число в диапазоне от 0.1 до 1.0 и порядок. Диапазон значений зависит от записи (двоичная или двоично-десятичная), от размеров выделенных мест для хранения мантиссы и порядка.
2 Способы представления (хранения).
Несколько байт двоичной или двоично-десятичной записи. Число представляется в нормальной форме, то есть разбивается на мантиссу - число в диапазоне от 0.1 до 1.0 и порядок.
Диапазон значений зависит от записи (двоичная или двоично-десятичная), от размеров выделенных мест для хранения мантиссы и порядка.
4 Основные операции. |
|
|
|
|
|
BASIC |
PASCAL |
Как получить |
|||
сложение a и b |
a+b |
a+b |
|
|
|
вычитание a и b |
a-b |
a-b |
|
|
|
умножение a на b |
a*b |
a*b |
|
||
деление a на b |
a/b |
a/b |
|
|
|
возведение a в степень b |
a^b |
|
|
|
|
функции |
|
|
|
|
|
возведение x в квадрат |
|
sqr(x) |
|
||
квадратный корень из x |
sqr(x) |
sqrt(x) |
|
||
экспонента от x |
exp(x) |
exp(x) |
|
||
10 в степени x |
- |
exp10(x) |
|
||
логарифм натуральный от x |
log(x) |
ln(x) |
|log (x)= ln(x)/ln(a) |
||
логарифм десятичный от x |
- |
|
log(x) |
| a |
синус от x sin(x) |
sin(x) |
|
|||
косинус от x |
cos(x) |
|
cos(x) |
||
тангенс от x |
tan(x) |
|
- |
| =sin(x)/cos(x) |
|
котангенс от x |
- |
|
- |
|
| =1/tg(x) _____ |
арксинус от x |
- |
|
- |
|
| =arctg(x/V1-x*x) |
арккосинус от x |
|
- |
|
- |
| =pi-arcsin(x) |
арктангенс от x |
atn(x) |
arctan(x) |
|||
арккотангенс от x |
- |
|
|
| =pi/2+arctg(x) |
|
[x] - целая часть от x |
int(x) |
trunc(x) |
|||
округление до целого x |
- |
|
round(x) | =[x+0.5] |
||
{x} - дробная часть от x |
- |
|
- |
| =x-[x] |
|
взятие модуля x |
abs(x) |
abs(x) |
5 Связь с данными других типов.
В операциях среди аргументов допустимы данные целого типа, автоматически
произойдет их преобразование в данные действительного типа.При округлении результат будет целого типа.
33. Общая схема структуры программы в ЯП.
Общая структура программы на языке Pascal имеет вид Program Имя программы;
Uses Подключаемые библиотеки (модули);
Label Список меток основной программы;
Const Введение констант;
Type Описание новых типов;
Var Описание переменных и их типов; Определение процедур; Определение функций;
Begin
Тело основной программы;
End.
В языке программирования Паскаль программа состоит из заголовка, раздела описаний и исполняемой части. Служебные слова Pascal, обозначающие начало определенного блока программы, выделены жирным белым шрифтом.
Program – блок описания заголовка программы в Паскале имеет декоративное значение и может отсутствовать.
Uses – в Паскале вспомогательные готовые программы собранные в библиотеки (модули). Например, процедуры рисования точек, линий, окружностей на экране содержатся в модуле graph. Модули объявляются в этом блоке. Если подключать дополнительные библиотеки не нужно, блок отсутствует. Большинство важнейших ключевых системных библиотек подключаются автоматически (по умолчанию).
Label – блок описания меток, содержит их имена перечисленные через запятую. Метки используются для организации переходов в программе. Если метки не нужны, блок отсутствует.
Const – блок описания простых и типизированных констант. Может отсутствовать если константы в программе не предусмотрены.
Type - блок описания типов данных используемых в программе. Может отсутствовать, если новые типы не вводятся.
Var - блок описания переменных с указанием их типа. Может встречаться в программе несколько раз для организации глобальных и локальных переменных (т.е. в основной программе и при описании процедур и функций).
Определение процедур и функций – специально оформленные вспомогательные алгоритмы в виде подпрограмм, о которых будем говорить отдельно.
Begin - end. – служебные слова, обрамляющие тело основной программы, где находятся исполняемые операторы. Т.о. Begin начинает исполняемую часть программы, а end. (точка в конце обязательна) – ее завершает. Т.о. теоретически в минимально возможном наборе программа может состоять только из пустого тела begin end.
20.Дисциплина программирования, структурный подход программирования. Возникновение объектно –ориентированного программирования.
Цели структурного программирования:1)Обеспечение дисциплины программирования (“Структурное программирование-это дисциплина, которую программист навязывает сам себе”- Э. Дейкстра); 2)Повышение эффективности (например, разбиение на относительно независимые модули);3)Повышение надежности (облегчение тестирования и отладки);4)Уменьшение времени
истоимости (повышение производительности программистов); 5)Улучшение читабельности программы Основные принципы структурного подхода:1)Принцип абстракции позволяет рассматривать
программу по уровням. Верхний уровень показывает детали реализации (например, восходящее
инисходящие стратегии программирования).2)Разделение программы на отдельные фрагменты (методы), которые просты по управлению и допускают независимую откладку и тестирование 3)Строгий методический подход (принцип формальности) позволяет изучать программы (алгоритмы) как математические объекты, ускорить принятия решений, избежать ошибок
Структурный подход включает в себя три основные составные части:1)Нисходящее проектирование;2)Структурное программирование;3)Сквозной структурный контроль. Объе́ктноориенти́рованное программи́рование(ООП) — парадигма программирования, в которой основными концепциями являются понятия объектов и классов (либо, в менее известном варианте языков с прототипированием — прототипов). Класс — это тип, описывающий устройство объектов — экземпляров. Класс можно сравнить с чертежом, согласно которому создаются объекты. Обычно классы разрабатывают таким образом, чтобы их объекты соответствовали объектам предметной области.Прототип — это образцовый объект, по образу и подобию которого создаются другие объекты.Объектное и объектно-ориентированное программирование (ООП) возникло в результате развития идеологии процедурного программирования, где данные и подпрограммы (процедуры, функции) их обработки формально не связаны. Кроме того, в современном объектно-ориентированном программировании часто большое значение имеют понятия события (так называемое событийно-ориентированное программирование) и компонента (компонентное программирование).Объектно-ориентированное программирование в настоящее время является абсолютным лидером в области прикладного программирования (языки Java, C#, C++, JavaScript, ActionScript и др.). В то же время в области системного программирования до сих пор лидирует парадигма процедурного программирования, и основным языком программирования является язык C. Хотя при взаимодействии системного и прикладного уровней операционных систем заметное влияние стали оказывать языки объектноориентированного программирования. Исторически сложилось так, что программирование возникло и развивалось как процедурное программирование, которое предполагает, что основой программы является алгоритм, процедура обработки данных. Объектно-ориентированное программирование - это методика разработки программ, в основе которой лежит понятие объекта как некоторой структуры, описывающей объект реального мира, его поведение. Задача, решаемая с использованием методики объектно-ориентированного программирования, описывается в терминах объектов и операций над ними, а программа при таком подходе представляет собой набор объектов и связей между ними. Другими словами можно сказать, что объектно-ориентированное программирование представляет собой метод программирования, который весьма близко напоминает наше поведение. Оно является естественной эволюцией более ранних нововведений в разработке языков программирования. Объектно-ориентированное программирование является более структурным, чем все предыдущие разработки, касающиеся структурного программирования. Оно также является более модульным и более абстрактным, чем предыдущие попытки абстрагирования данных и переноса деталей программирования на внутренний уровень.
25. Оформление программы в ЯП.
Общая структура программы на языке Pascal имеет вид
Program Имя программы;
Uses Подключаемые библиотеки (модули);
Label Список меток основной программы;
Const Введение констант;
Type Описание новых типов;
Var Описание переменных и их типов;
Определение процедур;
Определение функций;
Begin
Тело основной программы;
End.
В языке программирования Паскаль программа состоит из заголовка, раздела описаний и исполняемой части. Служебные слова Pascal, обозначающие начало определенного блока программы, выделены жирным белым шрифтом.