Программирование математических задач

Си - стандартизированный процедурный язык программирования. Алгоритм и программа на языке Си для формирования двух матриц с определенной размерностью и значением элементов. Применение матриц в математике. Исходный текст программы и результаты выполнения.

Рубрика Программирование, компьютеры и кибернетика
Вид реферат
Язык русский
Дата добавления 23.12.2010
Размер файла 1,4 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

8

БЕЛОРУССКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Международный институт дистанционного образования

Кафедра "Информационные системы и технологии"

Реферат

по учебной дисциплине

"Языки программирования"

ТЕМА РАБОТЫ:

"Программирование математических задач"

Руководитель: Кондратенок Е.В.

Исполнитель: студент 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;

Функция для расчета суммы диагоналей матриц int summ (int f [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; // массивы

int summ (int f [n] [n], int); // прототип функции вычисления суммы диагоналей

char* fname="c: \\data.txt"; // файловый указатель

FILE *input; // указатель файловой переменной

void main ()

{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,"Сумма элементов диагоналей матрицы А: %d\n\n",summ (a,n));

fprintf (input,"Матрица В: \n");

for (i=1; i<=10; i++)

{for (j=1; j<=10; j++)

{b [i] [j] =2*i*j-2;

fprintf (input,"%4d ",b [i] [j]); }

fprintf (input,"\n");

}

s=summ (b,n);

fprintf (input,"Сумма элементов диогоналей матрици B: %d\n",s);

}

fclose (input);

printf ("Результаты сохранены в файле: C: \\data.txt.");

}

int summ (int f [n] [n], int h) // функция расчета суммы элементов диогонали

{int sm,k;

for (k=1; k<=h; k++)

{sm+=f [k] [h-k+1]; // Побочная диогональ

sm+=f [k] [k]; // Главная диогональ

}return sm; }

Результаты выполнения

Запуск

На экране:

Просмотр результата в файле: (рисунок 1)

Рисунок 1.

Заключение

В ходе выполнения курсовой работы были закреплены практические навыки в разработке программ на языке Си (построение схемы алгоритма программы, составление на его основе исходного текста программы, отладка программы, получение результатов). Таким образом, курсовая работа показала, что язык Си является необходимым инструментальным средством для решения сложных инженерно-технических задач.

Литература

1. Беллман Р. Введение в теорию матриц. - М.: Мир, 1969 (djvu).

2. Часть 1. (Язык программирования Си). Типография ВА РБ. Минск 1996.

3. Моя первая программа на С/С++.А. Нейбауэр.

4. Конспект лекций.


Подобные документы

  • Формулировка, спецификация и математическая постановка задачи. Описание схемы алгоритма. Рассмотрение результата машинного тестирования программы. Получение на занятиях навыков алгоритмизации и программирования задач на языке высокого уровня C#.

    курсовая работа [268,2 K], добавлен 22.03.2015

  • История и задачи разработки языка программирования Pascal. Понятие и характерные особенности типизированного файла, основные операции с файловыми переменными. Блок-схема алгоритма и исходный текст программы для обработки сведений об учениках школы.

    контрольная работа [55,3 K], добавлен 31.07.2013

  • Стандартизированный процедурный язык программирования. Создание системного программного обеспечения и прикладных программ. Особенности языка Си, его основные недостатки. Передача параметров в функцию по значению. Стандартная библиотека языка Си.

    презентация [396,3 K], добавлен 12.11.2012

  • Широкое применение вычислительной техники как в общей математике, так и в одном из её разделов – математических методах. Ознакомление с решением задач линейного программирования симплекс-методом и графически. Составлена программа на языке Delphi.

    курсовая работа [57,1 K], добавлен 04.05.2010

  • Исходный текст программы и ее экранная форма. Программа вычисления и выдачи на печать суммы/произведения элементов бесконечного числового ряда, вычисления числового ряда для известного числа членов ряда. Значение максимального элемента в матрице.

    контрольная работа [29,0 K], добавлен 07.12.2010

  • Методы языка программирования C#. Алгоритмизация и программирование задач на языке высокого уровня C#. Внутренний цикл, ветвление, внешний цикл, вложенные друг в друга структуры ветвления. Вывод элементов массива на экран. Остальные элементы матрицы.

    курсовая работа [250,2 K], добавлен 27.02.2015

  • Разработана программа решения двух задач на языке программирования Turbo Pascal. Спецификация задания. Описание входных и выходных данных. Математическая постановка задачи. Алгоритм ее решения. Описание и блок-схема программы. Результаты тестирования.

    курсовая работа [275,8 K], добавлен 28.06.2008

  • Вывод преобразованной матрицы с новым содержимым вектора. Выдача на печать преобразованных матриц. Построение программы с массивами любой размерности, содержащими произвольные элементы. Расположение в матрице элементов в определенной последовательности.

    контрольная работа [74,9 K], добавлен 12.01.2010

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

    лабораторная работа [858,0 K], добавлен 23.11.2014

  • Анализ существующих функциональных языков: история, семейства, преимущества. Анализ эффективности параллельного программирования для задачи обработки графического представления фрактальных функций. Программа умножения матриц, обработки изображения.

    дипломная работа [2,5 M], добавлен 12.01.2016

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.