БЕЛОРУССКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Международный институт дистанционного образования
Кафедра "Информационные системы и технологии"
Реферат
по учебной дисциплине
"Языки программирования"
ТЕМА РАБОТЫ:
"Программирование математических задач"
Руководитель: Кондратенок Е.В.
Исполнитель: студент 417319/14
учебной группы Кодатенко Ю.А.
Минск 2010
Содержание
Введение
Введение
Постановка задачи
Постановка задачи
Теоретические основы
Схема алгоритма программы
Разработка си-программы
Результаты выполнения
Заключение
Литература
ВведениеСи - стандартизированный процедурный язык программирования, разработанный в начале 1970-х годов сотрудниками Bell Labs Кеном Томпсоном и Денисом Ритчи как развитие языка Би. Си был создан для использования в операционной системе UNIX. С тех пор он был портирован на многие другие операционные системы и стал одним из самых используемых языков программирования. Си ценят за его эффективность. Он является самым популярным языком для создания системного программного обеспечения. Его также часто используют для создания прикладных программ. Несмотря на то, что Си не разрабатывался для новичков, он активно используется для обучения программированию. В дальнейшем синтаксис языка Си стал основой для многих других языков.
Постановка задачиСоставить алгоритм и программу на языке Си для формирования двух матриц A= [ aij] и B= [ bij] размерностью nxn ( n=10), значения элементов aij иbij определяются по формулам (1). Определить сумму элементов, расположенных на диагоналях каждой матрицы.
Исходные данные:
(1)
Для вычисления сумм использовать функцию.
Матрицы Aи Bи результаты вычисление сумм вывести в файл.
Теоретические основыМатрица - математический объект, записываемый в виде прямоугольной таблицы элементов кольца или поля, которая представляет собой совокупность строк и столбцов, на пересечении которых находятся её элементы. Количество строк и столбцов матрицы задают размер матрицы.
Матрицы широко применяются в математике для компактной записи систем линейных алгебраических или дифференциальных уравнений. В этом случае, количество строк матрицы соответствует числу уравнений, а количество столбцов - количеству неизвестных. В результате, решение систем линейных уравнений сводится к операциям над матрицами.
Матрицы допускают следующие алгебраические операции:
сложение матриц, имеющих один и тот же размер;
умножение матриц подходящего размера (количество строк одной матрицы должно совпадать с количеством столбцов другой); умножение матрицы на элемент основного кольца или поля (т. н. скаляр).
Относительно сложения матрицы образуют абелеву группу; если же рассматривать ещё и умножение на скаляр, то матрицы образуют векторное поле над соответствующим кольцом или полем. Для квадратных матриц матричное умножение является замкнутой операцией, поэтому квадратные матрицы одного размера образуют кольцо относительно матричного сложения и матричного умножения.
В математике рассматривается множество различных типов и видов матриц.
Особое значение в теории матриц занимают всевозможные нормальные формы. Наиболее важной (в теоретическом значении) и проработанной является теория жордановых нормальных форм. На практике, однако, используются такие нормальные формы, которые обладают, например, устойчивостью.
Схема алгоритма программыДля реализации алгоритма и решения задачи, а в частности генерирования значений элементов матрицы, нахождения суммы, запись результата в файл необходима реализация цикла FOR.
Необходимые константы:
const int n=10; для определения размера матриц;
переменные:
i,j,sтипа int;
массивы:
a [n] [n],b [n] [n] типа int;
файловые указатели:
char* fname="c: data.txt";
FILE*input;
Функция для расчета суммы диагоналей матриц intsumm (intf [n] [n], int).
Вывод данных реализовываем с помощью форматного ввода-вывода языка С.
Исходный текст си-программы
#include<stdio.h>
#include <conio.h>
#include <math.h>
const int n=10; // Постоянная переменная размерности массива
int a [n] [n],b [n] [n], i,j,s; // массивы
intsumm (intf [n] [n], int); // прототип функции вычисления суммы диагоналей
char* fname="c: data.txt"; // файловый указатель
FILE*input; // указатель файловой переменной
voidmain ()
{input=fopen (fname,"w"); // открываем файл для записи
if (input! =0) { // проверка отрылся ли файл
fprintf (input,"Матрица А: n"); // запись в файл
for (i=1; i<=10; i++) // организация циклов
{for (j=1; j<=10; j++)
{a [i] [j] =3*i*j-3; // расчет ij-го элемента матрицы
fprintf (input,"%4d ",a [i] [j]); // запись результата в файл
}
fprintf (input,"n");
}
// Запись суммы элементов диагонали в файл
fprintf (input,"Сумма элементов диагоналей матрицы А: %dnn",summ
Наверняка у вас есть товары или услуги, продажа которых приносит вам максимальную прибыль. Для быстрого старта в сети вам необходимо создание посадочной страницы (одностраничного сайта), на которой будет размещена информация о маржинальных товарах/услугах интернет магазина. За 8 лет опыта разработки конверсионных страниц мы выработали оптимальную структуру, которая позволит привлекать через landing page больше продаж. На такую структуру «одевается» ваш контент — фирменный стиль, тексты, фотографии, уникальные торговые предложения, после чего страница выходит в свет. Разработка лендинга и запуск в сети — до 7 рабочих дней. Стоит отметить, что в разработку самой посадочной страницы входит и написание копирайтером продающих текстов для вашего бизнеса, чтобы каждый посетитель страницы захотел совершить покупку именно у вас. Результат: качественно разработаная продающая посадочная страница, которая готова приносить вам новых клиентов.