Файл: Предмет Основы алгоритмизации и программирования Курс.docx
Добавлен: 12.01.2024
Просмотров: 21
Скачиваний: 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
#include
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;
}