46603 (Turbo Pascal)
Описание файла
Документ из архива "Turbo Pascal", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.
Онлайн просмотр документа "46603"
Текст из документа "46603"
Рязанская государственная радиотехническая академия
Кафедра Вычислительной и Прикладной математики
Пояснительная записка
К курсовой работе
по дисциплине
«Алгоритмические языки и программирование»
Рязань 2006
Содержание
Задание на курсовую работу.
Введение.
-
Анализ задания и математическая постановка задачи.
-
Разработка схемы алгоритма и её описание.
-
Инструкция по использованию разработанной программы.
-
Проверка правильности функционирования программы.
-
Текст программы и её описание.
Список литературы.
РЯЗАНСКАЯ РАДИОТЕХНИЧЕСКАЯ АКАДЕМИЯ
ФАКУЛЬТЕТ ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ
КАФЕДРА ВЫЧИСЛИТЕЛЬНОЙ И ПРИКЛАДНОЙ МАТЕМАТИКИ
Задание
на курсовую работу по дисциплине
«Алгоритмические языки и программирование»
Студенту Хамидулину А.Р. группы 041.
Задание 1. Составить программу вычисления матрицы P=f(A,B,C)
f(A,B,C) – матричное выражение. A,B,C – исходные матрицы,
Размер и значение элементов, которых набираются произвольно.
f(A,B,C)=C(A+2B)T.
Сформировать вектор из средних арифметических значений элементов столбцов.
Задание 2. Составить программу вычисления определённого интеграла с погрешностью, не превышающей заданную величину ε. Для проверки программы интегрирования вычислить определённый интеграл с заданной точностью.
Интеграл вычислить с помощью формулы прямоугольников.
Пределы интегрирования: a=1; b=2.
Значения коэффициентов:
c= 1,9; 2,05; 2,1; 2,2.
d= 3; 3,05; 3,1.
Погрешность ε: 10-4.
Дата выдачи задания:
Дата выполнения задания:
Преподаватель:
Баринов В.В.
Введение
Современные средства вычислительной техники и ЭВМ позволяют существенным образом повысить эффективность деятельности инженеров при решении различных задач. При этом наиболее существенным вопросом является организация взаимодействия пользователя со средствами ЭВМ. В настоящей курсовой работе для этих целей использовался диалоговый режим, что позволило существенным образом упростить процесс отладки и работы с программой. В качестве языка программирования выбран изучаемый на занятиях по дисциплине «Алгоритмические языки и программирование» язык программирования «Паскаль». К достоинствам языка следует отнести такие его характеристики, как модульность, универсальность, удобство работы с массивами и т. д.
Задание 1
-
Анализ задания и математическая постановка задачи
При решении поставленной задачи необходимо выполнить следующие действия:
-
Ввести значения элементов матриц A, B, C.
-
Напечатать значения элементов исходных матриц.
-
Провести транспонирование матрицы B, т. е. вычислить матрицу U=BT.
-
Умножить матрицу ВТ на 2, т. е. вычислить матрицу U=2*ВТ.
-
Сложить матрицы A и 2*ВТ, т. е. вычислить матрицу U=A+2*ВТ.
-
Умножить матрицы С и (A+2*BТ), т. е. вычислить матрицу
U=C*(A+2*BT).
-
Вывести матрицу U.
-
Сформировать вектор VECT из средних арифметических значений элементов столбцов.
-
Вывести вектор VECT .
Печать целесообразно реализовать с помощью подпрограммы (процедуры общего вида). Пункты 1-8 целесообразно также оформить в виде подпрограмм.
Матрицей будем называть таблицу чисел:
А11 А12 … А1N
A21 A22 … A2N
- - - - - - - - -
AM1 AM2 … AMN
Если m=n, то матрица называется квадратной, n-порядок.
Произведением 2-х прямоугольных матриц
А11 А12 … А1N
A=A21 A22 … A2N
- - - - - - - - -
AM1 AM2 … AMN
B11 B12 … B1N
B=B21 B22 … B2N
- - - - - - - - -
BM1 BM2 … BMN
называется матрица
C11 C12 … C1N
C=C21 C22 … C2N
- - - - - - - - -
CM1 CM2 … CMN
у которой элемент Сij, стоящий на пересечении i-ой строки и j-ого столбца, равен сумме произведений соответствующих элементов i-ой строки первой матрицы А и j-того столбца 2-ой матрицы В.
Суммой 2-х прямоугольных матриц А=(аi j) и В=(вi j) одинаковых размеров (m х n) называется матрица С=(сi j) тех же размеров, элементы которой равны суммам cответствующих элементов данной матрицы.
2.Разработка схемы алгоритма и её описание
По результатам анализа задания можно составить укрупненную схему алгоритма последовательной структуры:
Проведём детализацию блоков.
1) Подпрограмма ввода матриц.
Имя подпрограммы : inputm.
2) Подпрограмма вывода матриц.
Имя подпрограммы : outputmat.
3) Подпрограмма транспонирования матриц
Имя подпрограммы transpm.
4) Подпрограмма умножения матриц
Имя подпрограммы : multm.
c[i,j]:=c[i,j]+a[i,k]*b[k,j]
5) Подпрограмма умножения матрицы на число
Имя подпрограммы : multconstm.
6 ) Подпрограмма сложения матриц
Имя подпрограммы : sum_m.
7) Подпрограмма формирования вектора из средних арифметических значений элементов столбцов.
Имя подпрограммы : sred_arifm.
Полный алгоритм решения задачи.
Да |
Нет |
3. Инструкция по использованию разработанной программы
Определим исходные данные.
Матрица А: Матрица В: Матрица С:
Описание переменных и массивов:
Исходные сведения | Описание в программе | ||||
Обозначение | Назначение | Идентификатор, размерность | Атрибуты | ||
i, j, k | Индексные переменные | i, j, k | Integer | ||
n | Размерность матриц | n | Word | ||
A, B, C, U, Vect | Матрицы исходных данных и результата | a(10,10), b(10,10), c(10,10), u(10,10), vect(10) | Array of real | ||
a, b, c, z | Матрицы, используемые в подпрограммах | a(10,10), b(10,10), c(10,10), z(10) | Array of real | ||
R,S | Переменная, используемая в подпрограмме | r | Real | ||
m | Переменная, используемая в подпрограмме | m | Char |
4. Проверка правильности функционирования программы.
Введём исходные данные.
Программа выводит для контроля входные данные:
Матрица А: Матрица В: Матрица С:
Вывод результирующей матрицы:
Вывод матрицы Vect:
5.Текст программы и её описание.
В процессе получения результирующей матрицы реализованы следующие действия с массивами:
-транспонирование квадратных матриц произвольной размерности;
-умножение квадратных матриц произвольной размерности;
-сложение квадратных матриц произвольной размерности;
-умножение на число квадратных матриц произвольной размерности;
Все указанные действия реализованы с помощью подпрограмм. Ввод и вывод матриц также реализован в подпрограммах.
Окончательный вариант программы:
Модуль KursUn,содержащий описанные подпрограммы.
Unit KursUn; {*** Начало модуля KursUn ***}
interface {*** Интерфейсная секция ***}
uses crt;
type
matrix= array [1..10,1..10] of real;
vector= array [1..10] of real;
var
i,j,k:integer;
n:word;
procedure outputmat (n:word; a:matrix; m:char);
procedure inputm (n:word; var a:matrix;m:char);
procedure sred_arifm (n:word; a:matrix;var z:vector);
procedure transpm (n:word; a:matrix; var c:matrix);
procedure sum_m (n:word; a,b:matrix; var c:matrix);
procedure multm (n:word; a,b:matrix; var c:matrix);
procedure multconstm (n:word; r:real; a:matrix;var c:matrix);
implementation {*** ИСПОЛНЯЕМАЯ ЧАСТЬ ***}
{***************************************************************************}
{*** процедура ввода матриц ***}
procedure inputm;
begin
clrscr;
writeln;
writeln(' Введите матрицу ',m,' размером ',n,'*',n);