- •Лабораторная работа №1 ввод и редактирование программ в интегрированной среде free паскаля
- •1. Этапы разработки программ
- •2. Файл и связанные с ним понятия
- •3. Краткие сведения об интегрированной среде
- •4. Ввод и редактирование текста программы
- •4.1. Ис Free Паскаля и окна.
- •4.2. Работа с исходными файлами в окне редактирования
- •4.2.1. Возможные режимы редактирования
- •4.2.2. Приемы работы с клавиатурой
- •4.3. Работа с блоками
- •4.4. Поиск и замена фрагментов текста
- •5. Работа с файлами
- •5.1. Создание нового исходного файла
- •5.2. Загрузка существующего файла
- •5.3. Сохранение файла
- •5.4. Перезапись файла
- •6. Интерактивная помощь.
- •7. Выполнение работы
- •1.1. Команда Compile
- •1.2. Команда избирательной компиляции Make
- •1.3. Команда общей компиляции Build
- •1.4. Команда назначения первого файла Primary file
- •2.2. Определение места ошибки в программе
- •2.3. Определение причины ошибки
- •3. Порядок выполнения работы
- •4. Контрольные вопросы
- •Лабораторная работа №3 выполнение программ в среде free-паскаль
- •Структура простейших линейных программ
- •Экраны и окна, поддерживаемые ис
- •Режимы выполнения программ в ис и курсор выполнения
- •Команды ис для выполнения программ
- •Дополнительные возможности по прерыванию выполнения программы
- •Использование точек останова
- •Использование клавиш Ctrl-Break
- •Правила ввода исходных данных
- •Порядок выполнения работы
- •Исходный текст программы lab3.Pas
- •Контрольные вопросы.
- •Лабораторная работа № 4 линейные алгоритмы
- •Возведение в степень , соответственно На Паскале: exp(a*ln(X)). Лабораторная работа № 5 работа с двоичными масками
- •I. Требования к выполнению заданий
- •II. Варианты заданий
- •Лабораторная работа № 6 работа со строками
- •I. Требования к выполнению заданий
- •II. Варианты заданий
- •Лабораторная работа № 7 исследование особенностей операций ввода-вывода в паскале
- •7. И сследование различий в работе операторов Read и Readln
- •8. Вывод вещественных значений
- •10. Записать операторы ввода-вывода:
- •Лабораторная работа № 8 оператор выбора. Разветвляющиеся вычислительные процессы
- •1. Теоретический материал
- •If выражение then оператор;
- •2 Порядок выполнения лабораторной работы
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •Вариант 5
- •Вариант 6
- •Вариант 7
- •Вариант 8
- •Вариант 9
- •Вариант 10
- •Лабораторная работа №10 последовательности
- •Лабораторная работа № 11 обобщенная формула
- •I. Требования к выполнению заданий
- •II. Варианты заданий
- •Лабораторная работа №13 работа с одномерным массивом
- •Лабораторная работа №14 работа с двухмерными массивами Задания по теме «Двумерные массивы»
- •Лабораторная работа № 15 изучение механизма передачи данных в процудуры
- •I. Требования к выполнения заданий
- •II. Варианты заданий
- •Лабораторная работа № 16 работа с множествами
- •Варианты заданий
- •Лабораторная работа № 17 работа с записями
- •Лабораторная работа №1 работа с файломи
- •Лабораторная работа № 2 указатели и динамические переменные
- •Лабораторная работа № 3 списки
Контрольные вопросы.
Какую структуру имеет простейшая линейная программа ?
Дайте понятие блока программы.
Какие экраны поддерживает система Free Паскаль?
Какой порядок перехода между экранами поддерживается при выполнении программы: а) в обычном режиме; б) в режиме отладки.
Какими командами осуществляется переход между экраном пользователя и экраном ИС?
Какие окна есть в ИС?
Объясните схему переходов между экранами и окнами ИС, приведенную на рис. 2.
Какие окна появляются при выполнении цепочки клавиш:
а) F6 - Alt-F6 - F5 - Alt-F6 - F5 - Alt-F6 - Alt-F6 - F6
б) F6 - Alt-F6 - Alt-F6 - F5 - Alt-F6 - F6 - F5
в) F5 - F6 - Alt-F6 - F5 - Alt-F6 - F6 - F5 ?
В каких режимах возможно выполнение программы?
Что такое обычный режим выполнения?
Что такое курсор выполнения?
Как реализуется режим отладки?
Как сбросить режим отладки?
Для чего используется команда Go to cursor?
В чем различие между двумя командами трассировки?
Что такое точка останова? Как ее установить в программе?
Как удалить точку останова? Что при этом удаляется из текста программы?
Как выборочно удалить точки останова?
С помощью какой команды можно просмотреть все точки останова?
В каком порядке показываются точки останова?
Как можно прервать выполнение программы?
Почему для прерывания программы может оказаться недостаточно однократного нажатия Ctrl-Break?
Что происходит при двойном нажатии Ctrl-Break?
Какие действия следует осуществить при неправильном вводе данных, если программа запущена: а) из ДОС; б) из ИС?
Какие ошибки возможны при вводе данных?
Лабораторная работа № 4 линейные алгоритмы
Линейным называется вычислительный процесс, в котором отдельные этапы вычислений должны выполняться последовательно друг за другом. Линейные алгоритмы содержат только команды обработки данных. При исполнении алгоритма команды выполняются в порядке их записи. Для построения таких алгоритмов используется структура следования (рис. 1).
Пример. Написать программу, которая вычисляет площадь треугольника, если известны координаты его вершин.
Постановка задачи.
Входные данные: коодинаты вершин А – (x1,y1), B – (x2,y2), C– (x3,y3).
Выходные данные: Площадь треугольника.
Рекомендуемый вид экрана во время выполнения программы:
Вычисление площади треугольника.
Введите координаты углов
(числа разделяйте пробелом):
x1, y1 – > -2 5
x2, y2 – > 1 7
x3, y3 – > 5 -3
Площадь треугольника: 23.56 кв.см.
Математическая модель. На рис. 2 представлен треугольник в декартовой системе координат. Координаты вершины А – (x1,y1), В – (x2,y2), С – (x3,y3).
|
|
Рис. 1 |
Рис. 2 |
По заданным координатам, используя теорему Пифагора, можно найти длины сторон треугольника.
По заданным сторонам треугольника, используя формулу Герона, определяем площадь треугольника.
, где - полупериметр треугольника.
Разработка алгоритма. Схема алгоритма решения задачи приведена на рис. 3.
Рис. 3
Программирование.
Program AreaTriangle;
var
x1, y1 : real; { Координаты вершины А}
x2, y2 : real; { Координаты вершины В}
x3, y3 : real; { Координаты вершины С}
AB,
BC,
AC : real; { Длины сторон треугольника}
P : real; { Полупериметр треугольника}
S : real; { Площадь треугольника }
begin
writeln(‘Вычисление площади треугольника’);
writeln(‘Введите координаты углов’);
writeln(‘(числа разделяйте пробелом):’);
write(‘x1, y1 – > ’); readln(x1, y1);
write(‘x2, y2 – > ’); readln(x2, y2);
write(‘x3, y3 – > ’); readln(x3, y3);
{ Вычисление длин сторон треугольника }
AB := sqrt(sqr(x1 – x2) + sqr(y1 – y2));
BC := sqrt(sqr(x2 – x3) + sqr(y2 – y3));
AC := sqrt(sqr(x1 – x3) + sqr(y1 – y3));
{ Вычисление полупериметра треугольника }
p := (AB – BC – AC) /2;
{ Вычисление площади треугольника }
S := sqrt(P * (P – AB) * (P – BC) *(P – AC));
{ Вывод результата }
writeln;
writeln(‘Площадь треугольника: ’, S:6:2,’ кв.см.’);
end. {конец программы}
Порядок выполнения лабораторной работы
Для каждого из заданий разработать алгоритмы и написать программы (см. пример) в соответствии с заданным вариантом.
Набрать текст программы в редакторе IDE Turbo Pascal и сохранить его в рабочем каталоге.
Выполнить компиляцию программы.
При наличии ошибок компиляции, исправить их и повторить компиляцию.
Подобрать тестирующие исходные данные. Запустить программу на выполнение. Если возникли ошибки на этапе выполнения, то необходимо внимательно проверить алгоритм и программу. Исправив ошибки, повторить п.п. 4-6.
Оформить отчет.
Варианты заданий к лабораторной работе
Вариант 1
Напишите программу для расчета по двум формулам. Предварительно подготовьте тестовые примеры для второй формулы с помощью калькулятора (результаты вычисления по обоим формулам должны совпадать).
Рис.4
В квадрат вписана окружность (рис.4). Определить площадь заштрихованной части фигуры, если известна сторона квадрата.
Вариант 2
Напишите программу для расчета по двум формулам. Предварительно подготовьте тестовые примеры для второй формулы с помощью калькулятора (результаты вычисления по обоим формулам должны совпадать).
-
Рис.5
В квадрат вписана окружность (рис.5). Определить площадь заштрихованной части фигуры, если известна радиус окружности.
Вариант 3
Напишите программу для расчета по двум формулам. Предварительно подготовьте тестовые примеры для второй формулы с помощью калькулятора (результаты вычисления по обоим формулам должны совпадать).
Рис.6
В квадрат вписана окружность (рис.6). Определить площадь заштрихованной части фигуры, если известна сторона квадрата.
Вариант 4
Напишите программу для расчета по двум формулам. Предварительно подготовьте тестовые примеры для второй формулы с помощью калькулятора (результаты вычисления по обоим формулам должны совпадать).
Рис.7
В квадрат вписана окружность (рис.7). Определить площадь заштрихованной части фигуры, если известна длина стороны квадрата.
Вариант 5
Напишите программу для расчета по двум формулам. Предварительно подготовьте тестовые примеры для второй формулы с помощью калькулятора (результаты вычисления по обоим формулам должны совпадать).
Написать программу вычисления площади треугольника, если известны длина основания и высота.
Вариант 6
Напишите программу для расчета по двум формулам. Предварительно подготовьте тестовые примеры для второй формулы с помощью калькулятора (результаты вычисления по обоим формулам должны совпадать).
Написать программу вычисления площади треугольника, если известны длины двух его сторон и величина угла между этими сторонами.
Вариант 7
Напишите программу для расчета по двум формулам. Предварительно подготовьте тестовые примеры для второй формулы с помощью калькулятора (результаты вычисления по обоим формулам должны совпадать).
Написать программу вычисления сопротивления электрической цепи, состоящей из двух параллельно соединенных сопротивлений.
Вариант 8
Напишите программу для расчета по двум формулам. Предварительно подготовьте тестовые примеры для второй формулы с помощью калькулятора (результаты вычисления по обоим формулам должны совпадать).
Написать программу вычисления сопротивления электрической цепи, состоящей из двух последовательно соединенных сопротивлений.
Вариант 9
Напишите программу для расчета по двум формулам. Предварительно подготовьте тестовые примеры для второй формулы с помощью калькулятора (результаты вычисления по обоим формулам должны совпадать).
Написать программу вычисления площади треугольника, если известны длины двух его сторон и величина угла между этими сторонами.
Вариант 10
Напишите программу для расчета по двум формулам. Предварительно подготовьте тестовые примеры для второй формулы с помощью калькулятора (результаты вычисления по обоим формулам должны совпадать).
Написать программу вычисления величины дохода по вкладу. Процентная ставка (% годовых) и время хранения (дней) задаются во время работы программы.
Приложение
Имя |
Описание |
Результат |
Пояснения |
|
Для целых и вещественных величин |
||||
Функции |
||||
abs |
Модуль |
|
|х| записывается abs(x) |
|
ехр |
Экспонента |
Вещественный |
ех записывается ехр(х) |
|
ln |
Натуральный логарифм |
Вещественный |
logex записывается ln(х) |
|
pi |
Значение числа |
Вещественный |
3,1415926536 |
|
sqr |
Квадрат |
Целый |
х2 записывается sqr(x) |
|
sqrt |
Квадратный корень |
Вещественный |
x записывается sqrt(x) |
|
Тригонометрические функции |
||||
sin |
Синус угла * |
Вещественный |
sin x записывается sin(x) |
|
cos |
Косинус угла * |
Вещественный |
cos x записывается cos(x) |
|
arctan |
Арктангенс угла* |
Вещественный |
arctg x записывается arctan(x) |
|
Для целых величин |
||||
odd |
Проверка на четность |
Логический |
odd(3) даст в результате true |
|
pred |
Предыдущее значение |
Целый |
pred(3) даст в результате 2 |
|
succ |
Следующее значение |
Целый |
succ(3) даст в результате 4 |
|
Random |
Случайное число из диапазона [0,x) |
Целый |
Random(x) |
|
Lo |
Значение младшего байта |
Целый |
Lo(x) |
|
Hi |
Значение старшего байта |
Целый |
Hi(x) |
|
Swap |
Меняет местами старший и младший байты |
Целый |
Swap(x) |
|
Процедуры |
||||
|
|
|
|
|
inc |
Инкремент |
|
inc(x) — увеличить х на 1 inc(x, 3) — увеличить х на 3 |
|
dec |
Декремент |
|
dec(x) — уменьшить х на 1 dec(x, 3) — уменьшить х на 3 |
|
Для вещественных величин |
||||
frac |
Дробная часть аргумента |
Вещественный |
frac(3.1) даст в результате 0,1 |
|
int |
Целая часть аргумента |
Вещественный |
int(3.1) даст в результате 3,0 |
|
pi |
Значение числа |
Вещественный |
3,1415926536 |
|
round |
Округление до целого |
Целый |
round(3.1) даст в результате 3 round (3.8) даст в результате 4 |
|
trunc |
Целая часть аргумента |
Целый |
trunc(3.1) даст в результате 3 |
|
Для символов |
||||
Ord |
Порядковый номер символа |
Целый
|
ord(' b') даст в результате 98 ord(' ю') даст в результате 238 |
|
Chr |
Преобразование в символ |
Символьный |
chr (98) даст в результате ' b' chг (238) даст в результате 'ю' |
* – Угол задается в радианах.
Математические функции, которых нет в языке Турбо Паскаль в явном виде можно выразить через существующие:
Десятичный логарифм .