Автор работы: Пользователь скрыл имя, 14 Февраля 2012 в 15:45, курсовая работа
Целью моей курсовой работы является приобретение и закрепление навыков в организации вычислительных процессов и программирования на алгоритмическом языке Pascal. Основной частью курсовой является рассмотрение модульного программирования (использование процедур и функций) и файлов (рассмотрение функций открытия и закрытия файлов).
Введение………………………………………………………………………………………………….. 3
Часть 1. Модули в Турбо Паскале.
Теоретические сведения по теме «Модули»…………………………………………. 4
Алгоритм подпрограммы процедуры form (схема 1.)…………………………… 6
Алгоритм подпрограммы процедуры vivod (схема 2.)…………………………. 6
Алгоритм подпрограммы функции get_kol (схема 3.)…………………………… 7
Алгоритм подпрограммы процедуры umn (схема 4.)…………………………… 7
Алгоритм вызывающей программы……………………………………………………… 8
Программа создания модуля………………………………………………………………… 8
Вызывающая программа……………………………………………………………………….. 10
Результаты выполнения программы…………………………………………………….. 11
Часть 2: «Файлы в Турбо Паскале»
Теоретические сведения по теме «Файлы»………………………………………….. 12
Схемы алгоритма……………………………………………………………………………………. 15
Программа создания файла…………………………………………………………………... 18
Программа обработки записи……………………………………………………………….. 19
Результаты выполнения программы…………………………………………………….. 20
Заключение…………………………………………………………………………………………….. 22
Список использованной литературы…………………………………………………….. 23
Федеральное Агентство Связи
Сибирский Государственный Университет Телекоммуникаций и Информатики
Кафедра Информатики
Курсовая работа на тему:
«Модули и
Файлы»
Выполнила:
Студентка 1 курса, ф. АЭС,
гр. А-94 Сбитнева Ольга.
Проверила:
Парначева Т.И.
Новосибирск
2010 г.
Содержание.
Введение…………………………………………………………
Часть 1. Модули в Турбо Паскале.
Теоретические сведения по теме «Модули»…………………………………………. 4
Алгоритм подпрограммы процедуры form (схема 1.)…………………………… 6
Алгоритм подпрограммы процедуры vivod (схема 2.)…………………………. 6
Алгоритм подпрограммы функции get_kol (схема 3.)…………………………… 7
Алгоритм подпрограммы процедуры umn (схема 4.)…………………………… 7
Алгоритм вызывающей
программы………………………………………………………
Программа создания
модуля………………………………………………………………
Вызывающая программа…………………………
Результаты выполнения
программы…………………………………………………….
Часть 2: «Файлы в Турбо Паскале»
Теоретические сведения по теме «Файлы»………………………………………….. 12
Схемы алгоритма………………………………………………………
Программа создания
файла…………………………………………………………………
Программа обработки
записи………………………………………………………………
Результаты выполнения
программы…………………………………………………….
Заключение……………………………………………………
Список использованной
литературы……………………………………………………
Введение.
Целью моей курсовой
работы является приобретение и закрепление
навыков в организации
Часть 1:
«Модули в Турбо
Паскале».
Стандартный Паскаль не предусматривает раздельной компиляции подпрограмм с дальнейшей сборкой в общую программу. В Турбо Паскале эту задачу можно решить, создав и откомпилировав модуль.
Модули бывают стандартные
и нестандартные (созданные пользователем).
Использование пользовательских модулей
позволяет повысить уровень структурированности
программы, что обеспечивает их понятность
и простоту модернизации.
Структура модуля:
Unit имя_модуля;
interface
…
раздел открытых описаний (раздел объявлений);
…
implementation
раздел закрытых описаний (раздел реализации);
begin
раздел операторов
end.
-В разделе объявлений
описываются глобальные
-В разделе реализации
записываются все подпрограммы,
объявленные ранее, причем
-В разделе операторов
помещаются те операторы,
Замечание: модуль сохраняется на диске под тем же именем, что и сам модуль. Модуль компилируется, но не выполняется.
Структура вызывающей программы:
uses имя модуля;
var
…
раздел описания программы
…
begin
раздел операторов программы
end.
Задание.
Разработать модуль (схемы алгоритмов и программы), содержащие процедуры и функции, решающие поставленную задачу:
Все элементы матрицы умножить на число, равное количеству нулей в правом верхнем треугольнике.
Проектирование модуля.
Процедура form.
Задание матрицы
размерностью [5*5] датчиком случайных
чисел.
Процедура vivod.
Вывод матрицы.
Функция get_kol.
Поиск количества нулей
в верхнем правом верхнем треугольнике.
Количеству kol присваиваю 0. Цикл по
строке от 1 до N и по столбцу от i до N. Проверяю
условие x [i, j]=0. Если верно, то переменной
kol присваиваю значение kol+1.
Процедура umn.
Каждый элемент матрицы умножаю на количество нулей, полученных в правом верхнем треугольнике. Таким образом, формируется новая матрица.
Схема 1. Алгоритм подпрограммы процедуры form.
Схема 2. Алгоритм подпрограммы
процедуры vivod.
0
Схема 3. Алгоритм подпрограммы
функции get_kol.
Схема 4. Алгоритм подпрограммы
процедуры umn.
Алгоритм вызывающей
программы.
Типы параметров в подпрограммах:
идентификатор | назначение |
N | Константа, задающая размер матрицы. |
Х | Исходная матрица |
Get_kol | Переменной присваивается значение функции get_kol |
X1 | Полученная матрица |
Программа
создания модуля:
Unit mod_so;
INTERFACE
Uses crt;
const
N=5;
type
matr=array[1..N,1..N] of integer;
procedure form(var X:matr);
procedure vivod(X:matr);
function get_kol(X:matr):integer;
procedure umn(X:matr; var X1:matr);
IMPLEMENTATION
procedure form(var X:matr);
var
I, j: integer;
begin
for i:=1 to N do
for j:=1 to N do
X[i,j]:=random(11)-5;
end;
procedure vivod(X:matr);
var
i, j: integer;
begin
for i:=1 to N do
begin
for j:=1 to N do
write(X:[I, j]:4);
writeln;
end;
end;
function get_kol(X:matr):integer;
var
I, j, kol: integer;
begin
kol:=0;
for i:=1 to N do
for j:=i to N do
if X[i, j] = 0 then
kol:=kol+1;
get_kol:=kol;
end;
procedure umn(X:matr; var X1:matr);
var
i, j, kol: integer;
begin
for i:=1 to N do
for j:=1 to N do
X1[i, j]:= X[i, j];
kol:= get_kol(X1);
writeln(‘Количество нулей в верхнем правом треугольнике матрицы: ’, kol);
for i:=1 to N do
for j:=1 to N do
X1[i, j]:=X1[i, j]*kol;
end;
end.
Вызывающая
программа:
Begin clrscr;
randomize;
writeln(‘ Курсовую работу выполнила студентка А-94 Сбитнева О. В.’);
writeln(‘ Вариант 20’);
writeln(‘Разработанный модуль содержит:’);
writeln(‘1. Процедуру формирования матрицы в интервале от -5 до 5’);
writeln(‘2. Процедуру вывода матрицы’);
writeln(‘3. Функцию поиска кол-ва нулей в верхнем правом треугольнике
матрицы');
writeln(‘4. Процедуру умножения элементов матрицы на кол-во нулей’);
writeln;
writeln(‘Исходная матрица:’);
form(A);
vivod(A);
writeln;
umn(A, A1);
writeln;
writeln(‘Полученная матрица:’);
vivod(A1);
readln;
end.
Результаты
выполнения программы:
Курсовую работу выполнила студентка группы А-94 Сбитнева О. В.
Разработанный модуль содержит:
Исходная матрица:
-5 -1 1 0 0
-3 -2 2 4 -5
5 -4 0 2 -3
-1 -4 1 -3 -4
5 4 -1 -2 1
Количество нулей
в верхнем правом треугольнике маторицы:
3
Полученная матрица:
-15 -3 3 0 0
-9 -6 6 12 -15
15 -12 0 6 -9
-3 -12 3 -9 -12
15 12
-3 -6 3
Часть 2:
«Файлы в Турбо
Паскале».
Основные понятия:
При решении класса задач, обрабатывающих большое количество данных редко обновляемых для описания этих данных и хранения их используется файловый тип.