ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 20.03.2025

Просмотров: 301

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

3.4.N+1 (лабораторная работа №8); требуется заменить существующий

условный оператор на обработку исключения;

3)генерация исключительной ситуации (с помощью оператора raise), если в качестве длины массива введено неположительное число (задача 3.4.N+1, лабораторная работа №8); требуется заменить существующий оператор вывода сообщения об ошибке на генерацию исключения:

if n<=0 then raise Exception.Create('Введите положительное число');

4)генерация исключительной ситуации, если значения исходных данных выходят за допустимые границы (задача 1.3.4.N+1, лабораторная работа №5; допустимые границы определить из условия задачи);

5)(2-3) исключительные ситуации (деление на нуль, переполнение, извлечение корня из отрицательного числа и т. п.) при вычислении значений функций в лабораторной работе №9.

3.Подготовка проекта отчета по лабораторной работе. Отчет должен содержать для каждой исключительной ситуации:

1)описание ситуации;

2)фрагмент программного кода для ее обработки.

2.ЗАДАНИЕ И РЕКОМЕНДАЦИИ ПО ЕГО ВЫПОЛНЕНИЮ

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

2.Отладьте измененные приложения.

3.Результаты зафиксируйте в отчете и покажите преподавателю.

Приложение 1. Пример проекта отчета по консольному приложению

Условие

Начальный вклад клиента в банке был равен A руб. В течение каждого

месяца рассматриваемого периода на счет добавляется B руб.; в конце каждого месяца на имеющийся вклад начисляется р %. Вывести величину вклада на

начало 1, 2, ... N месяца.

33

Состав данных

Имя

Смысл

Тип

Структура

Исходные данные

A

начальный вклад

вещественный

простая переменная

B

деньги, поступающие

вещественный

простая переменная

ежемесячно

р

начисляемые ежемесячно

вещественный

простая переменная

проценты

N

количество месяцев

целый

простая переменная

Выходные данные

i

номер месяца

целый

простая переменная

V

Величина вклада на

вещественный

простая переменная

начало i-го месяца

Форма ввода

Введите A, B, p, N

< A > < B > < p > < N >

Форма вывода

Номер месяца (i)

Вклад (V)

< i >

< V >

N раз

34


Блок-схема алгоритма

начало

Ввод A,B,p,N

V:=A

i:=1

i n

да

Вывод i,V

V:=V + B

V:=V*(1+p/100)

i:=i+1

конец

35

Программа на Паскале

Program primer2;

Var A,B,p,V:real; N,i:integer;

Begin

Writeln('Введите A,B,p,N'); Readln(A,B,p,N); V:=A; for i:=1 to N do

begin writeln(i:7, V); V:=V+B;

V:=V*(1+p/100); end;

Readln;

End.

Тесты

Тест 1. Входные данные: A=100; B=10; p=0; N=4.

Выходные данные:

i

V

1

100

2

110

3

120

4

130

Тест 2. Входные данные: A=100; B=10; p=1; N=3.

Ниже в фигурных скобках приведено значение V, полученное после вы-

полнения оператора тела цикла для последовательных значений i. Эти данные используются для проверки правильности программы с помощью трассировки.

i=1

writeln(i:7, V); {V=100} V:=V+B; {V=110} V:=V*(1+p/100); {V=111,1}

i=2

writeln(i:7, V); {V=111,1} V:=V+B; {V=121,1} V:=V*(1+p/100); {V=122,311}

36

i=3

writeln(i:7, V); {V=122,311} V:=V+B; {V=132,311} V:=V*(1+p/100); {V=133,63411}

Выходные данные:

i

V

1

100

2

111,1

3

122,311

Приложение 2. Пример проекта отчета по оконному приложению

Условие

А—начальная стоимость оборудования. В первый год эксплуатации стоимость оборудования снижается на В руб., а в каждый следующий год снижение стоимости уменьшается на р % (относительно предыдущего года). Определить, через сколько лет стоимость оборудования станет меньше А/2.

Рассматривать срок не более N лет.

Состав данных

Имя

Смысл

Тип

Структура

Исходные данные

A

начальная стоимость

вещественный

простая переменная

оборудовани

B

начальное снижение стоимости

вещественный

простая переменная

р

процентное уменьшение

вещественный

простая переменная

снижения стоимости

N

максимальное число лет

целый

простая переменная

Выходные данные

i

искомый номер года

целый

простая переменная

Промежуточные переменные

At

текущая стоимость оборудования

вещественный

простая переменная

Bt

текущее ежегодное снижение

вещественный

простая переменная

стоимости

37


Блок-схема алгоритма

начало

Ввод A,B,p,N

At:=A; Bt:=B

i:=1

At≥A/2& i N

да

At:=At - Bt

Bt:=Bt-Bt*p/100

i:=i+1

да

At<A/2

i:=i -1

Вывод

'Срок истек'

Вывод i

конец

38

Эскиз основной формы приложения

Edit1

Начальная стоимость оборудования (A)

Начальное снижение стоимости (В)

Edit2

Уменьшение снижения, % (p)

Edit3

Label

Максимальное число лет (N)

Edit4

Через сколько лет стоимость

уменьшится в 2 раза

Edit5

Вычисление Выход

Button1

Button2

Программный код основного обработчика

Код приведен в лабораторной работе №5.

Тесты

Тест 1. Входные данные: A=100; B=20; p=1; N=5. При трассировке тела цикла получим:

i=1

At:=At-Bt; {At=80} Bt:=Bt-Bt*p/100; {Bt=19,8}

i=2

At:=At-Bt; {At= 60,2} Bt:=Bt-Bt*p/100; {Bt= 19,602}

i=3

At:=At-Bt; {At= 40,598 – меньше A/2!} Bt:=Bt-Bt*p/100; {Bt= 19,40598}

Выходные данные: i=3.

Тест 2. Входные данные: A=100; B=20; p=1; N=2. Результат – фраза: "За 2 лет снижения нет".

39


БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1.Зубов В.С., Батасова В.С. Сборник задач по базовой компьютерной подготовке: учебное пособие по курсу «Информатика»/ В.С. Зубов, В.С. Батасова. — М.: Издательский дом МЭИ, 2007.— 123 с.

2.Батасова В.С. Начальный курс программирования на основе алгоритмического языка Паскаль. Учебное пособие по курсу «Высокоуровневые методы информатики и программирования». – М.: Издательство МЭИ, 2006.–116 с.

3.Маран М.М. Delphi. Начальный курс: учебное пособие / М.М. Маран – М. изд-во МЭИ, 2002. – 100 с.

СОДЕРЖАНИЕ

Введение..................................................................................................................

3

Лабораторная работа №1. Реализация простейших циклических алгоритмов в

консольном приложении среды Delphi..................................................................

4

Лабораторная работа №2. Решение задач обработки массивов в консольном

приложении среды Delphi.......................................................................................

8

Лабораторная работа №3. Проектирование алгоритмов с использованием

подпрограмм и их отладка в консольном приложении.......................................

10

Лабораторная работа №4. Решение задач с параметрами-подпрограммами и

модулями в консольном приложении Delphi.......................................................

11

Лабораторная работа №5. Разработка простейших оконных приложений в

среде Delphi...........................................................................................................

12

Лабораторная работа №6. Создание оконных приложений обработки матриц в

среде Delphi...........................................................................................................

15

Лабораторная работа №7. Программирование открытия и сохранения файлов с

использованием стандартных диалоговых окон .................................................

19

Лабораторная работа №8. Разработка оконных приложений, использующих

автономные модули ..............................................................................................

22

Лабораторная работа №9. Разработка оконных приложений, осуществляющих

графический вывод ...............................................................................................

26

Лабораторная работа №10. Обработка исключительных ситуаций...................

32

Приложение 1.

Пример проекта отчета по консольному приложению.............

33

Приложение 2.

Пример проекта отчета по оконному приложению...................

37

БИБЛИОГРАФИЧЕСКИЙ СПИСОК ..................................................................

40

40