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

1 Слово алгоритм происходит от algorithmi – латинской формы написания имени великого математика IX в. Аль Хорезми, который сформулировал правила выполнения арифметических действий. Первоначально под алгоритмами и понимали только правила выполнения четырех арифметических действий над многозначными числами. В дальнейшем это понятие стали использовать вообще для обозначения последовательности действий, приводящих к решению поставленной задачи.

Свойства алгоритмов:

Поочередное выполнение команд алгоритма за конечное число шагов приводит к решению задачи, к достижению цели. Разделение выполнения решения задачи на отдельные операции (выполняемые исполнителем по определенным командам) – важное свойство алгоритмов, называемое дискретностью.

Каждый алгоритм строится в расчете на некоторого исполнителя. Для того чтобы исполнитель мог решить задачу по заданному алгоритму, необходимо, чтобы он был в состоянии понять и выполнить каждое действие, предписываемое командами алгоритма. Такое свойство алгоритмов называется определенностью (или точностью) алгоритма. (Например, в алгоритме указано, что надо взять 3—4 стакана муки. Какие стаканы, что значит 3—4, какой муки?)

Еще одно важное требование, предъявляемое к алгоритмам, - результативность (или конечность) алгоритма. Оно означает, что исполнение алгоритма должно закончиться за конечное число шагов.

Универсальность. Алгоритм должен быть составлен так, чтобы им мог воспользоваться любой исполнитель для решения аналогичной задачи. (Например, правила сложения и умножения чисел годятся для любых чисел, а не для каких-то конкретных.)

Используются следующие способы представления алгоритма:

на естественном языке (описание каждого шага словесно);

в графическом виде (в виде блок-схем);

на алгоритмическом языке;

на языке программирования, в виде программы (кода).

Типы алгоритмов

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

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

конструкции языка программирования Паскаль.

Простейшие конструкции языка:

- константы

Константы определяются один раз и не изменяются во время выполнения программы. Используют следующие типы констант:

• целые и вещественные десятичные числа, например, 25, 6.12, 0.125е10;

• шестнадцатеричные числа - должны начинаться со знака «$», например, $64;

• логические константы - true (истина) и false (ложь);

• символьные константы - записываются либо в апострофах, например 'А', либо в виде соответствующих кодов по таблице ASCII, причем в последнем случае перед кодом ставится знак «#», например #65 (этот код соответствует символу А латинское);

• строки символов ~ записываются в апострофах, например 'ABCD';

• конструкторы множеств;

• «нулевой» адрес - nil.

Константы используются в двух формах: как литералы и как поименованные константы.

Литерал представляет собой значение константы, записанное непосредственно в программе (например, в выражении 2+5.1*х использованы два литерала «2» и «5.1»).

Поименованные константы объявляются в инструкции раздела описаний const. Обращение к ним осуществляется по имени (идентификатору).

Под выражением при этом понимают запись, состоящую из ранее объявленных констант, литералов, знаков операций и стандартных функций abs, chr, hi, length, lo, ord, odd, pred, round, sizeof, str, succ, trunc.

Встроенная функция Length (длина) позволяет определить фактическую длину текстовой строки, хранящейся в указанной переменной (а не величину предельного размера строки, установленную при декларации)

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

Функция Copy позволяет копировать фрагмент некоторой строки из одной переменной в другую. Вызывая эту функцию нужно указать следующие параметры:

имя строки, из которой должен извлекаться копируемый фрагмент,

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

число копируемых символов.

C помощью функции Pos Вы можете осуществить поиск некоторого фрагмента в строке. Если заданный фрагмент в строке присутствует, то функция возвращает номер позиции, с которой он начинается. Если фрагмент не найден, то функция возвращает нуль.

Функция Concat (Str1,Str2,...,StrN) выполняет конкатенацию (или сцепление) строк Str1,Str2,...,StrN в том порядке, в каком они указаны в списке параметров. Сумма символов всех сцепленных строк не должна превышать 255.

Структура программы на языке Pascal

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

Понятие программы.

Программа на языке Pascal состоит из строк. Набор текста программы осуществляется с помощью встроенного редактора текстов системы программирования Turbo Pascal или любого другого редактора. В первом случае программа может после выхода из редактора (при нажатии клавиши F10) в главное меню компилироваться и выполняться; во втором случае программу следует записать в файл и затем вызвать для компиляции и выполнения в интегрированной среде программирования Turbo Pascal.

Интегрированная среда программирования – это система программирования, совмещающая редактор для удобного ввода и редактирования программы, транслятор и отладчик ошибок. Примеры:Visual Basic, Delphi и т.д.

Мы будем изучать интегрированный язык программирования Turbo Pascal.

Язык Pascal был разработан в 1970 году Николаусом Виртом – профессором информатики Федерального технического университета в Швейцарии и назван в честь французского философа и математика 17 века Блеза Паскаля. Паскаль создавался как язык для обучения студентов программированию, но позволяет эффективно решать самые разнообразные задачи. При создании этого языка Вирт большое внимание уделял структурному программированию, благодаря которому конструкции языка Паскаль позволяют создавать, надежные, легкопроверяемые программы с ясной и четкой структурой.

Позднее была создана чрезвычайно удобная интегрированная среда. Turbo Pascal, включающая редактор, компилятор, редактор связей и отладчик.

Основные этапы решения задач на компьютере

СЛАЙД ШОУ ЕБАНА СМОТРИМ

Процедуры и функции

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

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

В языке Паскаль имеется два вида подпрограмм - процедуры и функции.

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

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

Составной оператор — конструкция языка программирования, состоящая из нескольких команд (операторов) языка программирования, но участвующая в программе в качестве единого оператора.

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

Общий вид записи операторов

read(список_переменных);

readln(список_переменных);

Переменные в списке перечисляются, как обычно, через запятую. Здесь и далее список данных, передаваемых любому оператору (а позднее и написанным нами подпрограммам), мы будем называть параметрами. Таким образом, параметрами оператора (точней, стандартной процедуры) read являются имена переменных, описанных ранее в разделе var.

Работа оператора

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

Readln отличается от read только тем, что все переменные должны быть введены в одну строку экрана, Enter нажимается один раз в конце. Readln используется в основном для ввода строк текста, для ввода чисел лучше использовать read, т.к. в этом случае пользователь может вводить данные более свободно (и в одну, и в несколько строк экрана).

Если пользователь вводит данные недопустимого типа (например, строку текста вместо числа), то выводится сообщение об ошибке и работа программы прерывается.

Оператор вывода

Общий вид записи оператора

write(список выражений и/или переменных);

writeln(список выражений и/или переменных);

Элементы списка перечисляются через запятую. В список могут входить также строки в апострофах ' '

Работа оператора

Элементы списка выводятся в пользовательское окно программы. Вещественные значения выводятся в экспоненциальной форме (с буквой E). Строки выводятся "как есть". После вывода работа программы продолжается со следующего оператора.

Оператор writeln отличается от write лишь тем, что после вывода значения последнего элемента списка выполняется перевод курсора на следующую строку экрана.

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

переменная := выражение;

Знак := читается как "присвоить".

Работа оператора

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

A:=1;

Что при этом произойдет? Система Паскаль автоматически вычислит адрес некоторой свободной ячейки памяти и перешлет в нее число, стоящее справа от знака:=. Эта операция называется операцией присваивания. Не нужно путать ее с операцией проверки на тождество в математике. Следующим оператором мы можем написать: A:=A+1;.

Выполнение операции начнется с вычисления выражения стоящего справа. Из ячейки, в которой хранится значение переменной A, извлечется то, что мы туда положили до этого, к этому значению добавится 1, а результат равный 2 будет отправлен по адресу хранения переменной A, в которой обновится значение. Вот поэтому-то величина A и называется переменной, она может многократно менять свое значение в процессе выполнения программы. Операция присваивания является несимметричной, слева всегда стоит имя переменной, а справа арифметическое выражение или число

Оператор цикла с параметром

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

Цикл с предусловием.

Для реализации циклов с предусловием используется составной оператор, включающий оператор while, do, операторные скобки.

В общем виде цикл реализуется записью:

while <условие> do <действие>;

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

while <условие> do

begin

<оператор 1>;

<оператор 2>;

...

<оператор n>;

end;