ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 01.04.2025

Просмотров: 267

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Определение программы

Программа = Алгоритм + Данные

Данные – это информация, обрабатываемая на компьютере.

Классификация данных:

  1. По классу: а) входные; б) выходные; в) промежуточные.

  2. По типу: а) целые; б) вещественные; в) символьные; г) логические.

  3. По структуре: а) константы; б) простые переменные; в) массивы;

г) множества; д) записи; е) списки.

Алгоритмы:

Алгоритм – это последовательность действий вычислительного процесса, приводящая к вычислению верного результата. Алгоритмы (последовательности действий) могут быть различны, но результат должен быть один и тот же.

Алгоритмы бывают:

  1. Последовательные;

  2. Разветвлённые;

  3. Циклические.

Последовательный алгоритм – это строгая последовательность операторов ввода/вывода и операторов действия.

Пример: определить 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.

Существуют простые типы данных и составные. К простым типам данных относятся:

  1. Перечислимый TYPE T=(c1,c2, …, cn) например: TYPE BOOLEAN=(FALSE, TRUE)

  2. Целые числа – INTEGER

  3. Вещественные (дробные) числа – REAL

  4. Символьный тип – CHAR

К составным типам относятся:

  1. Массивы

  2. Записи

  3. Множества

  4. Последовательности

Общая схема:

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

Типы Простые Вещественные


Структурированные Логический

Массивы

Указатели Записи Символьный

Строки Множества Перечисляемый

Процедурные Файлы Тип-диапазон

Объекты

Элементы языка Pascal:

  1. Идентификаторы

  2. Константы

  3. Выражения

  4. Операции

Идентификатор – это имя константы, переменной, метки, типа, объекта, процедуры, функции, модуля, программы, поля в записи. Идентификатор (имя) – это последовательность букв и цифр, начиная с буквы. Длина идентификатора до 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 “;” можно и не ставить.

Оператор присваивания.

:= или ЛЧ:=ПЧ;

ЛЧ – левая часть, ПЧ – правая часть.

Обычно в качестве ЛЧ записывается переменная (простая или с индексом). В качестве ПЧ записывается выражение.

Примеры:

  1. VAR S,a,b: real;

S:=a+b;

  1. VAR b:Boolean;

C,d,x,y:real;

B:=(x>=y) and not (c-d>0);

В операторе «присвоить значение» первым вычисляется выражение, стоящее справа (с учётом типа); полученное выражение преобразуется к типу переменной, стоящей слева; Эта переменная получает вычисленное и преобразованное значение.

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

Синтаксис: GOTO <метка>;

Метка – это идентификатор или целое число без знака. Пример:

Label m1, 999, KON;

Семантика: меняет естественную последовательность действий. Пример: