Задание на «КОМПЬЮТЕРНЫЙ ПРАКТИКУМ» и общие методические указания по его выполнению
Для студентов 1 курса ИИДС
специальности 7.160103 «Управление информационной безопасности»
(срок прохождения практики с 14.06.2010 по 04.07.2010 г.)
Примечание: задания на компьютерный практикум состоит из 2 разделов
Раздел №1
Тема: Решение задач линейной алгебры
в системе программирования Turbo C (Borland C++)
Задание №1 : Изучить метод Гаусса для решения систем линейных алгебраических систем уравнений четвертого порядка. Разработать блок-схему алгоритма и программу для решения этой задачи в системе программирования Turbo C (Borland C++)
Номер варианта выбирается согласно двух последних цифр номера зачетной книжки (варианты заданий см. в таблицу №1).
Таблица 1
99,69 |
Дата рождения студента (например14,05) |
53 |
-4 |
Сума попередніх коефіцієнтів відповідного рядка |
-138,41 |
Дата рождения матери студента (например 12,04) |
-6,31 |
5,6 |
|
55 |
Две последние цифры зачетной книжки. Номер группы (например 32,132) |
Три последние цифры номера паспорта |
1,4 |
|
33 |
Две первые исключая впереди стоящие нули цифры номера паспорта |
-3,28 |
-0,28 |
Раздел №2
Тема: Система программирования Turbo C (Borland C++) в инженерных расчетах
Задание: Исследовать поведение векторной функции на заданном множестве значений аргумента (согласно уже выданного раннее варианта задания) средствами Системы программирования Turbo C (Borland C++)
Номер варианта выбирается согласно двух последних цифр номера зачетной книжки (варианты заданий см. в приложении №2)
ТРЕБОВАНИЯ К ВЫПОЛНЕНИЮ ЗАДАНИЙ:
Требования к выполнению задания №1:
Требуется решить систему линейных алгебраических систем уравнений четвертого порядка методом Гаусса.
Разработать блок-схему алгоритма и программу для решения этой задачи в системе программирования Turbo C (Borland C++).
Требования к выполнению задания №2:
Требуется исследовать поведение функции в среде программирования Turbo C (Borland C++) своего варианта задания предварительно разработав блок-схему алгоритма и программу на языке С или С++.\
Общие требования к выполнению заданий:
Сформировать текст программ в текстовом редакторе системы программирования и сохранить в разных файлах с расширением .c (.cpp). Базовое имя для файла, где будет сохранена исходная программа студент может выбрать самостоятельно.
Откомпилировать программы (создать файлы с расширением .obj).
Выполнить линкование программ (создать файлы с расширением .exe).
Отладить программы и вывести результаты их работы на экран дисплея.
Распечатать текст программ и результаты их работы.
Распечатки включить в содержимое общего отчета по компьютерному практикуму.
Требования по оформлению отчета по компьютерному практикуму:
1. Работа должна содержать такие разделы:
Титульный лист выполненный согласно ГОСТ с указанием темы и варианта задания (пример оформления титульного листа в приложении № 3) .
Цели заданий:
Цель задания №1:
Математическую постановку задачи согласно задания №1. Дать краткую характеристику метода Гаусса.
Привести таблицу коэффициентов согласно заданию №1.
Разработать блок-схему алгоритма для решения задач по методу Гаусса.
Привести распечатку программы.
Привести результаты расчетов отображенных на экране дисплея.
Цель задания №2:
Математическую постановку задачи согласно выбранного варианта задания с диаграммой поведения функции на числовой оси.
Формульную постановку задачи реализовать посредством приложения MSEquation редактора Word.
Диаграмму поведения функции на числовой оси можно реализовать посредством любого графического редактора.
Разработанную блок-схему алгоритма
Распечатку текста программы и результаты ее работы
Выводы по работе.
Приложение №1:
Краткие теоретические сведения о среде программирования Turbo C (Borland C++) и языке С или С++, а также об этапах решения инженерных задач посредством систем программирования.
Список литературы
Примечание:
Блок-схемы алгоритмов должны быть выполнены согласно ГОСТ
Работа должна быть сшита
Операторы в тексте программы и на блок-схеме алгоритма должны сопровождаться комментариями
Объем работы 20-25 страниц формата А4
Материалы заданий на компьютерный практикум рассмотрены и одобрены на заседании кафедры БИТ « ____ »_________ 2010 года, протокол № ________
Заведующий кафедрой А.Г. Корченко
Секретарь кафедры И..Л. Ковалева
Разработчики заданий на компьютерный практикум
К.т.н. Доцент Тимошенко Н.П.
Ассистент Вишневська Н.С.
Пример оформления задания №2
ΙΙ Постановка задачи:
Исследовать поведение функции на заданном множестве значений аргумента:
Пример оформления поведения функции на числовой оси:
ΙΙΙ Диаграмма поведения функции:
Пример оформления блок-схемы алгоритма одного из вариантов задания:
(блок-схема алгоритма в приведенном примере выполнена с нарушением ГОСТа
на размеры символов операций)
Блок-схема алгоритма (для файла ivanov.c)
(головная функция)
Блок-схема алгоритма
( Функция пользователя )
Пример распечатки текста программы одного из вариантов:
(Функция пользователя и программы сохранены в одном файле (popov.cpp)):
#include<stdio.h>
#include<math.h>
#include<conio.h>
main()
{ float x; /*раздел объявлений*/
double sum, pro, y, funp(double p, double c);
int a; /*объявление целым типом*/
clrscr(); /*очистить экран (хранится в conio.h)*/
printf ("write x\n"); /*опер. Вызова ф-и printf*/
scanf ("%f",&x); /*оператор вызова функции ввода данных scanf*/
if (x<1 && x>0 || x>3) /*начало ветвления if*/
{ pro=1; /*оператор присваивания*/
for(a=1; a<=5; a=a+1) /*начало внешнего цикла for*/
{ sum=0; /*тело цикла for*/
for(a=1; a<=5; a=a+1) /*начало внутреннего цикла for*/
{ sum=sum+pow((x*a),-1)+1.8*pow(10,3);}
y=pro*(a+x)*sum;
} printf ("y1=%e\n", y); /*опер. Вызова printf*/
}
else if(x==3 || x==1 || x==0) /*начало ветвления else if*/
{y=pow(log(sqrt(fabs(x-2))+sqrt(fabs(x-2.6))),2); /*оп. Присв.*/
printf("y2=%e\n",y); /*оп. Вызова printf*/
}
else if(x>0 && x<3) /*начало ветвления else if*/
{y=funp(x,-35+pow(x,-2))-pow(10,2)+sin(pow(x,2))-log(fabs(x));
printf("y3=%e\n",y); /*опер. Вызова printf*/
}
else printf ("function no math"); /*если х не входит ни в один из*/
/*описанных выше интервалов, напиши: «Function y no math»*/
return 0; /*оператор возврата*/
}
/*Определение функция пользователя funp с формальными аргументами*/
double funp(double p, double c)
{ double res1, sum1; /*объявление вспомогат. перем. Действит. типом */
/* двойной длины*/
int i;
sum1=0; /*Опер. Присваиван. обнуляет первоначальное значение суммы */
for(i=1; i<=10; i=i+1) /*оп. Цикла for*/
{ sum1=sum1+(i*pow(p+c,3)); } /*тело цикла for*/
res1=log(fabs(p*c))*pow(p,3)+sum1; /*опер. присваивания*/
printf ("res1=%e\n", res1);
return res1; /*оп. возврата*/
}