Файл: Предмет Основы алгоритмизации и программирования Курс.docx

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

Категория: Отчет по практике

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

Добавлен: 12.01.2024

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

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

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

Предмет

Основы алгоритмизации и программирования

Курс

2

Семестр

2

Работа

46

Дата

25.01.2019

Группа

81/82

Фамилия

Иванов

Имя

Иван

Отчество

Иванович

Отчет



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


При наличии изображений и фалов данных выводить пример с описанием (первые строки файлов, записи таблиц, рисунки). При использовании дополнительных данных указывать источник.

  • a, b – числа для выполнения арифметических операций

  • Iris flower data set - https://en.wikipedia.org/wiki/Iris_flower_data_set



  • Изображение Lenna.png - 512x512, RGB (https://en.wikipedia.org/wiki/Lenna)


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


Оформляется также как и входные данные.

  • add – сумма чисел a + b

  • sub – разность чисел a - b

  • mul – произведение чисел a * b

  • div – результат деления чисел a / b


Схема взаимодействия модулей и форм


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


Блок-схема


Если используются таблицы трассирови – к блокам приписать номера.


Дополнительные данные


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

  • Полученная 2D Гистограмма изображения:



  • 3D Гисторгамма (point cloud):



  • Демонстрация работы алгоритма (Brightness and Contrast):


Дополнтельная информация


При использовании формул, геометрии, физики, … Описание алгоритма, пояснение обозначений в формулах на рисунке или текстом.



Формула расчета площади круга:

(где r – радиус окружности)

Таблица трассировки




step #

block #

a

b

c

d

x

x0

x1

info

0

0

-

-

-

-

-

-

-

начало алгоритма

1

1

1

2

3

-

-

-

-

ввод исходных данных

2

2

1

2

3

-8

-

-

-

расчет дискр.

3

3

1

2

3

-8

-

-

-

проверка d < 0

4

5

1

2

3

-8

-

-

-

вывод "нет корней"

5

10

1

2

3

-8

-

-

-

конец алгоритма




step #

block #

a

b

c

d

x

x0

x1

info

0

0

-

-

-

-

-

-

-

начало алгоритма

1

1

1

2

1

-

-

-

-

ввод исходных данных

2

2

1

2

1

0

-

-

-

расчет дискр.

3

3

1

2

1

0

-

-

-

проверка d < 0

4

4

1

2

1

0

-

-

-

проверка d > 0

5

6

1

2

1

0

-1

-

-

расчет корня x

6

8

1

2

1

0

-1

-

-

вывод x

7

9

1

2

1

0

-1

-

-

конец алгоритма




step #

block #

a

b

c

d

x

x0

x1

info

0

0

-

-

-

-

-

-

-

начало алгоритма

1

1

2

3

1

-

-

-

-

ввод исходных данных

2

2

2

3

1

1

-

-

-

расчет дискр.

3

3

2

3

1

1

-

-

-

проверка d < 0

4

4

2

3

1

1

-

-

-

проверка d > 0

5

7

2

3

1

1

-

0.5

-1

расчет корней x0, x1

6

9

2

3

1

1

-

0.5

-1

вывод x0, x1

7

10

2

3

1

1

-

0.5

-1

конец алгоритма



Пример работы


Изображение окна консоли с введенными данными и полученным результатом или окна форм.



Главная форма:


Файлы программы


Сделать скриншот списка файлов практической работы.


Исходный текст


Шрифт Consolas 9-10 или Monospace, убрать межстрочный отступ. Необходимо наличие пояснительной информации в программе (комментарии).

Файл: lab46a.c

#include // EXIT_SUCCESS, malloc(), free(), system()

#include // scanf(), printf(), putchar()

int main(int argc, char *argv)

{
int *a = (int *) malloc(sizeof(int) * 1);

int *b = (int *) malloc(sizeof(int) * 1);
printf("a = ");

scanf("%d", a);
printf("b = ");

scanf("%d", b);
int add = *a + *b;

int sub = *a - *b;

int mul = (*a) * (*b);

int _div = *a / *b;
putchar('\n');
printf("%d + %d = %d\n", *a, *b, add);

printf("%d - %d = %d\n", *a, *b, sub);

printf("%d * %d = %d\n", *a, *b, mul);

printf("%d / %d = %d\n", *a, *b, _div);
free(a);

free(b);
system("pause");

return EXIT_SUCCESS;

}