Модули и Файлы

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

Курсовая работа по информатике.doc

— 131.00 Кб (Скачать документ)

Федеральное Агентство Связи

Сибирский Государственный  Университет  Телекоммуникаций и  Информатики

Кафедра Информатики 
 
 

Курсовая  работа на тему:

«Модули и  Файлы» 
 
 

Выполнила:

 Студентка  1 курса, ф. АЭС,

гр. А-94 Сбитнева Ольга.

Проверила:

Парначева Т.И. 
 
 
 
 
 
 
 
 
 
 
 
 
 

Новосибирск

2010 г.

Содержание.

Введение…………………………………………………………………………………………………..  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 
 
 
 
 
 
 

 

Введение.

Целью моей курсовой работы является приобретение и закрепление  навыков в организации вычислительных процессов и программирования на алгоритмическом языке Pascal. Основной частью курсовой является рассмотрение модульного программирования (использование процедур и функций) и файлов (рассмотрение функций открытия и закрытия файлов). 

 

Часть 1: «Модули в Турбо  Паскале». 

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

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

Структура модуля:

Unit имя_модуля;

interface

 …

раздел открытых описаний (раздел объявлений);

implementation

 раздел закрытых  описаний (раздел реализации);

begin

раздел операторов

end. 

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

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

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

Замечание: модуль сохраняется  на диске под тем же именем, что и сам модуль. Модуль компилируется, но не выполняется.

Структура вызывающей программы:

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 Сбитнева О. В.

                                                  Вариант 20

Разработанный модуль содержит:

  1. Процедуру формирования матрицы в интервале от -5 до 5
  2. Процедуру вывода матрицы
  3. Функцию поиска кол-ва нулей в верхнем правом треугольнике матрицы
  4. Процедуры умножения элементов матрицы на кол-во нулей
 

Исходная матрица:

-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: «Файлы в Турбо  Паскале».  

Основные понятия:

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

Информация о работе Модули и Файлы