Автор: Пользователь скрыл имя, 30 Марта 2010 в 10:32, курсовая работа
ЗАДАНИЕ: Задана действительная матрица размера n*m. Построить матрицу той же размерности, если каждый элемент новой матрицы равен сумме элементов в не заштрихованной области.
Задание на курсовую работу…………………………………………………2
Замечания руководителя……………………………………………….……..3
Введение…...………………….……………………………………………….5
1. Теоретическая часть…………….………………………………………….6
1.1 Стандартные типы данных……….……………………………….……6
1.2 Массивы в языке программирования Pascal…….…………………….9
1.3 Процедуры и функции…………………………………………….…....10
1.4 Графические возможности языка программирования Pascal………..13
2. Экспериментальная часть………………………………………………….15
2.1 Постановка задачи……………………………………………….……..15
2.2 Алгоритм решения задачи……………………………………….….....15
2.3 Описание диалога с пользователем……………………………….…..25
2.4 Контрольный пример……………………………………………….….26
Заключение…………………………………………………………………….27
Список литературы……………………………………………………………28
Приложение……………………………………………………………………29
Строки
меню «способ вычисления» и «вывод
результата» не работают пока не будет
введен массив. После ввода массива
необходимо указать способ вычисления.
Четыре разных способа создают четыре
различных массива.
2.4
Контрольный пример
Введем
массив вручную, используя определенные
данные. Например:
Несложно подсчитать результат сложения:
а) S1=135;
б) S2=255;
в) S3=221;
г) S4=221;
Программа создает массив той же размерности, что и исходный, каждый элемент этого массива равен сумме элементов (способ вычисления суммы элементов определяется пользователем).
Исходя
из приведенного нами примера следует,
что программа создает 4 массива:
а)
Результатом работы программы
является вывод рассчитанных
данных на экран персонального
компьютера.
б)
в)
г)
Результатом работы программы является вывод рассчитанных данных на экран персонального компьютера. Выход из программы осуществляется выбором одного из пунктов меню (Exit) либо нажатием клавиши Esc. Программа имеет достаточно легкий для понимания интерфейс.
Заключение
Практические занятия используются для тщательного изучения содержательно-методических принципов построения программы. С этой целью активно применяются учебные пособия, содержания и структуры прикладного программного обеспечения, обсуждения методики изучения отдельных тем курса с различными вариантами технического и методического обеспечения, в том числе сопровождаемого самостоятельными программными разработками студентов. Разработки и обсуждения материалов по информатике и вычислительной технике – это необходимая часть образовательной программы высшего учебного заведения. Полученные навыки программирования в среде разработок Pascal и Delphi внесут определенную лепту в дальнейший образовательный процесс.
В ходе выполнения курсовой работы была создана программа, имеющая довольно простой и удобный интерфейс. Программа работает в режиме текстового диалога с пользователем. После запуска программы появляется удобное графическое меню, состоящее из пяти пунктов. Каждый пункт меню выполняет определенные операции. Наличие такого удобного пользовательского интерфейса позволяет работать с созданной программой практически любому пользователю.
Несомненно,
программа предназначена для осуществления
определенных действий над заданной матрицей.
Результатом работы программы является
создание нового массива.
Список
литературы
1.
Фаронов В.В. Турбо Паскаль
7.0 М.: Нолидж,2002
2.
ГОСТ 19.003-80. Единая
система программной документации.
Схемы алгоритмов и программ.
Обозначения условные и графические. -М.:
Государственный комитет СССР по стандартам.
1988, -144 с.
3.
Вирт Н. Алгоритмы+структуры
Приложение
Листинг
программы
Program Kurs9k;
Uses Crt,Graph;
Label P,M2,M3;
Type
Mass = array [1..100,1..100] of Integer;
Var
GD,GM:Integer;
Ch:Char;
TekDeystvie,True,m,n,u,u1,i,j,
A,B:mass;
Strin1,Strin2,Strin3:String;
Procedure Vvodmass (var W:mass; Q:string);
Begin
For i:=1 to m do
Begin
For j:=1 to n do
End;
End;
Procedure AutoVvodmass (var W:mass; Q:string);
Begin
For i:=1 to m do
Begin
For j:=1 to n do
End;
End;
Procedure Vyvodmass (var W:mass; Q:string);
Begin
For i:=1 to m do
Begin
For j:=1 to n do
Writeln;
End;
End;
Procedure VyvodmassG (var W:mass; Q:string);
Begin
For i:=1 to m do
Begin
For j:=1 to n do
Writeln;
K:=K+1;
End;
K:=0;
End;
Procedure Summa1 (var W:mass; Q:string);
Begin
u:=n;
For i:=1 to m do
Begin
For j:=1 to u do
OutTextXY (20+j*40,40+K*30,Strin1);
Writeln;
K:=K+1;
u:=u-1;
End;
K:=0;
u:=0;
End;
Procedure AvB (var W:mass; Q:string);
Begin
For i:=1 to m do
Begin
For j:=1 to n do W[i,j]:=S;
End;
End;
Procedure Summa2 (var W:mass; Q:string);
Begin
u:=n;
u1:=n;
For i:=1 to m do
Begin
For j:=u to u1 do
Writeln;
K:=K+1;
u:=u-1;
End;
K:=0;
u1:=0;
u:=0;
End;
Procedure Summa3 (Var W:mass; Q:String);
Begin
If (m mod 2=0) Then True:=0 Else True:=1;
u:=Trunc(n/2)+1;
u1:=Trunc(m/2)+True;
K:=u1-True;
For i:=u to n do
Begin
For j:=1 to u1 do
Writeln;
K:=K+1;
u1:=u1-1;
End;
If True=1 Then S1:=S1-W[u,u];
K:=0;
u:=Trunc(n/2);
u1:=n;
For i:=1 to u do
Begin
For j:=u1 to n do
Writeln;
K:=K+1;
u1:=u1-1;
End;
K:=0;
u:=Trunc(n/2);
u1:=1;
For i:=1 to u do
Begin
For j:=1 to u1 do
S3:=S3+W[i,j];