- •Система Pascal abc
- •Редактор
- •Горячие клавиши
- •Окно вывода
- •Окно ввода
- •Запуск и остановка программы
- •Программа прервана пользователем
- •Пошаговое выполнение программы
- •Окно отладки
- •Pascal abc Язык Pascal abc Структура программы
- •Идентификаторы и служебные слова
- •Выражения и операции
- •Арифметические операции
- •Операция @
- •Операции с указателями
- •Операции с множествами
- •Приоритет операций
- •Описание переменных и констант
- •Описание типов
- •Обзор типов
- •Все порядковые типы, а также типы boolean, real и complex называются простыми типами. Порядковые типы
- •Типы boolean, real и complex
- •Строковый тип
- •Массивы
- •Множества
- •Указатели
- •Процедурный тип
- •Эквивалентность типов
- •Неявное приведение типов
- •Явное приведение типов
- •Область действия идентификатора
- •Ввод и вывод. Форматы вывода
- •Оператор присваивания
- •Условный оператор
- •Составной и пустой операторы
- •Оператор выбора
- •Оператор цикла for
- •Оператор цикла repeat
- •Оператор вызова процедуры
- •Операторы break, continue и exit
- •Оператор with
- •Оператор безусловного перехода goto
- •Оператор try ... Except
- •Оператор try ... Finally
- •Оператор raise
- •Описание процедур и функций
- •Параметры процедур и функций
- •Локальные и глобальные переменные
- •Общие стандартные процедуры и функции
- •Стандартные процедуры и функции для работы со строками
- •Стандартные процедуры и функции для работы с файлами
- •Стандартные процедуры и функции для работы с памятью
- •Системные процедуры и функции
- •Стандартные константы
- •Обзор классов и объектов
- •Конструкторы и деструкторы
- •Свойства
- •Переменная Self
- •Наследование
- •Видимость членов класса
- •Переопределение методов
- •Приведение типов объектов
- •Операции is и as
- •Виртуальные методы и полиморфизм
- •Модуль crt
- •Модуль Timers
- •Модуль Sounds
- •Модуль Utils
- •Модуль PointRect
- •Модуль GraphAbc
- •Графические примитивы
- •Цветовые константы и функции для работы с цветом
- •Действия с пером
- •Действия с кистью
- •Действия со шрифтом
- •Действия с рисунками
- •Действия с графическим окном
- •Задание режимов вывода
- •Класс Picture
- •Описатели рисунков и класс Picture
- •Исполнитель Робот
- •Алгоритмизация
- •Алгоритм и его свойства
- •Способы описания алгоритмов
- •Линейные алгоритмы
- •Разветвляющиеся алгоритмы
- •Алгоритмы циклической структуры
- •Подчиненные алгоритмы
- •Системы программирования
- •Лабораторная работа № 1 Программирование линейных алгоритмов
- •Лабораторная работа № 2 Программирование разветвляющихся алгоритмов
- •Лабораторная работа № 4 Одномерные массивы - вектора
- •Литература Основная литература:
- •Дополнительная литература:
- •Лабораторная работа № 3 Программирование циклических алгоритмов
Литература Основная литература:
-
Попов В.Г. Turbo Pascal для школьников. Версия 7.0: Учебное пособие. - 2-е издание, стереотипное. - М.: Финансы и статистика, 1998. 464 с.: ил.
-
А. Епанешников, Е. Епанешников. Программирование в среде Turbo Pascal7. – М.: “ДИАЛОГ-МИФИ”, 1996. – 288с.
-
Е.И.Емелина. Основы программирования на языке Паскаль.- М.: Финансы и статистика, 1997.- 208 с.
Дополнительная литература:
-
Немнюгин С.А. Turbo Pascal. : СПб.: Издательство "Питер", 2000. - 498 с.: ил.
-
Немнюгин С.А. Turbo Pascal: практикум : СПб.: Издательство "Питер", 2001. - 256 с.: ил.
-
В.Б. Попов. Turbo Pascal 7 для школьников. Учебное пособие - М.: Финансы и статистика, 1996.- 464 с.
-
Йенсен К., Вирт Н. Паскаль: руководство для пользователя. М., 1989.
-
Петров А.В., Алексеев В.Е., Ваулин А.С. и др. Вычислительная техника и программирование. М., 1990.
-
Фаронов В.В. Турбо Паскаль. Кн. 1 Основы Турбо Паскаля. М., 2002.
-
Поляков Д.Б., Круглов И.Ю. Программирование в среде Турбо Паскаль. М., 1992 , 576 с
-
Богомирский Б.С. Руководство пользователя ПЭВМ. Ч. 1. Спб., 1994.
Лабораторная работа № 3 Программирование циклических алгоритмов
Цель работы: уметь программировать циклические алгоритмы с использованием операторов повтора REPEAT, WHILE, FOR
Алгоритм называется циклическим, если он содержит многократное выполнение одних и тех же ветвей при различных значениях промежуточных данных. Число повторений этих ветвей алгоритма может быть задано в явной или неявной форме. Циклические алгоритмы реализуются в Pascal операторами повтора: While, Repeat, For. Цикл с предусловием осуществляет в начале проверку условия выполнения тела цикла, а цикл с постусловием проверяет условие завершения циклического процесса после тела цикла. Цикл с параметром выполняет тело цикла заранее определенное количество повторов. Тело цикла реализуется составным оператором, если оно состоит из нескольких операторов. Составной оператор представляет совокупность простых и сложных операторов, заключенных в операторные скобки begin … end;
Пример 1. Выполнить табулирование функции y= 1,25 x 2,5 +1/3 на отрезке [ a , b ] с шагом h.
Процесс табулирования заключается в многократном вычислении значения функции y= 1,25 x 2,5 +1/3 для разных значений аргумента X, которые меняются от начального значения a до конечного значения b с интервалом изменения h, которое называется в программировании шагом.
Алгоритм цикла с предусловием табулирования функции представлен на Рис.11. Программа использует оператор повтора с предусловием While.
program tabfun;
var a, b, h, x, y:real;
{описание вещественных переменных }
begin
writeln(‘Введите границы отрезка a , b и шаг h’);
read( a,b,h); {ввод исходных данных}
x:=a; {оператором присваивания задается начальное значение x равное левой границе отрезка табулирования}
{начало цикла с предусловием }
while x<=b do begin
{вычисление значения функции }
y:=1.25*exp(2.5*ln(x))+1/3;
{вывод координат точки}
writeln(‘ x = ‘,x:8:2,’ y = ‘,y:12:4);
{вычисление следующего значения x увеличением на шаг h }
x:= x + h;
{завершение цикла с предусловием }
end;
end.
Программа табулирования оператором повтора с постусловием Repeat, который отличается от цикла «Пока» тем, что после тела цикла проверяется условие завершения циклического процесса
program tabfun;
var a, b, h, x, y:real; {описание вещественных переменных }
begin
writeln(‘ Введите границы отрезка a , b и табуляции h ‘);
read( a,b,h); {ввод исходных данных с клавиатуры}
x:=a; {задается начальное значение x равное левой границе отрезка }
repeat {начало цикла с постусловием }
y:=1.25*exp(2.5*ln(x))+1/3; {вычисление значения функции }
writeln(‘ x = ‘,x:8:2,’ y = ‘,y:12:4); {вывод координат точки}
x:= x + h; {вычисление следующего значения x увеличивая на шаг h }
until x>b; {завершение цикла с постусловием если x будет больше правой границы отрезка табулирования }
end.