Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Информатика (паскаль) / лаб.1 / отчёт по программированию

.doc
Скачиваний:
37
Добавлен:
31.03.2015
Размер:
49.15 Кб
Скачать

ФЕДЕРАЛЬНОЕ АГЕНСТВО ПО ОБРАЗОВАНИЮ

ФИЛИАЛ ГОСУДАРСТВЕННОГО ОБРАЗОВАТЕЛЬНОГО УЧРЕЖДЕНИЯ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«МОСКОВСКИЙ ЭНЕРГЕТИЧЕСКИЙ ИНСТИТУТ

(ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ)» в г. Смоленске

Кафедра информатики

Отчет

по лабораторной работе №1

Тема: «Линейные и разветвляющиеся алгоритмы Паскаля»

по курсу: «Программирование»

Студент: Лобанева Е.И.

Группа: ПИЭ-12

Преподаватель: Нестеров А.П.

Смоленск, 2012

  1. Теоретическое введение

1.1.1. Алгоритм.

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

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

1.1.2. Линейные алгоритмы.

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

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

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

1.1.3. Алгоритм с ветвлением.

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

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

1.2.1. Язык программирования Паскаль.

Язык программирования Паскаль (назван в честь выдающегося французского математика и философа Блеза Паскаля (1623 – 1662)), разработан в 1967 – 1971гг. Никлаусом Виртом, профессором, директором института информатики Швейцарской высшей политехнической школы. Язык Паскаль, созданный первоначально для обучения программированию как систематической дисциплине, скоро стал широко использован для разработки программных средств в профессиональном программировании.

1.2.2.Структура программы

Программа на языке Pascal состоит из заголовка, раздела описаний и раздела операторов.

PROGRAM Имя (Input,Output); Заголовок программы

label - раздел меток

const - раздел констант

type - раздел типов Раздел описаний

var - раздел переменных

procedure - раздел процедур

function - раздел функций

BEGIN

Оператор 1 ;

Оператор 2 ; Раздел операторов

... (тело программы)

Оператор n

END.

1.2.3.Константы и переменные:

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

Константы - это данные, значения которых не изменяются в процессе работы программы. Константы "узнаются" компьютером по форме их записи. В языке Pascal используются константы трех видов: числовые, булевские и символьные

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

Тип - это множество значений переменной вместе с множеством операций, которые можно выполнять над элементами этого множества.

В языке программирования Pascal принято все типы данных разделять на три группы: (1) простейшие , или скалярные (к скалярным типам данных относятся типы данных таких величин, значения которых не содержат составных частей, т.е. простейшие типы: целочисленный, вещественный, логический, символьный, перечисляемый, интервальный (тип диапазон) и ссылочный); (2) структурированные ( структурированный тип данных, или структуры данных, в своей основе имеет один или несколько скалярных типов данных, к ним относятся: строки, массивы, множества, записи, файлы); (3) процедурные и типа object .

Рассмотрим некоторые скалярные (простейшие) типы данных.

1. Диапазон значений типа Byte: 0..255. Над данными типа Byte допустимы следующие операции:

сравнения (= ,<> ,< ,<= ,> ,>= );

+ (сложение); + (одноместный (унарный) плюс);

- (вычитание); - (одноместный (унарный) минус);

* (умножение); DIV (деление (получение частного));

MOD(получение остатка (второй операнд должен быть положительным));

ShL(логический сдвиг влево);ShR (логический сдвиг вправо).

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

2. Диапазон значений типа Integer: -32768..32767. Над данными типа Integer допустимы те же операции, что и над данными типа Byte.

3. Диапазон значений типа Word: 0..65535. Над типом Word допустимы те же операции, что и над данными типа Integer.

4. Диапазон значений типа Real: 2.9E-39..1.7E+38 (по абсолютной величине). Данные типа Real имеют точность до одиннадцати значащих цифр. Над данными типа Real допустимы следующие операции:

сравнения (= ,<> ,< ,<= ,> ,>= );

+ (сложение); + (одноместный (унарный) плюс);

- (вычитание); - (одноместный (унарный) минус);

* (умножение); DIV (деление (получение частного));

5. Тип данных Char определяет множество символов с кодами ASCII. Над данными типа Char допустимы операции сравнения (= , <>, <, <=, >, >=).

6. Данные типа Boolean могут принимать два значения: TRUE и FALSE. Над данными типа Boolean допустимы следующие операции :

сравнения ( =, <>, <, <=, >, >=);

AND (логическое И); OR (логическое ИЛИ);

XOR (логическое исключающее ИЛИ); NOT (логическое отрицание).

1.2.4. Условный оператор в Паскале.

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

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

1.2.5.Составной оператор (оператор варианта).

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

Вход в структуру содержит вычисление или ранее полученное значение переменной (индекса варианта). Это значение может совпасть с меткой, стоящей перед оператором на одной из ветвей переключаются. В таком случае выполняется оператор, помеченный этой меткой, и происходит выход из структуры. Оператор бывает простым или составным, ограниченым операторными скобками begin … end; Если значение индекса варианта не совпало ни с одной из меток, то выполняется оператор с номером n + 1 из строки else. Если оператор варианта содержит строку else , то это - полная форма оператора, если такой строки нет, то используется сокращённая форма оператора варианта.

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

Соседние файлы в папке лаб.1