
- •Предисловие
- •Введение
- •1. Установка и настройка интегрированной среды
- •2.1. Работа с текстовым редактором тр
- •Команды управления курсором
- •Команды вставки и удаления
- •Команды работы с блоками
- •Команды поиска и замены
- •Regular expression – искать по выражению – описателю текста;
- •Контрольные вопросы
- •3. Элементы языка и структура программы
- •3.1. Алфавит языка
- •3.2. Зарезервированные слова
- •3.3. Знаки операций
- •Основные операции тр 7.0
- •3.4. Типы данных
- •Типы целых чисел
- •Типы вещественных чисел
- •3.5. Базовые конструкции языка
- •Основные стандартные математические функции tp 7.0
- •3.6. Структура программы
- •Контрольные вопросы
- •4.1. Этапы разработки программы
- •Пример. Вычислить площадь треугольника по формуле Герона: , гдеa, b, c – длины сторон треугольника, - полупериметр;
- •4.2. Основы работы в интегрированной среде Turbo Pascal
- •4.2.1. Меню File
- •4.2.2. Меню Edit
- •4.2.3. Меню Run
- •Упражнения
- •5. Составление и отладка программ с разветвляющейся структурой
- •Условные графические обозначения основных блоков схем алгоритмов
- •5.1. Организация ветвлений в программах
- •Логические операции
- •5.2. Средства среды тр для отладки программ
- •5.2.1. Меню Run
- •5.2.2. Меню Compile
- •5.2.3. Меню Debug
- •5.2.4. Меню Window
- •5.3. Методика отладки программ cразветвляющейся структурой
- •Упражнения
- •Контрольные вопросы
- •6. Составление и отладка программ
- •6.1. Организация программ с циклами
- •Блок-схемы операторов цикла
- •Объявление интервального типа осуществляется заданием двух констант, указывающих верхнюю и нижнюю границы диапазона, и описывается двумя способами:
- •6.2. Методика отладки программ с циклами
- •Упражнения
- •7. Программирование с использованием
- •7.1. Организация подпрограмм
- •7.2. Методика отладки программ с подпрограммами
- •8. Программирование с использованием
- •8.1. Структура модулей
- •8.2. Компиляция модулей
- •Упражнения
- •9. Обработка символьной информации
- •9.1. Символьный тип данных
- •9.2. Строковый тип данных
- •9.3. Множества
- •Упражнения
- •10. Программирование с использованием записей
- •Упражнения
- •11. Программирование с использованием файлов
- •11.1. Файловый тип данных
- •11.2. Работа с типизированными файлами
- •Упражнения
- •12. Программирование с использованием модуля crt
- •12.1. Работа с клавиатурой
- •Непечатаемые символы таблицы ascii
- •Скан-коды клавиатуры
- •Информационные байты расширенных кодов клавиатуры
- •12.2. Работа с экраном
- •Константы цвета
- •12.3. Управление звуком динамика
- •Упражнения
- •Варианты заданий
- •Исходные данные
- •Расположение окон ввода и вывода
- •Цвета фона и символов окон
- •13. Программирование с использованием модуля graph
- •13.1. Инициализация и завершение графического режима
- •13.2. Установка цвета
- •13.3. Стиль заполнения
- •13.4. Экран, окно, графический указатель
- •13.5. Отображение точки и линии на экране
- •13.6. Вывод некоторых геометрических фигур
- •13.7. Вывод текста в графическом режиме
- •Упражнения
- •Варианты заданий
- •Библиографический список
- •Оглавление
Контрольные вопросы
Поясните действие оператора выбора на примере.
Объясните взаимосвязь селектора и списка выбора в операторе Case.
Приведите пример применения оператора перехода.
Какие основные условные графические обозначения используются при составлении блок-схем алгоритмов?
Поясните методику пошаговой отладки программы.
Что такое семантические ошибки и как их выяснить?
Как обнаружить логическую ошибку?
Поясните логические операции or и and для двух переменных.
Приведите примеры записи условных операторов в полной и сокращенной формах.
Какой тип данных получается в результате выполнения операций отношения?
6. Составление и отладка программ
С ЦИКЛАМИ
Циклическая структура алгоритмов реализует многократно повторяющиеся однотипные этапы обработки данных. При этом один цикл может выполняться внутри другого, т.е. иметь вложенную структуру.
6.1. Организация программ с циклами
Для программирования алгоритмов циклической структуры в TurboPascal(TP) применяются три вида операторов цикла (повторения).
Оператор цикла For, имеющий два варианта записи:
а) инкрементный (с возрастанием переменной цикла)
For i := n1 to n2 do s ;
б) декрементный (с убыванием переменной цикла)
For i := n1 downto n2 do s ;
где i - параметр цикла - переменная порядкового типа (integer и т.п.);
s - тело цикла (любой оператор, включая оператор цикла);
n1,n2- начальное и конечное значения переменной цикла; при этом для инкрементной формыn1<n2и шаг изменения счетчика цикла равен+1, а для декрементного варианта оператораn1>n2и шаг цикла равен-1.
Пример: Составить программу для вычисления произведения
при n= 10,x1= 2,1 (начальное значение х),xn= 3 (конечное значение х).
Program Example_1;
Uses Printer;
Var P,x,h,x1,xn:real; n,i:integer;
BEGIN
writeln('Введите переменные:');
write('n='); readln(n);
write('x1='); readln(x1);
write('xn='); readln(xn);
h:=(xn-x1)/(n-1); {вычисление. шага изменения x}
P:=1; x:=x1; {задание нач. значений переменным}
for i:=1 to n do
begin
P:=P*(2*x+i)/(sqr(2*i)+1);
x:=x+h;
end;
writeln(Lst,'P=',P:12,' при x1=',x1:4:1,',
xn=',xn:4:1);
END.
Оператор цикла While:
While b do s;
где b- выражение логического типа (условие);s- тело цикла.
В этом операторе сначала проверяется условие b. Если оно имеет значениеtrue, то выполняетсяs, иначе управление передается оператору, следующему за операторомwhile.
Оператор цикла Repeat:
Repeat s Until b ;
где b- логическое условие;s- тело цикла (не требует заключения в операторные скобкиbegin .. end).
В отличие от whileздесь сначала выполняетсяs, а затем проверяется условиеb. Если оно примет значениеtrue, то цикл завершается.
Блок-схемы выше рассмотренных операторов повторения представлены в табл. 6.1.
Для более гибкого управления циклическим вычислительным процессом в состав ТР 7.0 включены две процедуры, которые практически исключают необходимость использования оператора goto:
Break- реализует немедленный выход из цикла; при этом управление передается оператору, следующему за циклом.
Continue- обеспечивает досрочное завершение очередного прохода цикла.
Они обычно включаются в тело цикла через дополнительно введенный условный оператор.
В операторах WhileиRepeatвозможно зацикливание, если условие завершения цикла в оператореWhileпостоянно сохраняет значениеtrue, а в оператореRepeat- значениеfalse. Для исключения этой ситуации необходимо предусмотреть дополнительную проверку на достижение заданного предельного числа повторений цикла с выходом из цикла, в частности с помощью оператора break.
Таблица 6.1