Файл: программирование на паскале2.doc

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

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

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

Добавлен: 21.04.2025

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

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

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

СОДЕРЖАНИЕ

Министерство образования и науки российской федерации

Начальный курс программирования на основе алгоритмического языка Паскаль

Введение

Часть. Основы программирования на Паскале

1.1. Структура простейшей Паскаль-программы

1.2. Данные и операции над ними

1.2.1. Свойства ячейки памяти. Переменные и константы

1.2.2. Типы данных

1.2.3. Правила записи констант

1.2.4. Описание переменных и именованных констант в Паскале

1.2.5. Выражения

1.3. Операторы преобразования данных

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

1.3.2. Понятие ввода и вывода

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

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

1.4. Разработка простейших программ

1.4.1. Понятие о качестве программы и основные технологические принципы разработки программ

1.4.2. Алгоритм и способы его записи.

1.4.3. Изображение алгоритмов в виде блок-схем

1.4.4. Базовые структуры алгоритмов и их кодирование на Паскале

1. Следование

2. Ветвление (развилка)

If условие then

If условие then

3. Цикл

1.4.5. Примеры разработки программ

1.5. Массивы

1.5.1. Понятие массива. Основные правила работы с массивами в Паскале

1.5.2. Примеры программ с массивами

1.614. Структура паскаль-программы

Часть.Подпрограммы

2.1. Общие сведения о подпрограммах

2.2. Процедуры в Паскале

2.2.1.Описание процедур

2.2.2. Обращение к процедуре

2.3. Функции Паскаля

2.3.1. Описание функций

2.3.2. Обращение к функции

2.4. Глобальные и локальные имена

2.5. Использование подпрограммы в качестве параметра другой подпрограммы

2.6. Модули

2.6.1. Общие сведения

2.6.2. Структура модуля

2.6.3. Использование модулей

2.6.4. Модули как средство программирования

Часть. Обработка символьной информации и документов сложной структуры

3.1. Обработка символьной информации

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

3.1.2.Строковые типы

3.1.3. Подпрограммы, работающие со строками

Функции

Процедуры

3.2. Тип запись

3.3. Файлы

3.3.1. Общие понятия

3.3.2. Файлы в Турбо Паскале

3.3.3. Текстовые файлы

Пример 1

Пример 2

3.3.4. Типизированные файлы

3.3.5. Нетипизированные файлы

Часть IV. Работа с динамическими массивами

Приложение 1. Краткая инструкция по работе в среде Turbo (Borland) Pascal.

Режимы компиляции программы, использующей модули

Приложение 2. Краткая инструкция по работе в режиме консольного приложения средыDelphi. Создание консольного приложения

Сохранение консольного приложения.

Отладка программы

Контрольные вопросы

Заключение

Библиографические ссылки

Содержание

Часть IV. Работа с динамическими массивами 98

1.2.3. Правила записи констант

Мы рассмотрим простейшие9правила записи явных констант.Целая десятичная константа- это последовательность десятичных цифр, например, 12678909. Последовательность шестнадцатеричных цифр (0, 1, ..., 9,A,B,C,D,E,F), перед которой записан символ доллара $, представляет собойцелую шестнадцатеричнуюконстанту; например, $FF- шестнадцатеричное представление числа 255. Соответствующие отрицательные значения получаются в результате применения унарной операции минус (-), см. п.1.2.5.

Простейшие правила записи вещественных констант состоят в следующем: разделителем между целой и дробной частью числа является точка; можно использовать показатель десятичного порядка Е (большую или малую латинскую букву). Пример вещественных констант: 100.01, 3.44Е3 (значение 3.44*103), 1.0 Е-2 (значение 0.01).

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

Символьная константа- это соответствующий символ клавиатуры, заключенный в апострофы. Примеры: 'a', '5', '?'. Другой способ задания констант - в виде #код, например, #32 –пробел, #90 букваZ.

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

Логические константы обозначаются следующим образом: false – ложь, true - истина

1.2.4. Описание переменных и именованных констант в Паскале

Пока мы рассматриваем данные, занимающие одну ячейку памяти. Такие данные называются простыми. Простые переменные описываются в разделе переменных после слова Varс помощью инструкций вида:

Var список_имен_переменных: тип;

Слово список при описании фрагментов алгоритмического языка обычно означает, что элементы списка перечисляются через запятую. Инструкции в Паскале разделяются точкой с запятой (обратите внимание на этот знак в конце описания).


Пример описания:

Var a, b:real; n,i, j,k:integer;

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

Constимя_константы=значение константы;

Здесь ключевое слово const показывает, что определяемое данное имеет постоянное значение, т. е. доступно только для чтения. Тип константы определяется по ее значению.

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

1.2.5. Выражения

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

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

Арифметические: * (умножение), div (деление нацело), mod (остаток от целочисленного деления), / (деление), + (сложение), - (вычитание).

Логические: NOT (отрицание), OR (дизъюнкция), AND (конъюнкция).

Соотношения: = (равно), <> (неравно), < (меньше), > (больше), <= (меньше или равно), >= (больше или равно), IN(вхождение в множество).

Операции DIVиMOD, естественно, применимы только к целым операндам.

Действия выполняются слева направо с учетом следующих приоритетов (перечислены в порядке убывания):

1) NOT;

2) мультипликативные операции: *, /, div, mod, AND;

3) aддитивные операции: +, -, OR;

4) соотношения: =, <>, <, >, <=, >=, IN.

Программистам, привыкшим к СИ и Фортрану, следует быть внимательными: приоритеты отличны от принятых в этих языках.

Например, в паскалевском выражении

(a>0.1) AND (b<0)

скобки обязательны: при их отсутствии первой будет выполняться операция AND, что логически неверно. Заметим, что компилятор при этом выдаст сообщение о несоответствии типа операндов (0.1 и b) типу операции AND.


Смешивать типы операндов допустимо лишь для арифметических выражений (один операнд типа integer, другой - типаreal). Тип результата в этом случае определяется следующим образом: операции *, +, - при целых операндах дают целый результат; если хотя бы один операнд вещественный, то эти операции дают вещественный результат. Операция / дает вещественный результат при любых операндах (в отличии от СИ и Фортрана).

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

Таблица 5. Некоторые встроенные функции Паскаля

Обозначение Паскаля

Смысл (математическое обозначение)

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

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

abs(x)

abs(x)

числовой

совпадает с типом аргумента

arctan(x)

arctg(x)

вещественный

вещественный

cos(x)

cos(x)

вещественный

вещественный

exp(x)

ex

вещественный

вещественный

ln (x)

ln x

вещественный

вещественный

sin (x)

sin x

вещественный

вещественный

sqr(x)

x2

числовой

совпадает с типом аргумента

sqrt(x)

вещественный

вещественный

round(x)

преобразование из вещественного в целое с округлением

вещественный

целый

trunc(x)

преобразование из вещественного в целое с отбрасыванием дробной части

вещественный

целый

odd(x)

целый

булевский

ord(x)

номер х в последовательности значений порядкового типа10

любой порядковый

целый

succ(x)

следующее значение порядкового типа

любой порядковый

совпадает с типом аргумента

pred(x)

предыдущее значение порядкового типа

любой порядковый

совпадает с типом аргумента



1.3. Операторы преобразования данных

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

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

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

Оператор присваивания означает, что вычисляется выражение, стоящее справа от знака присваивания (:=), и вычисленное значение присваивается переменной, стоящей слева от знака присваивания. Переменная может иметь индексы.

Переменная и выражение должны иметь одинаковый тип; имеются два исключения из этого правила:

  • можно использовать вещественные или целые типы разной мощности (например, integer–shortint), при этом значение результата должно принадлежать диапазону допустимых значений для типа переменной – см. таблицы 1-4;

  • переменой вещественного типа можно присваивать выражение целого типа (но не наоборот!).

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

Примеры

k:=k+1;{увеличение значениеkна единицу}

S:=S+a; {значение переменнойSувеличивается наa}

p:=p*i; {значение переменной р увеличивается вiраз}

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

1.3.2. Понятие ввода и вывода

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

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