ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 01.04.2025
Просмотров: 267
Скачиваний: 1
Определение программы
Программа = Алгоритм + Данные
Данные – это информация, обрабатываемая на компьютере.
Классификация данных:
-
По классу: а) входные; б) выходные; в) промежуточные.
-
По типу: а) целые; б) вещественные; в) символьные; г) логические.
-
По структуре: а) константы; б) простые переменные; в) массивы;
г) множества; д) записи; е) списки.
Алгоритмы:
Алгоритм – это последовательность действий вычислительного процесса, приводящая к вычислению верного результата. Алгоритмы (последовательности действий) могут быть различны, но результат должен быть один и тот же.
Алгоритмы бывают:
-
Последовательные;
-
Разветвлённые;
-
Циклические.
Последовательный алгоритм – это строгая последовательность операторов ввода/вывода и операторов действия.
Пример: определить y=Ax2+B





Разветвлённый алгоритм – обязательное использование как минимум одного условного оператора.






Циклический алгоритм – в языке блок-схем нет оператора цикла (повторений). Для отображения оператора цикла используется сочетание оператора действия и условного оператора.

Пример: определить сумму n чисел: S=x1+x2+x3+ … +xn=∑xi
начало








Ввод N
S=0
I=1
Ввод Xi
S=S+Xi
I=I+1
I>N Вывод S конец
Лекция № 4
Типы данных
Программа = Алгоритм + Данные
В компьютере все данные выглядят как огромные массивы ячеек (разрядов) памяти, а человеку более привычны математические понятия: числа, множества, последовательности (а лучше: тексты и изображения).
В языках программирования существует принцип, что любая константа, переменная, выражение или функция относится к некоторому типу данных. Фактически тип данных характеризует множество значений данных. Поэтому используется правило, по которому тип явно указывается в описании константы, переменной или функции. Число различных значений, входящих в тип Т, называется мощностью Т. Мощность задаёт размер памяти, необходимой для размещения переменной x типа Т. Принадлежность к типу обозначается x:T.
Существуют простые типы данных и составные. К простым типам данных относятся:
-
Перечислимый TYPE T=(c1,c2, …, cn) например: TYPE BOOLEAN=(FALSE, TRUE)
-
Целые числа – INTEGER
-
Вещественные (дробные) числа – REAL
-
Символьный тип – CHAR
К составным типам относятся:
-
Массивы
-
Записи
-
Множества
-
Последовательности
Общая схема:



Порядковые
Целые 













Типы Простые Вещественные
Структурированные Логический
Массивы
Указатели Записи Символьный
Строки Множества Перечисляемый
Процедурные Файлы Тип-диапазон
Объекты
Элементы языка Pascal:
-
Идентификаторы
-
Константы
-
Выражения
-
Операции
Идентификатор – это имя константы, переменной, метки, типа, объекта, процедуры, функции, модуля, программы, поля в записи. Идентификатор (имя) – это последовательность букв и цифр, начиная с буквы. Длина идентификатора до 63 символов. Пробел и специальные символы не могут входить в идентификатор (вместо пробела используют символ подчёркивания). Зарезервированные слова языка Pascal не могут быть использованы в качестве идентификатора. Зарезервированные слова – это названия операторов, операций и т.п. Примеры: a, ALPHA, beta.
Константа – это величина, значение которой постоянно. Константы бывают:
- числовые (целые и вещественные);
- символьные;
- строковые;
- логические;
- множественные;
- адресные.
Целые числа записываются со знаком и без него по обычным правилам. 0 – тоже целое число.
|
Длина в байтах |
Описание |
Диапазон |
Примечание |
|
2 |
Integer |
|N| <=32767 |
±215-1 |
|
1 |
Shortint |
|N| <= 127 |
±27-1 |
|
1 |
Byte |
N >= 0 |
0<=N<=255(28-1) |
|
2 |
Word |
0<=N<=65535 |
216-1 |
|
4 |
Longint |
|N|<=2147483647 |
±232-1 |
Вещественные числа записываются со знаком или без него с использованием десятичной точки и/или экспоненциальной части (с помощью мантиссы и порядка). Вместо числа 10 записывается буква Е, например: 3.14Е5 = 3.14 умноженное на 10 в 5 степени (3.14 – мантисса, 5 – порядок). С десятичной точкой: 2.5, -3.75
|
Длина в байтах |
Описание |
Диапазон 10n порядка |
Количество значащих цифр в мантиссе |
|
6 |
Real |
-39:+38 |
11:12 |
|
4 |
Single |
-45:+38 |
7:8 |
|
8 |
Double |
-324:+308 |
15:16 |
|
10 |
Extended |
-4951:+4932 |
19:20 |
|
8 |
comp |
-263+1:263-1 |
|
Пример:
S – integer
S:=25786*3+0.5 даст ERROR, так как выражение вещественное.
Символьная константа ‘A’ – char 1 байт A
Строковая константа ‘ABC’ – string 3ABC
Логическая константа – Boolean – true или false (1- true, 0- false).
Константы объявляются в разделе констант:
Const <идентификатор>=<значение>; … - нетипизированная константа
Const <идентификатор>:<тип>=<значение>; … - типизированная константа (это уже переменная).
Переменные задаются идентификатором и типом данных в разделе VAR:
Var <идентификатор>:<тип>; …
Выражения
Выражение – это правило получения нового значения из имеющихся констант, переменных и обращений к функциям с помощью знаков операций и скобок. Выражения бывают арифметические, логические, строковые.
Пример арифметического выражения: A+B + - операция, A,B – операнды.
Арифметические операции: +,-,*,/.
|
№ приоритета |
Операции |
|
0 |
( ) |
|
1 |
not |
|
2 |
and |
|
3 |
Or / xor |
|
4 |
+, - одноместные |
|
5 |
*, / |
|
6 |
+, - двуместные |
Пример:
=>
2.5*sin((a+b)/2)/(3*cos(1.5*x*y))
Лекция № 5
Логические выражения. Данные типа Boolean.
True – 1
False – 0
|
A |
B |
A and B |
A or B |
Not A |
Not B |
A xor B |
|
0 |
0 |
0 |
0 |
1 |
1 |
0 |
|
0 |
1 |
0 |
1 |
1 |
0 |
1 |
|
1 |
0 |
0 |
1 |
0 |
1 |
1 |
|
1 |
1 |
1 |
1 |
0 |
0 |
0 |
Операции отношения: =, <>, >, >=, <, <= (равно, не равно, больше, больше либо равно, меньше, меньше либо равно).
В логических выражениях можно использовать логические операции (and, or, not, xor), операции отношения, логические переменные и логические функции.
В математике: A<=x<=B (отрезок) В Pascal: (x>=A) and (x<=B)
В математике: x2+y2<=R2 (окружность – 3-я четверть: x<0 и y<0)
В Pascal: (sqr(x)+sqr(y) <= sqr(R)) and (not((x>0) and (y>0)))
Структура программы на Pascal
[program <имя>;]
{Раздел описаний}
Begin
{Раздел описаний}
End.
Это короткая структура, а более полная:
[program <имя>;]
[uses <имя>, …;] {подключение модулей}
[label <имя>, …;] {описание меток}
[const <имя>=<значение>; …] {описание констант}
[type <имя>=<значение>; … ] { описание типов данных}
[var <имя>, …:<тип>; …] {описание переменных, массивов и др.}
[procedure <имя> …;
Begin {описание подпрограмм-процедур}
…
End; ]
[function <имя> …: <тип>;
Begin {описание подпрограмм-функций}
…
End;
Begin
{раздел операторов}
End.
Комментарием является любой текст, заключённый в круглые скобки:
{текст} или /* текст */
Операторы языка Pascal перечислены в лекции № 3.
При рассмотрении операторов мы будем использовать два понятия: синтаксис оператора и семантика оператора.
Синтаксис оператора – это правила правописания оператора (как пишется оператор). Семантика оператора – это смысл оператора (как работает оператор). Семантику мы будем описывать с помощью языка блок-схем.
Пустой оператор.
; или ;
Пример: m1:; m2:; - после метки (переход на метку и ничего не делать). Перед end “;” можно и не ставить.
Оператор присваивания.
:= или ЛЧ:=ПЧ;
ЛЧ – левая часть, ПЧ – правая часть.
Обычно в качестве ЛЧ записывается переменная (простая или с индексом). В качестве ПЧ записывается выражение.
Примеры:
-
VAR S,a,b: real;
…
S:=a+b;
-
VAR b:Boolean;
C,d,x,y:real;
…
B:=(x>=y) and not (c-d>0);
В операторе «присвоить значение» первым вычисляется выражение, стоящее справа (с учётом типа); полученное выражение преобразуется к типу переменной, стоящей слева; Эта переменная получает вычисленное и преобразованное значение.
Оператор перехода
Синтаксис: GOTO <метка>;
Метка – это идентификатор или целое число без знака. Пример:
Label m1, 999, KON;
Семантика: меняет естественную последовательность действий. Пример: