
- •Кафедра информационных технологий
- •Практикум
- •Введение
- •Тема 1. Основы алгоритмизации
- •1.1. Общие понятия и определения
- •1.2. Свойства информации
- •1.3. Этапы решения задач
- •1.4. Блок-схемы алгоритмов
- •Тема 2. Интегрированная среда Turbo Pascal 7.0
- •2.1. Основные элементы ide Turbo Pascal 7.0
- •2.2. Ввод программы в среде Turbo Pascal
- •2.3.Сохранение программы в файле
- •2.4. Работа с существующей программой
- •2.5. Компиляция программы в среде Turbo Pascal
- •Compile successful: Press any key... (Успешная компиляция: Нажмите любую клавишу...)
- •2.6. Выполнение программы в среде Turbo Pascal
- •2.7. Выход из среды Turbo Pascal
- •Тема 3. Элементы языка Турбо Паскаль и программирование линейных вычислительных процессов
- •3. 1. Алфавит языка
- •3. 2. Идентификаторы
- •3.3. Основные типы данных и операции с ними
- •3.4. Константы и переменные
- •3.5. Выражения
- •3.6. Стандартные математические функции языка Турбо - Паскаль
- •3.7. Структура программы
- •X,y : Integer;
- •3.8. Ввод исходных данных. Операторы read и readln
- •3.9. Вывод данных. Операторы write и writeln
- •Writeln (выражение 1, выражение 2, … , выражение n).
- •3. 10. Оператор присваивания
- •3.11. Пример составления программы
- •3.12. Контрольные вопросы
- •3.13. Варианты заданий
- •Тема 4. Программирование разветвляющихся процессов
- •4.1. Методические указания
- •4.2. Условный оператор if и составной оператор Begin … End
- •4.3. Оператор безусловного перехода goto и оператор отбора case
- •4.4. Контрольные вопросы
- •4.5. Варианты заданий
- •Тема 5. Циклические процессы
- •5.1. Общие сведения
- •5.2. Цикл с предусловием
- •I:integer;
- •5.3. Оператор цикла с постусловием
- •I:integer;
- •5.4. Цикл с параметром
- •I:integer;
- •5.5. Итерационные циклы
- •XI, s, X, e: real;
- •5.6. Контрольные вопросы
- •5.7. Варианты заданий
- •Тема 6. Ввод с клавиатуры и формы представления выходной информации
- •6.1. Операторы ввода и вывода
- •6.2. Управление шириной поля вывода в процедурах Write и Writeln
- •6.3. Пример выполнения задания
- •Xn, xk, hx : real;
- •Результаты выполнения программы
- •6.4. Контрольные вопросы
- •6.5. Варианты заданий
- •Тема 7. Вложенные циклы
- •7.1. Общие сведения
- •7.2. Примеры выполнения задания
- •X, hx, a, b, hx, s, x0, xn, y: Real;
- •7.3. Контрольные вопросы
- •7.4. Варианты заданий
- •Тема 8. Массивы и действия с ними.
- •8.1. Методические указания
- •8.2.Одномерные массивы
- •8.3.Многомерные массивы
- •V:stroka;
- •8.4.Символьные массивы
- •8.5.Ввод-вывод массивов
- •8.6. Примеры выполнения программ
- •I,k,l:integer;
- •I,j,m,r:integer;
- •8.7. Контрольные вопросы
- •I,j: integer;
- •8.8. Варианты заданий
- •Приложение 1
- •Приложение 2 Структурограммы
- •Рязанский государственный медицинский университет
- •Кафедра информационных технологий отчет
- •Рязань 2004
- •Составить программу для вычисления значения функции
- •Библиографический список
- •Содержание
XI, s, X, e: real;
K: INTEGER;
BEGIN
X:=0.3;
E:=0.01;
K:=0;
XI:=1;
S:=XI; Рис.4
WHILE ABS(XI)>E DO
BEGIN
K:=K+1;
XI:=XI*X/K;
S:=S+XI;
END;
WRITELN (‘FUNCTION EXP(0.3)=’, S:5:2)
END.
В программе EXPONENT число повторений цикла WHILE, регистрируемое переменной К, заранее неизвестно и окончательно вычисляется лишь по выходе из цикла при выполнении условия ABS (XI)E.
5.6. Контрольные вопросы
Какие программы называются циклическими?
Перечислите типы циклических структур. В чём их особенности?
Назовите блоки, из которых состоит циклический алгоритм.
Что такое параметр цикла?
Что из себя представляет и для чего предназначен оператор цикла For?
Что такое условные операторы цикла и какие они бывают в Turbo Pascal?
Чем отличается цикл с постусловием от цикла с предусловием?
Перечислите основные правила организации цикла с параметром.
Из каких операторов может быть сформировано тело цикла?
В чём отличие циклов со счётчиком от итерационных циклов?
Выражение какого типа служит критерием завершения итерационного цикла?
Укажите особенности алгоритмов в задачах, где параметр цикла типа REAL.
Запишите фрагмент программы, где параметр цикла величина убывающая.
В чем сущность алгоритмов вычисления конечных сумм и произведений?
Могут ли быть разветвления внутри итерационного цикла?
Может ли управляющая переменная итерационного цикла использоваться в записи оператора FOR.
5.7. Варианты заданий
Составить алгоритмы и программы вычисления выражений
при x = 0, 1, 2,…10.
.
.
при x = 1…10.
где R=0.65.
при n = 1…6.
.
при x = 1.1; a = 2.2; n = 1…8.
a= -3(0,2)3; b=2
y= -3(1)3
Y=ex ; Z=e2x ; x=0,01(0,01)0,1
Y=ln x; P=lg x; S=log2 x; x=1(1)8
Y=sin x+/cos x; x=0,15(0,15)1,5
x=1,5(0,5)5,5
A=sin x +2cos x; B=3tg x; x=0,1(0,01)0,18
Y=arctg x;
; x=1(1)10
, с погрешностью ε = 0.01
, с погрешностью ε = 0.01
, с погрешностью ε = 0.01
, с погрешностью ε = 0.01
, с погрешностью ε = 0.01
, с погрешностью ε = 0.001
Тема 6. Ввод с клавиатуры и формы представления выходной информации
Цель работы: изучение особенностей ввода и вывода данных в режиме, управляемом списком, а также основных правил печати результатов с использованием стандартных модулей Турбо-Паскаля.
6.1. Операторы ввода и вывода
Операторы ввода и вывода начинаются с имен процедур: Read и Readln (процедуры ввода), Write и Writeln (процедуры вывода). Окончание имени In означает, что после ввода или вывода курсор переходит в начало следующей строки, иначе он остается справа от выведенного значения (набираемое для ввода значение также выводится на экран). Если нужно перевести курсор до начала ввода или вывода, выполняйте оператор Writeln (без скобок и объектов вывода). Несколько таких операторов обеспечат вывод группы пустых строк.
На дисплее текст программы может заменяться "экраном пользователя" — черно-белым кадром, где отображаются выводимые результаты, системные сообщения, а также вводимые значения, набираемые на клавиатуре. Поэтому будем допускать выражения типа "набрать в строке экрана значение".
Операторы ввода имеют следующую структуру:
Read (a1, a2, . . . ,an); { число переменных в списке может быть любым}
Readln (a1, a2, . . . ,an); {если переменных больше одной , то они разделяются запятыми}
Readln;
где a1, a2, . . . ,an – имена переменных.
Оператор ввода вызывает приостановку программы и переключение на экран пользователя — ожидание значения. После набора всех вводимых значений и нажатия Enter происходит переключение на текст программы, и она продолжает работу.
Рассмотрим действия пользователя при вводе данных А, В, С.
Вариант 1: один оператор ввода Readln (А,В,С); пользователь набирает значения в одной строке, разделяя пробелами, и нажимает Enter или после набора каждого значения нажимает Enter — ими будет занято 3 строки экрана.
Вариант 2: три оператора Readln(A); Readln(B); Readln(C); после набора каждого значения обязательно нажатие Enter. Если же значения А, В, С набрать в одной строке и нажать Enter, оператор Readln(A) введет значение А и перейдет на новую строку, а следующий оператор Readln(B) будет ожидать набора значения В: ему недоступны значения из предыдущей строки.
Вариант 3: три оператора Read(A); Read(B); Read(C); действия пользователя — такие же, как в варианте 1; курсор останется справа от значения С. Эти примеры даны для того, чтобы показать различия процедур Read и Readln.
В текущей строке можно производить исправления набираемых данных, но как только вы нажали Enter, т.е. перевели курсор в следующую строку, они становятся недоступны. Дроби допускаются лишь десятичные и в их записи запятую заменяют точкой, например, взамен 1/3 набирают 0.3333333. Разделителем значений может быть лишь пробел.
Оператор Readln; обеспечивает режим ожидания нажатием клавиши Enter. Его используют для приостановки процесса выполнения программы.
Операторы вывода имеют следующую структуру:
Write (a1, a2, . . . ,an); - вывод информации одной строкой;
Writeln (a1, a2, . . . ,an); - переход на новую строку после выдачи информации;
Writeln; - пропуск строки,
где a1, a2, . . . ,an – имена переменных.
Элементом списка может быть: число целое или вещественное (5.73; 1.42Е+10); символ ('a', 'z'); строка ('данные эксперимента'); булево значение (true или false). Кроме этого, в качестве элементов списка могут использоваться идентификатор константы, переменной, указатель, вызов функции, если она возвращает значение целого типа, вещественное число, символ или строку. Элементы списка выводятся на печать в заданном оператором Writeln порядке.
С помощью оператора вывода строится последовательность значений, которая является результатом выполнения программы. Запишем вывод А, В и С. Операторы Writeln(A), Writeln(B), Writeln(C) выведут значения А, В, С в отдельные строки. Действие операторов Write(A,B,C), Writeln(A,B,C) различается лишь конечным положением курсора по отношению к выведенным значениям. Разделителей между ними нет. Визуально различимые значения выдаст на дисплей оператор
Writeln( А,’ ‘,В,’ ‘,С ), выводящий пробелы между числами А и В, В и С, или оператор
Writeln(‘A = ', А, ' В = ', В, 'С = ', С), который, кроме чисел, выведет 3 символьных строки, поясняющих и одновременно разделяющих числовые значения.
По завершении вывода дисплей переключается на текст программы. Задержать экран пользователя, чтобы осмыслить результаты, можно, добавляя, оператор "фиктивного ввода":
Writeln ( А , ’ ‘ , В , ‘ ‘, С); Readln;
в этом случае экран пользователя закрывается текстом программы лишь после нажатия Enter. Если нужно еще раз изучить результаты, нажимайте Alt+F5, а чтобы вернуть программу на экран — любую литерную клавишу. Для очистки экрана перед выводом используют процедуру CLRSCR. Она доступна, если в начале программы записано предложение Uses CRT; .
Если экран пользователя заполнен, вывод очередных строк (внизу) приводит к вытеснению самых верхних строк. Чтобы приостановить вывод данных, нажимайте Ctrl+S; нажатие любой клавиши продолжит вывод.
Рассмотрим пример использования в программе процедур Writeln и Write. Справа представлены результаты выполнения процедур, т. е. информация, выводимая на внешнее устройство (дисплей):
A := 728; B := 3; C := 879; COLOR:= ' RED '; WRITELN (A, B); WRITE(A, B); WRITELN ( C ); WRITELN (A, '_':3, B, '_':5, C); WRITE (B, '_', C, '___', C); WRITELN ('INTEGER'); WRITELN(COLOR,'ROSE');
|
7283 7283879 728_ _ _3_ _ _ _ _879 3_879_ _ _879INTEGER RED ROSE |
В тексте операторов Write и Writeln могут находиться выражения, которые вычисляются и выводятся, но не сохраняются в памяти компьютера.