Информатика

Автор: Пользователь скрыл имя, 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

Работа содержит 1 файл

Курсяк.doc

— 508.00 Кб (Скачать)

      Строки  меню «способ вычисления» и  «вывод результата» не работают пока не будет  введен массив. После ввода массива  необходимо указать способ вычисления. Четыре разных способа создают четыре различных массива.  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

      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. Вирт Н. Алгоритмы+структуры данных=программы.  – М.: «Мир», 1985. – С.406. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

      Приложение 

      Листинг программы 

      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,K,K1,K2,S,S1,S2,S3,S4:Integer;

         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

                                           Begin

                                                Write (Q,'[',i,',',j,']=');

                                                Readln (W[i,j]);

                                           End;

                      End;

      End;

      Procedure AutoVvodmass (var W:mass; Q:string);

      Begin

      For i:=1 to m do

                      Begin

                           For j:=1 to n do

                                           Begin

                                                W[i,j]:=Random (89)+10;

                                           End;

                      End;

      End;

      Procedure Vyvodmass (var W:mass; Q:string);

      Begin

      For i:=1 to m do

                      Begin

                           For j:=1 to n do

                                           Begin

                                                Write (' ',W[i,j],' ');

                                           End;

                           Writeln;

                      End;

      End;

      Procedure VyvodmassG (var W:mass; Q:string);

      Begin

      For i:=1 to m do

                      Begin

                           For j:=1 to n do

                                           Begin

                                                Str(W[i,j],Strin1);

                                                OutTextXY (20+j*40,40+K*30,Strin1);

                                           End;

                           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

                                           Begin

                                                S:=S+W[i,j];

                                                Str(W[i,j],Strin1);

                                                OutTextXY (20+j*40,40+K*30,Strin1);

                                           End;

                             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

                                           Begin

                                                S:=S+W[i,j];

                                                Str(W[i,j],Strin1);

                                                OutTextXY (20+j*40,40+K*30,Strin1);

                                           End;

                             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

                                           Begin

                                                S1:=S1+W[i,j];

                                                Str(W[i,j],Strin1);

                                                OutTextXY (20+j*40,40+K*30,Strin1);

                                           End;

                             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

                                           Begin

                                                S2:=S2+W[i,j];

                                                Str(W[i,j],Strin1);

                                                OutTextXY (20+j*40,40+K*30,Strin1);

                                           End;

                             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

                                           Begin

                                                S3:=S3+W[i,j];

                                                Str(W[i,j],Strin1);

Информация о работе Информатика