
- •Программирование и алгоритмические языки в историческом аспекте
- •Введение в Паскаль
- •Алфавит Паскаля
- •Служебные (ключевые) слова
- •Константы
- •Запись чисел
- •Переменные
- •Типы данных
- •Стандартные функции
- •Выражения
- •Выражения целого типа
- •Выражения вещественного типа
- •3,61·109 X – 526,237 3.61e9 * X – 526.237 * Sqrt(0.2*y) Выражения логического типа
- •Операторы присваивания
- •Программа и этапы ее разработки. Структура программы
- •Var X, s : Word;
- •Комментарии
- •Ввод данных
- •Вывод данных
- •Бесформатный способ вывода
- •±D.DdddddddddE±dd
- •Форматный способ вывода
- •Структуры данных
- •Массивы
- •Var a : Array [1..2,1..3] Of Integer;
- •Error 201: Range check error
- •Var a : tMatrix;
- •Var Doska : Array [‘a’..’h’,1..8] Of Char;
- •Var Roma : Array [1..787] Of Word;
- •Var Roma : Array [-754..33] Of Word;
- •Var Ozenka : Array [1..2,1..3] Of Word;
- •Var Ozenka : Array [Fam, Predm] Of 2..5;
- •Var a: Array [1..3, 1..4, 1..5] Of Integer;
- •Var I, j: Byte;
- •Алгоритм и его свойства
- •Схемы алгоритмов
- •Базовые структуры
- •Цепочка
- •Ветвления
- •Альтернатива
- •If (условие)
- •Вариант 2 – с использованием операции конъюнкция
- •Часто встречающиеся ошибки программирования:
- •Var X, y, s_left, s_right, alfa, sin_alfa, segment : Real;
- •Переключатель
- •Часто встречающиеся ошибки программирования:
- •Бесконечные циклы
- •Циклы с предусловием
- •Var I, s : Word;
- •Var I, s, n : Word;
- •Программа
- •Var n, min, max, s, count: Word;
- •Часто встречающиеся ошибки программирования:
- •Циклы с постусловием
- •Var I, s : Word;
- •Var I, s, n : Word;
- •Программа
- •Var n,min,max,s,count: Word;
- •Var k : Word;
- •X, y, s : Real;
- •Часто встречающиеся ошибки программирования:
- •Циклы с параметром
- •Действия цикла:
- •Var n, s : Word;
- •Var I, s : Word;
- •Примеры:
- •Var I, j, k : Word;
- •Var I, i_max, vector_max : Integer;
- •Vector : Array [1..N] Of Integer;
- •Var I, s : Integer;
- •Vector : Array [1..N] Of Integer;
- •Var I, k, m : Integer;
- •Vector : Array [1..N] Of Integer;
- •Var I, s, count : Integer;
- •Vector : Array [1..N] Of Integer;
- •Var I, k, min, max, i_min, i_max : Integer;
- •Vector : Array [1..N] Of Integer;
- •Var I, k, i_otr, i_pol : Integer;
- •Vector : Array [1..N] Of Integer;
- •Var I, k, posl : Integer;
- •Vector : Array [1..N] Of Integer;
- •Var I, j, t : Integer;
- •Vector : Array [1..K] Of Integer;
- •Var I, j, t : Integer;
- •Vector : Array [1..K] Of Integer;
- •Var I, j, k : Integer;
- •Var I, j, k, posl : Integer;
- •Var I, j, k, m : Integer;
- •Var I, j, k, i_max, j_min : Word;
- •Var I, j, t : Integer;
- •Vector : Array [1..K] Of Integer;
- •Var I, j, m, t : Integer;
- •Vector : Array [1..K] Of Integer;
- •Var I, j, b, c : Word;
- •Часто встречающиеся ошибки программирования:
- •Множества
- •Var r : tSymb;
- •Основные операции со множествами
- •Процедуры для работы со множествами
- •Типизированные файлы
- •Var f_int : tFile_Int;
- •Var n : Integer;
- •Функции для работы с типизированными файлами
- •И процедуры:
- •Var n : Integer;
- •Текстовые файлы
- •Var f_text : tFile_text;
- •Программа:
- •Var stud_1 : tStudent;
- •Var student : tKadr;
- •Var coord : tCoord;
- •Ключ : ();
- •Подпрограммы
- •Подпрограммы-функции
- •Var p : Real;
- •Var s : Real;
- •Var I: Word;
- •Var a, b, c : Integer;
- •Var a, b, c : Integer;
- •Var a, b : Integer;
- •Var a, b, c: Integer;
- •Рекурсия
- •5 * 4 * Factorial(3)
- •5 * 4 * 3 * Factorial(2)
- •5 * 4 * 3 * 2 * Factorial(1)
- •Var k: Integer; Func_2
- •Var temp : Integer;
- •Особенности рекурсии:
- •Процедуры
- •Var I: Word;
- •Var I, i_min, i_max: Word;
- •Var I: Word;
- •Var I: Word;
- •Var I: Word;
- •Var I: Word;
- •Var I, j, k: Word;
- •Var I: Word;
- •Var I: Word;
- •Var I, j, k: Word;
- •Var I: Word;
- •Var I: Word;
- •Var I, j, k: Word;
- •Var I: Word;
- •Var I: Word;
- •Var I, j: Word;
- •Программные модули
- •Структура модуля
- •Interface
- •Implementation
- •Var f: Text;
- •Var p: Real;
- •Var temp: Real;
- •Компиляция модулей
- •Взаимное использование модулей
- •Особенности выполнения инициирующих разделов
- •Ссылки и динамические переменные
- •Var a, b: tPntint;
- •X, y: tPntchar;
- •Динамические структуры данных
- •Связные списки
- •Inf: Integer;
- •Var head, q : tPoint;
- •Inf: Integer;
- •Var head, q : tPoint;
- •Добавление нового элемента в список
- •Var head, q, r: tPoint;
- •Inf: Integer;
- •Var head, q, r : tPoint;
- •Удаление элемента из списка
- •Inf: Integer;
- •Var head, q, r : tPoint;
- •Сортированные списки
- •Var head, q, r, V: tPoint;
- •Inf: Integer;
- •Var head, q, r, V : tPoint;
- •Бинарные деревья
- •Var root, q, V: tRebro;
- •Интерфейс:
- •Var root, q, V : tRebro;
- •Поиск заданного узла в дереве
- •Var root, q, V : tRebro;
- •Удаление узла из дерева
- •Var root, q, V, r : tRebro;
- •Объектно-ориентированное программирование
- •Var X, y, dx, dy: Word;
- •Var x0, y0, dx, dy: Word;
- •Var x0, y0, dx, dy, radius: Word;
- •Var x0, y0, dx, dy, radius: Word;
- •Основы алгебры логики
- •Логическая функция не (отрицание)
- •Логическая функция и (конъюнкция – логическое умножение)
- •Логическая функция или (дизъюнкция – логическое сложение)
- •Логическое следование (импликация)
- •Логическое совпадение(эквивалентность)
- •Закон исключенного третьего
- •Закон противоречия
- •Закон двойного отрицания
- •Закон контрапозиции
- •Закон расширенной контрапозиции
- •Закон перестановки посылок
- •Закон силлогизма
- •Закон де Моргана
- •Минимизация формул алгебры логики
- •Алгебраическими методами минимизации
- •Табличными методами минимизации
- •Системы счисления
- •Двоичная система счисления
- •Восьмеричная система счисления
- •Шестнадцатеричная система счисления
- •Арифметические операции в двоичной системе счисления
- •1111 11 11 - Переносы
- •Арифметические операции в восьмеричной системе счисления
- •Арифметические операции в 16-ричной системе счисления
- •1. Ошибки при компиляции
- •2. Ошибки времени выполнения а) Ошибки системы ms-dos
- •Б)Ошибки ввода-вывода
- •В)Критические ошибки
- •Г)Фатальные ошибки
Введение в Паскаль
Язык программирования Паскаль, названный в честь французского философа и математика Блеза Паскаля, был создан в начале 70-х годов швейцарским ученым Никлаусом Виртом, во-первых, с целью внедрения системного подхода к программированию, созданию прозрачных программ и применению методов автоматической проверки их целостности и, во-вторых, как средство обучения новой компьютерной культуры. Он получился строгим, логичным, достаточно легким для понимания и овладения им и сразу завоевал сердца программистов. Будучи педагогом, Н.Вирт сознательно попытался поднять саму дисциплину “программирование” от уровня простого ремесла до ранга сложной инженерной деятельности. Широкое распространение язык получил благодаря усилиям французского математика Филиппа Кана, разработавшего в 1983 году компактный, быстродействующий и дешевый компилятор, который он назвал Турбо Паскаль. В начале 80-х годов он создал фирму по разработке программного обеспечения Borland International, занимавшуюся первоначально распространением Турбо Паскаля для микрокомпьютеров. В конце 80-х годов появилась уже его шестая версия, обеспечивавшая многооконный и многофайловый режимы работы, использование мыши, применение объектно-ориентированного программирования. Она обладала встроенным ассемблером и имела другие возможности. В 1992 году фирма выпустила две системы программирования на основе языка Паскаль: Turbo Pascal 7.0 и Borland Pascal 7.0
Они различаются некоторыми опциями (режимами работы) и библиотеками подпрограмм.
Основными особенностями языка Паскаль являются следующие:
-
это в широком смысле универсальный язык, предназначенный как для решения традиционных задач программирования (обработка числовой и символьной информации), так и для создания, например, баз данных,
-
Паскаль позволяет создавать большие программы, разрабатываемые коллективами программистов,
-
он реализует возможность декомпозиции задач на независимые подзадачи и позволяет поддерживать надежный интерфейс между ними, то есть компоновать программу из отдельных независимых компонентов. Такой подход значительно ускоряет процесс создания больших программных комплексов, повышает уровень взаимозаменяемости программных фрагментов, упрощает корректировки и повышает надежность работы программных комплексов,
-
он обеспечивает возможность гибкой структуризации данных за счет использования массивов, записей, множеств, файлов, динамических структур,
-
язык обеспечивает механизм надежной передачи параметров в подпрограммы и их рекурсивность,
-
он требует соблюдения строгой дисциплины использования типов данных,
-
в Паскале имеется возможность создания новых типов данных в широком диапазоне – от создания синонимов для уже существующих типов данных до определения внутреннего представления объектов нового типа данных и набора операций для объектов этого типа,
-
в Паскале существует иерархия выполнения операций.
Алфавит Паскаля
Любой язык имеет свой алфавит – набор символов для написания слов.
Алфавит Паскаля – это набор символов, используемых для написания программ.
Алфавит состоит из:
-
букв
-
цифр
-
специальных знаков.
К категории букв относятся 26 букв латинского алфавита:
a b c d e f g h i j k l m n o p q r s t u v w x y z
Паскаль не различает строчные и прописные буквы. К категории букв относится и символ подчеркивания _ .
Для написания комментариев и вывода текста может быть использована кириллица.
Ко второй категории – цифрам – относятся десять арабских цифр:
-
2 3 4 5 6 7 8 9 0
Третьей категорией – специальными знаками – являются следующие символы, расположенные на клавиатуре:
+ плюс ^ карат
- минус пробел (не имеет обозначения)
* звездочка # знак номера
/ дробная черта @ эт
< меньше & амперсанд
> больше $ знак доллара
= равно ‘ апостроф
. точка
, запятая
; точка с запятой
: двоеточие
() круглые скобки
[] квадратные скобки
{} фигурные скобки