Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PASCAL.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
186.79 Кб
Скачать

АЛГОРИТМ И ЕГО СВОЙСТВА

Алгоритм - произошло от латинской формы имени величайшего среднеазиатского математика Мухаммеда ибн Муса ал-Хорезми (Alhorithmi), жившего в 783—850 гг. Он сформулировал правила выполнения арифметических действий с многозначными числами.

Алгоритм – конечная последовательность действий, исполнение которых приводит к решению поставленной задачи.

Алгоритмизация – процесс разработки алгоритма для решения задачи.

Алгоритм ориентируется на исполнителей – все действия описанные в алгоритме должен уметь выполнять исполнитель. Исполнитель ничего не знает о цели алгоритма и строго выполняет все полученные команды.

Исполнитель алгоритма — это техническая, биологическая или биотехническая система, способная выполнить действия, предписываемые алгоритмом.

Исполнителя хаpактеpизуют:

сpеда;

элементаpные действия;

cистема команд;

отказы.

Сpеда (или обстановка) — это "место обитания" исполнителя.

Система команд. Каждый исполнитель может выполнять команды только из некотоpого стpого заданного списка — системы команд исполнителя. Для каждой команды должны быть заданы условия пpименимости (в каких состояниях сpеды может быть выполнена команда) и описаны pезультаты выполнения команды.

Отказы исполнителя возникают, если команда вызывается при недопустимом для нее состоянии среды.

СВОЙСТВА АЛГОРИТМОВ

1. Понятность для исполнителя — исполнитель алгоритма должен понимать, как его выполнять. Команды получаемые исполнителей должны входить в его СКИ.

2. Дискpетность (прерывность)— строгое и недвусмысленное определение действий алгоритма. Процесс решения задачи представлен как последовательное выполнение шагов.

3. Опpеделенность — каждое правило алгоритма должно быть четким, однозначным и не оставлять места для произвола.

4. Pезультативность - состоит в том, что за конечное число шагов он должен привести к конечному результату.

5. Массовость - алгоpитм pешения задачи pазpабатывается в общем виде и должен быть применим для целого класса подобных задач, pазличающихся лишь исходными данными.

ФОРМЫ ПРЕДСТАВЛЕНИЯ

словесная (запись на естественном языке);

графическая (изображения из графических символов);

табличная

программная (тексты на языках программирования).

При графическом представлении алгоритм изображается в виде последовательности связанных между собой функциональных блоков, каждый из которых соответствует выполнению одного или нескольких действий.

Такое графическое представление называется схемой алгоритма или блок-схемой.

В блок-схеме каждому типу действий соответствует геометрическая фигура, представленная в виде блочного символа. Блочные символы соединяются линиями переходов, определяющими очередность выполнения действий.

ОСНОВНЫЕ ЭЛЕМЕНТЫ БЛОК-СХЕМЫ

Название символа

  Обозначение и пример заполнения  

Действие

Условие

Цикл с параметром

  Вспомогательный алгоритм  

Ввод-вывод

Начало-конец

РАБОТА В КЛАССЕ

  1. Найти их сумму, разность, произведение и частное двух ненулевых чисел.

  2. Вычисление площади огорода при известных сторонах.

  3. Составление программы, переводящей часы в минуты и секунды.

  4. Даны два числа a и b. Найти их среднее арифметическое.

БАЗОВЫЕ АЛГОРИТМИЧЕСКИЕ СТРУКТУРЫ

Логическая структура любого алгоритма может быть представлена комбинацией трех базовых структур: следование, ветвление, цикл.

Каждая из этих структур имеет один вход и один выход.

Базовая структура "следование".

Образуется последовательностью действий, следующих одно за другим;

Базовая структура "ветвление".

Обеспечивает в зависимости от результата проверки условия (да или нет) выбор одного из альтернативных путей работы алгоритма.

Каждый из путей ведет к общему выходу, так что работа алгоритма будет продолжаться независимо от того, какой путь будет выбран.

если—то—иначе;

если—то;

Базовая структура "цикл".

Обеспечивает многократное выполнение некоторой совокупности действий, которая называется телом цикла.

РАБОТА В КЛАССЕ

  1. Найти структуру «ветвление» в известных детских песенках.

  2. Найти циклическую структуру в детских сказках.

  3. Определить время года по погодным явлениям.

  4. Дойти до 16 этажа.

  5. Вывести на экран большее из двух данных чисел

  6. Вывести число, если оно больше или равно 3, или сообщение «Число меньше 3» в противном случае.

  7. Вывести на экран 100 раз «ПРИВЕТ»

ПОНЯТИЕ ПРОГРАММЫ

Программа – упорядоченная последовательность команд, необходимых ПК для решения поставленной задачи.

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

Компилятор – программа, которая преобразовывает программу, написанную на языке высокого уровня на машинный язык (машинный код).

  • Alt+F9компиляция программы

  • Ctrl+F9 - запуск программы

  • Alt+Enterокно программы во весь экран

  • Alt+X – выход из программы

Имя программы содержит только латинские буквы, не может начинаться с цифры и состоять только из числа, и не должно содержать пробелов.

СТРУКТУРА ПРОГРАММЫ

program имя_программы;

uses //Подключение модулей

const //Раздел описания констант

label //Раздел описания меток

type //Раздел описания типов

var //Раздел описания переменнных

begin

Тело программы

end.

Операторы, реализующие алгоритм решаемой задачи, отделяются друг от друга «;»

ЭЛЕМЕНТЫ ЯЗЫКА FreePascal

Алфавит языка Pascal включает:

  • все латинские прописные и строчные буквы

  • арабские цифры (0 – 9)

  • символы + - * / = < > , . ; : ‘ _ ( ) { } и др.

  • служебные (зарезервированные) слова

Из символов алфавита формируются ключевые слова и идентификаторы.

Служебные слова делятся на три группы:

  • операторы (READ, WRITELN и др.)

  • имена функций (SIN, COS и др.)

  • ключевые слова (VAR, BEGIN, END и др.)

Ключевые слова – зарезервированные слова, которые имеют специальное значение для компилятора.

Идентификаторы – это имя программного объекта, представляющее собой совокупность букв, цифр и символа подчеркивания.

Комментарии – это текст, который компилятор игнорирует. Их используют для пояснений программного кода

{комментарий может выглядеть так}

(*комментарий может выглядеть так *)

// комментарий может выглядеть так

ДАННЫЕ В ЯЗЫКЕ FreePascal

Для решения задачи в любой программе выполняется обработка каких-либо данных. Они хранятся в памяти ПК и могут быть самых различных типов.

ПЕРЕМЕННАЯ

Область памяти, в которой хранится значение определенного типа называется переменной.

Переменной называют элемент программы, который предназначен для хранения, коррекции и передачи данных внутри программы. Все переменные программы в Турбо Паскаль должны быть объявлены в разделе описания переменных.

У переменной есть имя, тип и значение.

- Var имя_переменной: тип;

- Var имя_переменной: тип;

имя_переменной: тип;

1) имя переменной может быть любое сочетание латинских букв, цифр и знака подчеркивание;

2) цифра не может быть первым символом;

3) большие и малые латинские буквы не различаются (идентификатор A1 эквивалентен идентификатору a1).

Примеры правильных идентификаторов: A, x1, x_1, _b1, SxCf. Примеры неправильных: 1b, a-b.

КОНСТАНТА

Константа – это величина, которая не изменяет своего значения в процессе выполнения программы.

Const имя = значение

ТИПЫ ДАННЫХ

ТИП ДАННЫХ – определяет способ хранения чисел или символов в памяти ПК, задавая размер ячейки, в которой будет записано то или иное значение, определяя тем самым его максимальную величину и точность задания.

Каждый тип данных имеет:

  1. Специальное зарезервированное слово для описания.

  2. Свой диапазон допустимых значений.

  3. Свой набор операций, в которых может участвовать данная величина.

  4. Свой формат внутреннего представления.

Результат выполнения этих операций должен быть того-же типа.

Типы данных определяют способы и алгоритмы обработки этих данных.

Все типы данных в языке Паскаль можно разделить на простые и структурированные (составные).

Простые типы данных:

  • Целые типы;

  • Логический тип

  • Перечисляемые типы

  • Тип-диапазон

  • Символьный тип

  • Вещественные типы.

Структурированные типы данных:

  • Массив;

  • Запись;

  • Множество;

  • Файл.

Операции и выражения FreePascal

Выражения – задает порядок выполнения действий над данными и состоит из операндов (констант, переменных, обращений к функциям), круглых скобок, знаков операций.

АРИФМЕТИЧЕСКИЕ ОПЕРАЦИИ

Символ операции

Название операции

Пример

*

умножение

2*3 (результат: 6)

/

деление

30/2 (результат: 1.5E+01)

+

сложение

2+3 (результат: 5)

-

вычитание

5-3 (результат: 2)

div

целочисленное деление

5 div 2 (результат: 2)

mod

остаток от деления

5 mod 2 (результат: 1)

ПРИОРИТЕТ ОПЕРАЦИЙ

Порядок вычисления выражения определяется старшинством (приоритетом) содержащихся в нем операций. В языке Паскаль принят следующий приоритет операций:

  • унарная операция not, унарный минус -, взятие адреса @

  • операции типа умножения:  *  /  div  mod  and

  • операции типа сложения:  +  -  or  xor

  • операции отношения:  =  <>  <  >  <=  >=  in

Порядок выполнения операций переопределить можно с помощью скобок. Например 2*5+10 равно 20, но 2*(5+10) равно 30.

Стандартные функции pascal

Стандартные математические функции Паскаля

Обращение

Тип аргумента

Тип результата

Примечание

Abs(x)

Real, integer

Тип аргумента

Модуль аргумента

ArcTan(x)

Real, integer

Real

Арктангенс (значение в радианах)

Cos(x)

Real, integer

Real

Косинус, угол в радианах

Exp(x)

Real, integer

Real

Экспонента

Frac(x)

Real

Real

Дробная часть числа

Int(x)

Real, integer

Real

Целая часть числа

Ln(x)

Real, integer

Real

Логарифм натуральный

Pi

Нет

Real

3,141592653

Sin(x)

Real, integer

Real

Синус, угол в радианах

Sqr(x)

Real, integer

Тип аргумента

Квадрат аргумента

Sqrt(x)

Real, integer

Real

Корень квадратный

Random

Нет

Real

Псевдослучайное число в интервале [0, 1]

Random(I)

Integer

Integer

Псевдослучайное число в интервале [0, I]

Round(x)

Real

Integer

Округление до ближайшего целого

Trunc(x)

Real

Integer

Отбрасывание дробной части числа

ОПЕРАТОР ПРИСВАИВАНИЯ

Общий вид

v := a; {здесь v – переменная, a – выражение, := - операция присваивания. Выражение a может содержать константы, переменные, названия функций, знаки операций и скобки.}

Сначала выполняется значение выражения, указанного в правой части оператора, а затем его результат записывается в область памяти, имя которой указанно слева.

СОСТАВНОЙ ОПЕРАТОР

Если при некотором условии надо выполнить определенную последовательность операторов, то их объединяют в один составной оператор.

Составной оператор начинается ключевым словом begin и заканчивается словом end. Между этими словами помещаются составляющие операторы, которые выполняются в порядке их следования. После end ставится точка с запятой, а после begin – только пробелы (либо комментарий).

Слова begin и end играют роль операторных скобок.

ПРОЦЕДУРА

Cls – очистка экрана

ОПЕРАТОР ВЫВОДА

writeln('Hello'); //печатается слово “Hello”

writeln(x);//печатается значение переменной x

х:=2;

writeln('x = ', x) //в одну строчку напечатается строка «x = » и значение переменной x, то есть в результате будет напечатано «x = 2».

x:=2;

y:=3;

writeln (x,y) // в одну строчку напечатаются значения переменных x и y, то есть «23».

writeln (x)

writeln (y) // значения x и y будут напечатаны на разных строках

Текстовые строки должны быть взяты в кавычки.

При выводе данных вещественного типа ширина поля определяет количество отображаемых разрядов чисел. При этом значение выводится в экспоненциальном формате 3.24E-0001.

Если необходимо вывести вещественное значение в формате с фиксированной точкой, то используется еще одна, расширенная конструкция:

Writeln(значение: ширина_поля_вывода : ширина дробной части);

ОПЕРАТОР ВВОДА

readln(x); //выполнение программы приостановится, пока пользователь не введет значения переменной x и не нажмет Enter.

readln(x, y, z);// программа ожидает ввода значений трех

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]