Двумерные массивы

Автор работы: Пользователь скрыл имя, 27 Июня 2012 в 11:51, курсовая работа

Описание работы

При составлении программ применяются различные языки программирования, среди которых Паскаль занимает особое место. Отражая основные концепции структурного программирования, язык Паскаль быстро завоевал популярность среди специалистов. В последнее время широкое распространение получают универсальные языки программирования, в основу которых положены средства и конструкции языка.

Содержание работы

ВВЕДЕНИЕ

1. Постановка задачи
2. Алгоритм задачи
3. Описание процедур и функций
4. Пример работы программы

ЗАКЛЮЧЕНИЕ

СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ

Файлы: 1 файл

Курсовик по информ..doc

— 88.00 Кб (Скачать файл)

Федеральное агентство по образованию

Белгородский Государственный Технологический Университет им. В.Г. Шухова

 

 

 

 

 

 

 

Факультет: энергетический

Специальность: 140604

Специализация: 180400

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

 

 

 

 

 

 

 

 

Курсовая работа

 

по дисциплине «Информатика» на тему:

 

«Двумерные массивы»

 

 

 

 

 

 

 

 

 

Выполнил: студент группы ЭА-11 Половнёв Сергей

Проверил: Трухачёв С.С.

 

 

 

 

 

 

 

 

 

 

 

Белгород 2008

 

 

 

 

 

 

 

СОДЕРЖАНИЕ

 

 

ВВЕДЕНИЕ

 

 

1.      Постановка задачи

 

2.      Алгоритм задачи

 

3.      Описание процедур и функций

 

4.      Пример работы программы

 

 

 

ЗАКЛЮЧЕНИЕ

 

 

СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ

 

 

ПРИЛОЖЕНИЕ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ВВЕДЕНИЕ

 

 

Внедрение и широкое использование средств вычислительной техники является одним из главных факторов ускорения научно-технического прогресса в нашей стране. Без использования быстродействующих ЭВМ и современных информационных технологий немыслимо решение задач интенсификации производственной, коммерческой и управленческой деятельности, а также создание конкурентоспособных и эффективных изделий различного применения.

Широкое и многообразное применение ЭВМ предъявляет все более высокие требования к их программному обеспечению. Разработка программ и программных комплексов приобретает характер индустриального производства. Значение программного обеспечения трудно переоценить, так как именно программы определяют и создают «интеллект» компьютера. В то же время процесс создания программ относится к одной из наиболее сложных сфер творческой деятельности человека, требующей больших усилий и специальной технологии разработки.

При составлении программ применяются различные языки программирования, среди которых Паскаль занимает особое место. Отражая основные концепции структурного программирования, язык Паскаль быстро завоевал популярность среди специалистов. В последнее время широкое распространение получают универсальные языки программирования, в основу которых положены средства и конструкции языка.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1. Постановка задачи

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2. Алгоритм программы

 

 

 

 

 

             

             

 

 

 

 

 

 

 

 

             

 

 

 

3. Описание процедур и функций

 

В практике программирования достаточно часто встречаются алгоритмы, в которых повторяются фрагменты, одинаковые по выполняемым действиям и различаются только значениями обрабатываемых данных. При составлении программы по такому алгоритму приходится задавать одну и ту же группу операторов соответственно для каждого из повторяющихся фрагментов. Для более эффективного программирования подобных алгоритмов в языках вводится понятие подпрограммы. Повторяющаяся группа операторов оформляется в виде самостоятельной программной единицы со своими входными и выходными данными – подпрограммы, записываются однократно, а в соответствующих местах программы обеспечиваются лишь обращения к ней (ссылки) и передача данных.

Использование подпрограмм позволяет улучшить программу, делает ее более наглядной, облегчает процесс проектирования, разработки и отладки программы. В языке Паскаль подпрограммы реализуются в виде процедур и функций, которые вводятся в программу с помощью своего описания.

 

В данной программе используется 2 процедуры: Init и Work.

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

Процедура Init состоит в том, что в ней вводится матрица. В названии данной процедуры в скобках указывается тип формального параметра, т.е. матрицы А. Она является выходным данным и ее тип записывается после слова var. Данный тип был описан в разделе описания типов переменных. Для ее введения используются 2 цикла со счетчиком, т.к. известно число повторений.

После названия процедуры указываются локальные переменные в разделе переменных. Типы этих переменных указываются после двоеточия – это text (текстовый файл), string (символьный тип) и integer (целые числа).

Далее идет ввод матрицы либо с клавиатуры, либо из файла по желанию пользователя. Причем, при вводе элементов из файла, сначала определяется имя файла на диске процедурой Assign, далее открывается файл процедурой Reset. При окончании работы с файлом, он закрывается процедурой Close.

Процедура Work выполняется для нахождения требуемых элементов матрицы. Сначала выбирается строка, в которой сравниваются все элементы данной строки с выбранным элементом. Путем повторений данных действий находятся элементы, слева от которых находятся только меньшие значения, а справа – только большие.

В процедуре Work используются переменные, как вышеуказанных типов, так и логического типа – boolean. Переменные этого типа принимают значения true (истина) или false (ложь).

Далее переменной N, обозначающей количество элементов, которых надо найти, присваивается значение - ноль. Потом при нахождении каждого элемента значение этой переменной увеличивается на 1. 

 

 

 

 

 

1.      Пример работы программы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ЗАКЛЮЧЕНИЕ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ

 

1.      Новичков В.С., Парфилова Н.И. Алгоритмизация и программирование На Турбо Паскале: Учебное пособие. – М.: Горячая линия – Телеком, 2005.

2.      Алексеев В.Е. Вычислительная техника и программирование. Прктикум по программированию. – М.: Высшая школа, 1991.

3.      Симонович С.В. Информатика. Базовый курс. 2-е издание. – СПб.: Питер, 2004.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ПРИЛОЖЕНИЕ

 

program kursovik;

type

    Matrix = array [1..5, 1..5] of real;

 

procedure Init(var A:Matrix);

var

   Fl:text;

   st,Put:string;

   i,j:integer;

begin

     writeln ('esli vi hotite vvesti dannie s klaviaturi, nazmite "1", esli iz faila - "2"');

     readln (st);

     if st='1' then

             for i:=1 to 5 do

                 for j:=1 to 5 do

                     begin

                          read (a[i,j]);

                          writeln ('a[',i,',',j,']=',a[i,j]:3:1);

                     end

        else

        begin

             writeln ('vvedite put k failu');

             readln (Put);

             assign (Fl, Put);

             reset (Fl);

             for i:=1 to 5 do

                 for j:=1 to 5 do

                     begin

                          read (Fl,a[i,j]);

                          writeln ('a[',i,',',j,']=',a[i,j]:3:1);

                     end;

             close (Fl);

        end;

end;

 

procedure Work(A:Matrix);

var

   Fl:text;

   i,j,k,N:integer;

   F: boolean;

   st,Put: string;

begin

     writeln ('dlya vivoda naydennogo znacheniya v fail nazmite "2", dlya vivoda na ekran - "1"');

     readln (st);

     if st='1' then

        begin

             N:=0;

             for i:=1 to 5 do

                 for k:=2 to 4 do

                     begin

                          F:=True;

                          for j:=1 to 5 do

                              if i<k then

                                 begin

                                      if a[i,j]>a[i,k] then F:=False;

                                 end

                              else if (a[i,j]<a[i,j]) and (a[i,j]<>a[i,k]) then F:=False;

                          if F=True then

                             begin

                                  writeln (a[i,j]:6:4);

                                  N:=N+1;

                             end;

                     end;

             writeln ('N=',N);

        end

 

        else

            begin

                 writeln ('vvedite put k failu');

                 readln (Put);

                 assign (Fl, Put);

                 rewrite (Fl);

                 N:=0;

                 for i:=1 to 5 do

                 for k:=2 to 4 do

                     begin

                          F:=True;

                          for j:=1 to 5 do

                              if i<k then

                                 begin

                                      if a[i,j]>a[i,k] then F:=False;

                                 end

                              else if (a[i,j]<a[i,j]) and (a[i,j]<>a[i,k]) then F:=False;

                          if F=True then

                             begin

                                  writeln (Fl,a[i,j]:6:4);

                                  N:=N+1;

                             end;

                     end;

                  writeln (Fl,'N=',N);

                  close (Fl);

            end;

end;

 

var

   A:Matrix;

 

begin

     Init(A);

     Work(A);

end.

 

Информация о работе Двумерные массивы