Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
новая метода.docx
Скачиваний:
10
Добавлен:
07.05.2019
Размер:
610.3 Кб
Скачать
  1. Контрольные вопросы.

  1. Какую структуру имеет простейшая линейная программа ?

  2. Дайте понятие блока программы.

  3. Какие экраны поддерживает система Free Паскаль?

  4. Какой порядок перехода между экранами поддерживается при выполнении программы: а) в обычном режиме; б) в режиме отладки.

  5. Какими командами осуществляется переход между экраном пользователя и экраном ИС?

  1. Какие окна есть в ИС?

  2. Объясните схему переходов между экранами и окнами ИС, приведенную на рис. 2.

  3. Какие окна появляются при выполнении цепочки клавиш:

а) 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 ?

  1. В каких режимах возможно выполнение программы?

  1. Что такое обычный режим выполнения?

  2. Что такое курсор выполнения?

  3. Как реализуется режим отладки?

  4. Как сбросить режим отладки?

  5. Для чего используется команда Go to cursor?

  6. В чем различие между двумя командами трассировки?

  7. Что такое точка останова? Как ее установить в программе?

  8. Как удалить точку останова? Что при этом удаляется из текста программы?

  9. Как выборочно удалить точки останова?

  10. С помощью какой команды можно просмотреть все точки останова?

  11. В каком порядке показываются точки останова?

  12. Как можно прервать выполнение программы?

  13. Почему для прерывания программы может оказаться недостаточно однократного нажатия Ctrl-Break?

  14. Что происходит при двойном нажатии Ctrl-Break?

  15. Какие действия следует осуществить при неправильном вводе данных, если программа запущена: а) из ДОС; б) из ИС?

  16. Какие ошибки возможны при вводе данных?

Лабораторная работа № 4 линейные алгоритмы

Линейным называется вычислительный процесс, в котором отдельные этапы вычислений должны выполняться последовательно друг за другом. Линейные алгоритмы содержат только команды обработки данных. При исполнении алгоритма команды выполняются в порядке их записи. Для построения таких ал­горитмов используется структура следования (рис. 1).

Пример. Написать программу, которая вычисляет площадь треугольника, если известны координаты его вершин.

  1. Постановка задачи.

Входные данные: коодинаты вершин А – (x1,y1), B – (x2,y2), C– (x3,y3).

Выходные данные: Площадь треугольника.

Рекомендуемый вид экрана во время выполнения программы:

Вычисление площади треугольника.

Введите координаты углов

(числа разделяйте пробелом):

x1, y1 – > -2 5

x2, y2 – > 1 7

x3, y3 – > 5 -3

Площадь треугольника: 23.56 кв.см.

  1. Математическая модель. На рис. 2 представлен треугольник в декартовой системе координат. Координаты вершины А – (x1,y1), В – (x2,y2), С – (x3,y3).

Рис. 1

Рис. 2

По заданным координатам, используя теорему Пифагора, можно найти длины сторон треугольника.

По заданным сторонам треугольника, используя формулу Герона, определяем площадь треугольника.

, где - полупериметр треугольника.

  1. Разработка алгоритма. Схема алгоритма решения задачи приведена на рис. 3.

Рис. 3

  1. Программирование.

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. {конец программы}

Порядок выполнения лабораторной работы

  1. Для каждого из заданий разработать алгоритмы и написать программы (см. пример) в соответствии с заданным вариантом.

  2. Набрать текст программы в редакторе IDE Turbo Pascal и сохранить его в рабочем каталоге.

  3. Выполнить компиляцию программы.

  4. При наличии ошибок компиляции, исправить их и повторить компиляцию.

  5. Подобрать тестирующие исходные данные. Запустить программу на выполнение. Если возникли ошибки на этапе выполнения, то необходимо внимательно проверить алгоритм и программу. Исправив ошибки, повторить п.п. 4-6.

  6. Оформить отчет.

Варианты заданий к лабораторной работе

Вариант 1

  1. Напишите программу для расчета по двум формулам. Предварительно подготовьте тестовые примеры для второй формулы с помощью калькулятора (результаты вычисления по обоим формулам должны совпадать).

    Рис.4

  2. В квадрат вписана окружность (рис.4). Определить площадь заштрихованной части фигуры, если известна сторона квадрата.

Вариант 2

  1. Напишите программу для расчета по двум формулам. Предварительно подготовьте тестовые примеры для второй формулы с помощью калькулятора (результаты вычисления по обоим формулам должны совпадать).

Рис.5

  1. В квадрат вписана окружность (рис.5). Определить площадь заштрихованной части фигуры, если известна радиус окружности.

Вариант 3

  1. Напишите программу для расчета по двум формулам. Предварительно подготовьте тестовые примеры для второй формулы с помощью калькулятора (результаты вычисления по обоим формулам должны совпадать).

    Рис.6

  2. В квадрат вписана окружность (рис.6). Определить площадь заштрихованной части фигуры, если известна сторона квадрата.

Вариант 4

  1. Напишите программу для расчета по двум формулам. Предварительно подготовьте тестовые примеры для второй формулы с помощью калькулятора (результаты вычисления по обоим формулам должны совпадать).

    Рис.7

  2. В квадрат вписана окружность (рис.7). Определить площадь заштрихованной части фигуры, если известна длина стороны квадрата.

Вариант 5

  1. Напишите программу для расчета по двум формулам. Предварительно подготовьте тестовые примеры для второй формулы с помощью калькулятора (результаты вычисления по обоим формулам должны совпадать).

  1. Написать программу вычисления площади треугольника, если известны длина основания и высота.

Вариант 6

  1. Напишите программу для расчета по двум формулам. Предварительно подготовьте тестовые примеры для второй формулы с помощью калькулятора (результаты вычисления по обоим формулам должны совпадать).

  1. Написать программу вычисления площади треугольника, если известны длины двух его сторон и величина угла между этими сторонами.

Вариант 7

  1. Напишите программу для расчета по двум формулам. Предварительно подготовьте тестовые примеры для второй формулы с помощью калькулятора (результаты вычисления по обоим формулам должны совпадать).

  1. Написать программу вычисления сопротивления электрической цепи, состоящей из двух параллельно соединенных сопротивлений.

Вариант 8

  1. Напишите программу для расчета по двум формулам. Предварительно подготовьте тестовые примеры для второй формулы с помощью калькулятора (результаты вычисления по обоим формулам должны совпадать).

  1. Написать программу вычисления сопротивления электрической цепи, состоящей из двух последовательно соединенных сопротивлений.

Вариант 9

  1. Напишите программу для расчета по двум формулам. Предварительно подготовьте тестовые примеры для второй формулы с помощью калькулятора (результаты вычисления по обоим формулам должны совпадать).

  1. Написать программу вычисления площади треугольника, если известны длины двух его сторон и величина угла между этими сторонами.

Вариант 10

  1. Напишите программу для расчета по двум формулам. Предварительно подготовьте тестовые примеры для второй формулы с помощью калькулятора (результаты вычисления по обоим формулам должны совпадать).

  1. Написать программу вычисления величины дохода по вкладу. Процентная ставка (% годовых) и время хранения (дней) задаются во время работы программы.

Приложение

Имя

Описание

Результат

Пояснения

Для целых и вещественных величин

Функции

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) даст в результате 'ю'

* – Угол задается в радианах.

Математические функции, которых нет в языке Турбо Паскаль в явном виде можно выразить через существующие:

Десятичный логарифм .