Автор работы: Пользователь скрыл имя, 27 Июня 2012 в 11:51, курсовая работа
При составлении программ применяются различные языки программирования, среди которых Паскаль занимает особое место. Отражая основные концепции структурного программирования, язык Паскаль быстро завоевал популярность среди специалистов. В последнее время широкое распространение получают универсальные языки программирования, в основу которых положены средства и конструкции языка.
ВВЕДЕНИЕ
1. Постановка задачи
2. Алгоритм задачи
3. Описание процедур и функций
4. Пример работы программы
ЗАКЛЮЧЕНИЕ
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ
Федеральное агентство по образованию
Белгородский Государственный Технологический Университет им. В.Г. Шухова
Факультет: энергетический
Специальность: 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
else if (a[i,j]<a[i,j]) and (a[i,j]<>a[i,k]) then F:=False;
if F=True then
begin
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
else if (a[i,j]<a[i,j]) and (a[i,j]<>a[i,k]) then F:=False;
if F=True then
begin
end;
end;
writeln (Fl,'N=',N);
close (Fl);
end;
end;
var
A:Matrix;
begin
Init(A);
Work(A);
end.