ПрИМЕР ОТЧЕТА ПО ЛАБОРАТОРНОЙ РАБОТЕ

ОБЩИЕ УКАЗАНИЯ

Целью выполнения лабораторных работ по дисциплинам «Информатика», «Вычислительная техника и программирование», «Языки программирования» является изучение одного из языков программирования высокого уровня, приобретение навыков самостоятельной разработки и отладки программ.

Лабораторные работы проводятся по следующим темам:

- Программирование линейных алгоритмов.

- Программирование разветвляющихся алгоритмов.

- Программирование циклических алгоритмов. Табулирование функции.

- Программирование циклических алгоритмов. Вложенные циклы.

- Циклическая обработка одномерных массивов.

- Циклическая обработка двумерных массивов.

- Подпрограммы. Использование функций.

- Подпрограммы. Использование процедур.

- Подпрограммы. Использование подпрограмм для обработки массивов.

Программы по каждой теме разрабатываются либо в виде консольного приложения, либо в виде приложения Windows.

Лабораторные работы выполняются по вариантам. Цель каждой работы и общая для всех вариантов постановка задачи сформулированы до перечня вариантов.

 

Рекомендуется следующий порядок подготовки и выполнения лабораторных работ.

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

2. Анализ задачи и разработка алгоритма ее решения. (Алгоритм может быть представлен как на псевдокоде, так и в виде схемы алгоритма).

3. Разработка программы.

4. Отладка и тестирование программы.

5. Подготовка отчета по лабораторной работе.

6. Защита лабораторной работы.

 

После выполнения всех лабораторных работ рекомендуется ознакомиться с пособиями [2], [3], в которых на конкретных примерах из судостроения подробно разобран процесс решения реальных инженерных задач на ЭВМ.

Ниже представлены пример отчета по лабораторной работе, и варианты задач для самостоятельного решения по основным темам курса. В ряде случаев варианты представляют из себя переработанные материалы [4]. При подборе примеров использовались также другие источники, например [5].

ПрИМЕР ОТЧЕТА ПО ЛАБОРАТОРНОЙ РАБОТЕ

Основная часть отчета должна содержать следующие разделы:

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

2. Метод решения и алгоритм.

3. Программа.

4. Результаты тестирования и выполнения программы.

5. Заключение.

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

1.1. Исходное условие

Вычислить корни квадратного уравнения

1.2. Уточнение постановки задачи

Исходные данные: вещественные коэффициенты уравнения а, b, с.

Результаты: два вещественных корня х1 и х2 или вещественная α и мнимая β части двух комплексно-сопряженных корней.

2. Метод решения и алгоритм

2.1. Метод решения

Если d= b2-4ac 0, корни определяются по формулам:

 

.

Если d = b2-4ac<0, корни определяются по формулам:

, .

 

2.2. Алгоритм

Алгоритм решения задачи включает одну алгоритмическую единицу (назовем ее Roots) и может быть представлен в следующем виде.

 

Алгоритм Roots

переменные

a, b, c : вещ; {входные параметры}

х1, х2 : вещ; {выходные параметры – вещественные корни}

α, β : вещ; {выходные параметры- вещ. И мнимая части

комплексно-сопряженных корней }

d : вещ; {вспомогательный параметр}

начало

ввести (a, b, c);

если d 0

то х1: = (-b + )/2a ; х2: = (-b - )/2a ;

вывести (‘корни вещественные’, х1, х2 )

иначе α: = -b/2a ; ß: = /2a ;

вывести (‘корни комплексно-сопряженные ’,

α, ‘+j’, β, α, ‘-j’, β)

ке

конец

Учитывая дальнейшую программную реализацию, представим объекты алгоритма в виде таблицы.

Объекты алгоритма
Имена Описания
Алгоритм Программа
a a Входной, вещ.
B b Входной, вещ.
C c Входной, вещ.
D d Вспомогательный, вещ.
X1 x1 Выходной, вещ.
X2 x2 Выходной, вещ.
Α Alfa Выходной, вещ.
Β Beta Выходной, вещ.

3. Программа

3.1. Интерфейс

3.2. Программа на языке Delphi

procedure TForm1.Button1Click(Sender: TObject);

{-------------------------------------------------------------------------}

{--- Вычисление корней квадратного уравнения ---}

{--- Входные параметры: ---}

{--- a, b, c - коэффициенты уравнения ---}

{--- Выходные параметры: ---}

{--- х1, х2 - вещественные корни ---}

{--- или ---}

{--- Alfa, Beta - вещественная и мнимая ---}

{--- части комплексно-сопряженных корней ---}

{-----------------------------------------------------------------------}

Var

a,b,c : real; { коэффициенты уравнения }

x1, x2 : real; { вещественные корни }

Alfa, Beta : real; { вещественная и мнимая части }

d : real; { рабочая переменная }

Begin

{Ввод исходных данных}

a:= StrToFloat(Edit1.Text);

b:= StrToFloat(Edit2.Text);

c:= StrToFloat(Edit3.Text);

{Вычисления}

d := b*b - 4.0*a*c;

if d >=0.0

then begin

x1 := ( - b + sqrt (d) ) / (2.0 * a) ;

x2 := ( -b - sqrt (d) ) / (2.0 * a) ;

Label4.Caption := 'Корни вещественные:' + #13 +

'х1= '+ FloatToStr(x1) + #13 +

'х2= '+ FloatToStr(x2);

end

else begin

Alfa := - b / (2.0 *a) ;

Beta := sqrt (abs (d)) / (2.0 *a) ;

Label4.Caption := 'Корни комплексно-сопряженныe:' + #13 +

'х1= '+ FloatToStr(Alfa) + '+ ' + FloatToStr(Beta) + ' j' + #13 +

'х2= '+ FloatToStr(Alfa) + '- ' + FloatToStr(Beta) + ' j';

end;

end;

4. Результаты тестирования и выполнения программы

Для анализа правильности программы необходимо проверить ее работу при различных вариантах исходных данных. Тестовые примеры, выбранные для данной задачи, предусматривают проверку работы обеих ветвей программы. Результаты тестирования представлена ниже.

Исходные данные: а = 1.00 b = 0.00 c = -1.00.

Результаты: Корни вещественные: х1= 1.00 х2 = -1.00.

Исходные данные: а = 1.00 b = 0.00 c = 1.00.

Результаты: Корни комплексно-сопряженные:

х1= 0.00 + 1.00 j х2= 0.00 – 1.00 j.

Исходные данные: а = 1.00 b = -2.00 c = 1.00.

Результаты: Корни вещественные: х1= 1.00 х2= 1.00.

Исходные данные: а = 1.00 b = -4.00 c = 5.00.

Результаты: Корни комплексно-сопряженные:

х1= 2.00 + 1.00 j х2= 2.00 – 1.00 j

5. Заключение

Программа проверена. Решение задачи закончено.