МЕНЮ


Фестивали и конкурсы
Семинары
Издания
О МОДНТ
Приглашения
Поздравляем

НАУЧНЫЕ РАБОТЫ


  • Инновационный менеджмент
  • Инвестиции
  • ИГП
  • Земельное право
  • Журналистика
  • Жилищное право
  • Радиоэлектроника
  • Психология
  • Программирование и комп-ры
  • Предпринимательство
  • Право
  • Политология
  • Полиграфия
  • Педагогика
  • Оккультизм и уфология
  • Начертательная геометрия
  • Бухучет управленчучет
  • Биология
  • Бизнес-план
  • Безопасность жизнедеятельности
  • Банковское дело
  • АХД экпред финансы предприятий
  • Аудит
  • Ветеринария
  • Валютные отношения
  • Бухгалтерский учет и аудит
  • Ботаника и сельское хозяйство
  • Биржевое дело
  • Банковское дело
  • Астрономия
  • Архитектура
  • Арбитражный процесс
  • Безопасность жизнедеятельности
  • Административное право
  • Авиация и космонавтика
  • Кулинария
  • Наука и техника
  • Криминология
  • Криминалистика
  • Косметология
  • Коммуникации и связь
  • Кибернетика
  • Исторические личности
  • Информатика
  • Инвестиции
  • по Зоология
  • Журналистика
  • Карта сайта
  • Модули, записи и файлы

    writeln('вариант 21');

    window(10,8,80,20);

    writeln('Разработанный модуль содержит следующие программы:');

    writeln('1.Процедуру формирования элементов матрицы в интервале от 1.0

    до 1.0.');

    writeln('2.Процедуру вывода матрицы на экран.');

    writeln('3.Процедуру определения произведения каждого столбца

    матрицы.');

    writeln('4.Функцию определения максимального произвелдения.');

    window(1,1,80,25);

    gotoxy(10,24);

    writeln('Для продолжения нажмите пробел');

    clrscr;

    form(a);

    writeln('Сформированная матрица');

    vivod(a);

    pr(a,c);

    writeln('Максимальное произведение =',max(c):6:4);

    readln;

    end.

    Глава 5. Результаты первой части курсовой работы

    Сформированная матрица

    -0.68 0.22 0.58 -0.62 -0.14

    0.25 -0.11 -0.90 0.41 -0.57

    0.24 -0.69 -0.84 0.28 0.71

    -0.46 -0.26 0.16 0.49 -0.73

    0.60 0.17 0.28 -0.77 -0.61

    Произведение 1-го столбца =0.0112

    Произведение 2-го столбца =-0.0007

    Произведение 3-го столбца =0.0187

    Произведение 4-го столбца =0.0264

    Произведение 5-го столбца =0.0243

    Максимальное произведение =0.0264

    Глава 6. Записи.

    Запись – это структура данных, состоящая из фиксированного числа

    компонентов, называемых полями записи. В отличие от массива, компоненты

    (поля) записи могут быть различного типа. Чтобы можно было ссылаться на тот

    или иной компонент записи, поля именуются.

    Структура обьявления типа записи такова:

    = RECORD END

    Здесь - правельный индификатор;

    RECORD, END – зарезервированные слова (запись, конец);

    - список полей; представляют собой последовательность

    разделов записи, между которыми ставится точка с запитой.

    Каждый раздел записи состоит из одного или нескольких индификаторов полей,

    отделяемых друг от друга запятыми. За индификатором ставится двоеточие и

    описание типа поля например:

    type

    birthday = record

    day, month : byte;

    year : word:

    end;

    var

    a,b : Birthday;

    . . . . . . . .

    В этом примере тип Birthday есть запись с полями DAY, MONTH, и YEAR;

    переменные А и В содержат записи типа Birthday.

    Как в массиве, значения переменных типа записи можно присваивать другим

    переменным того же типа, например:

    a : = b;

    К каждому из компонентов записи можно получить доступ, если использовать

    составное имя, т.е. указать имя переменной, затем точку и имя поля:

    a.day := 27; b.year := 1991;

    Чтобы упростить доступ к полям записи, используется оператор присоединения

    WITH:

    WITH DO

    Здесь WITH, DO – ключевые слова (с, делать);

    - имя переменной типа запись, за которым,

    возможно, следует список вложенных полей;

    - любой оператор Турбо Паскаля.

    Например:

    with c.bd do month := 9;

    Имена полей должны быть уникальными в пределах той записи, где они

    обьявлены, однако, если записи содержат поля – записи, т.е. вложена одна в

    другую, имена могут повторяться на разных уровнях вложенности.

    .

    Глава 7. Файлы.

    Под файлом понимается именованная область памяти на магнитном носителе,

    используемая для долговременного хранения некоторой логически связанной

    информации. В эту область внешней памяти можно как поместить определенные

    данные, так и извлечь их из нее. Эти действия имеют общее название - ввод-

    вывод.

    7.1. Операция с файлами как единое целое.

    Программирование доступа к файлу в языке Turbo Pascal начинается с

    описания файловой переменной (переменной файлового типа). Это описание

    строится с помощью служебного слова file, после которого (после служебного

    слова of) может быть указан тип отдельных элементов файла, например:

    var

    F : file of integer;

    При необходимости можно отдельно определить некоторый файловый тип,

    которым в дальнейшем пользоваться при описании файловых переменных:

    type

    RecordFile = file of record

    А, В : real;

    end;

    var

    Fl, F2 : RecordFile;

    Очень важно различать собственно файл (область памяти на магнитном

    носителе с некоторой информацией) и переменную файлового типа в некоторой

    Turbo Pascal- программе. Считается, что файловая переменная является

    представителем некоторого дискового файла в программе. Для того, чтобы

    реализовать доступ к файлу па магнитном диске, программа должна связать его

    с файловой переменной. Для этого необходимо сопоставить переменную с именем

    файла. Это имя представляется в виде строки, содержащей полное имя файла и,

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

    строка носит название маршрута (или пути) к файлу и формируется по общим

    правилам MS-DOS.

    Связывание маршрута и файловой переменной производится стандартной

    процедурой Assign, которой передаются два параметра: имя переменной

    файлового типа и строка с именем (маршрутом) дискового файла, например:

    Assign (F, 'с: \books\book4\test3 .раз ' ) ;

    Помимо маршрута, во втором параметре может быть указано условное

    (символическое) обозначение некоторого «псевдофайла» MS-DOS, то есть файла,

    связанного с конкретным физическим устройством. Допускаются имена, в

    основном совпадающие с принятыми в MS-DOS обозначениями (‘con’ – консоль,

    то есть экран дисплея и/или клавиатура, ‘lpti’ или ‘prn’ – печатающее

    устройство и т. д.).

    До тех пор, пока файловая переменная не связана с каким-либо дисковым

    файлом, никакие операции с ней в программе невозможны, Заметим, что можно

    связать файловую переменную с еще не существующим дисковым файлом. Это

    может быть оправдано для случая последующего создания Turbo Pascal-

    программой файла с данным именем с помощью некоторой системной процедуры.

    После того, как файловая переменная с помощью процедуры Assign связана с

    конкретным дисковым файлом, можно выполнить любую допустимую операцию с

    ним. Здесь рассмотрим две операции общего характера, позволяющие

    переименовывать и уничтожать существующие дисковые файлы. Такие операции

    выполняются системными подпрограммами Rename и Erase со следующими

    спецификациями:

    Rename ( var f; nevname : string );

    Erase ( var f );

    Основным параметром этих процедур является файловая переменная (она

    может идентифицировать файл любого типа, и к ней должна была быть ранее

    применена процедура Assign), а процедуре Rename дополнительно передается

    новое имя файла. Действие указанных процедур основывается на

    соответствующих DOS-функциях и функционально эквивалентно командам ren и

    del командного процессора.

    7.2. Структура файлов

    7.2.1Открытие и закрытие файлов

    В этом и следующем разделах рассматриваются файлы традиционной для языка

    Pascal структуры, которые описываются в программе в терминах составляющих

    компонент. Кроме таких файловых переменных (они также называются

    "типизированными" файлами), в языке Turbo Pascal имеются также файлы

    специального типа - текстовые файлы, которые введены для поддержки одного

    практически важного частного случая файловых структур, и нетипизированные

    файлы, которые используются для более эффективной организации обменов на

    низком уровне.

    Важнейшим моментом при использовании переменных файловых типов является

    интерпретация файла как потенциально бесконечного списка значений одного и

    того же (базового) типа. Например, описание переменной F вида

    var

    F : file of integer;

    понимается как определение в программе под именем F списка неопределенного

    количества целых чисел, расположенного на некотором внешнем запоминающем

    устройстве (например, на магнитном диске).

    С каждой переменной файлового типа также связано понятие текущего

    указателя файла. Текущий указатель можно понимать как скрытую переменную

    (то есть переменную, неявно описанную вместе с файловой

    переменной), которая обозначает ("указывает" на) некоторый конкретный

    элемент файла. Таким образом, можно графически так представить

    интерпретацию файла, связанного с переменной F: 0 1 2

    N

    |Целое|Целое|Целое|. . .|Целое|. . . |

    | | | |. . | | |

    Текущий указатель —————

    Как правило, все действия с файлом (чтение из файла, запись в файл)

    производятся поэлементно, причем в этих действиях участвует тот элемент

    файла, который обозначается текущим указателем. В результате совершения

    операций текущий указатель может перемещаться, настраиваясь на тот или иной

    элемент файла. Все элементы файла считаются пронумерованными; начальный

    элемент имеет нулевой номер. Имеется возможность явной установки текущего

    указателя на некоторый элемент файла.

    Заметим, что один и тот же внешний файл в различных Turbo Pascal-

    программах (или даже в различных частях одной и той же программы) может

    интерпретироваться по-разному, например, как последовательность целых

    чисел, или как последовательность символов, или как последовательность

    некоторых записей, и т. д. Эта возможность очень важна и часто используется

    в работе с файлами сложной структуры. Например, в процессе работы с

    внутренним представлением файлов баз данных (в частности, с DBF-файлами)

    может понадобиться интерпретировать файл по-разному в зависимости от того,

    какую его компоненту (заголовок или содержательную часть) мы обрабатываем.

    Нужно также отметить, что все операции с файлами в языке Turbo Pascal

    реализованы с использованием базовых средств операционной системы; в

    частности, понятие текущего указателя файла поддержано в MS-DOS. Однако все

    перемещения по файлу (как явное управление указателем, так и сдвиги при

    обменах) выполняются в терминах байтов. Таким образом, все аспекты,

    связанные с типизацией содержимого файлов, представляют собой системную

    надстройку языка Turbo Pascal.

    Для выполнения некоторой операции по вводу-выводу необходимо прежде всего

    открыть дисковый файл (напомним, что предварительно нужно связать файловую

    переменную с дисковым файлом с помощью процедуры Assign). Под открытием в

    данном случае понимается подготовка к обмену с файлом со стороны программы,

    заключающаяся прежде всего в поиске файла на внешнем носителе, установке

    его текущего указателя на определенный (как правило, нулевой элемент) и

    формировании буфера в оперативной памяти, посредством которого будут

    производиться обмены.

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

    процедур - Reset или Rewrite, единственным параметром

    которых в данном случае является файловая переменная. Обе эти процедуры

    открывают файл для обмена. Разница между ними заключается в начальных

    действиях с файлом.

    Процедура Reset предполагает, что открываемый дисковый файл уже

    существует, в противном случае возникает ошибка. Процедура Rewrite

    допускает, что открываемый файл может еще не существовать; в этом случае

    она создаст заданный файл. Если же файл существует, то Rewrite очищает его.

    Повторим, что в обоих случаях текущий указатель файла устанавливается на

    его нулевой элемент. Следует иметь в виду, что обе операции допускают в

    дальнейшем как чтение из файла, так и запись в него (это будет обсуждаться

    в следующем разделе).

    Разумеется, две введенные процедуры носят в основном подготовительный

    характер, однако можно указать практически важные случаи их вполне

    самостоятельного использования. Так, процедура Rewrite может применяться

    для стирания содержимого файла без его удаления с диска или для создания

    нового файла.

    Процедура close завершает действия с файлом, который указывается в

    качестве ее единственного параметра. При этом буфер, образованный при

    открытии файла, ликвидируется. После этого файловую переменную можно

    связать посредством процедуры Assign с каким-либо другим дисковым файлом.

    Заметим, что при окончании работы всей программы происходит автоматическое

    закрытие всех файлов, открытых в программе. Однако хорошим правилом

    является явное закрытие файлов процедурой close после окончания работы с

    ними.

    Помимо закрывающей процедуры close, в системе Turbo Pascal также имеется

    дополнительная процедура Flush (ее параметр - файловая переменная). Flush

    используется для завершения обменов с файлом без его закрытия. Обмены с

    файлами всегда реализуются через некоторый буфер в оперативной памяти,

    поэтому в процессе записи на файл последние записываемые элементы могут еще

    находиться ("застрять") в буфере. Процедура Flush вызывает принудительный

    сброс этих элементов в файл. Эта процедура имеет смысл в том случае, если с

    файлом проводились операции записи, и используется редко, так как процедура

    close производит такие же действия.

    Глава 8. Задание по второй части курсовой работы

    В файле содержаться справочные сведенья о предприятиях-задолжниках по

    уплате налогов

    |№ |ИНН |Наименование |Средство на |Начислено |Уплачено |

    | | |предприятия |начало года |налогов в |налогов в |

    | | | | |отчет. период |отч. Период|

    |……... |………….. |……………… |……………. |……………… |………….. |

    |……... |………….. |……………… |……………. |……………… |………….. |

    |Сведенья на конец отчетного периода |

    |………………….. |………………. |…………… |……………… |…………. |

    |………………….. |………………. |……………. |…………….. |…………. |

    Тип полей:

    № - тип INTEGER[3]

    ИНН – тип STRING[12]

    Наименование

    Предприятия – тип STRING[20]

    Остальные поля – INTEGER

    Разработать алгоритм и программу для обработки файла согласно варианту

    задания

    Вариант №26

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

    периоде.

    Сведенья выдать в виде таблицы с соответствующим заголовком.

    НАПРИМЕР :

    СВЕДЕНЬЯ О ЗАДОЛЖНИКАХ > 20 тыс.

    Глава 9. Алгоритм второй части курсовой работы

    Глава 10. Основная программа

    program part2;

    uses crt;

    type table = record

    n : integer ;

    inn : string[12];

    Name : string[20];

    Sng : integer;

    Nop : integer;

    Uop : integer;

    Skop : integer;

    End;

    Var

    f : file of table;

    x : table;

    begin

    clrscr;

    window(45,2,75,7);

    textcolor (5) ;

    writeln (‘Курсовая работа по информатике ’) ;

    writeln (‘Факультет АЭС группа А-92 ’) ;

    writeln (‘студента: Грязина Д.’) ;

    window (1, 1, 80, 25) ;

    gotoxy (30, 5) ;

    writeln (‘Часть 2’) ;

    window(10, 8, 80, 20) ;

    writeln (‘В файле table.txt содержатся справочные сведения’) ;

    writeln (‘о предприятиях-задолжниках по уплате налогов ’) ;

    writeln ;

    writeln (‘Задание’) ;

    writeln (‘Выдавать полные сведения о предприятиях, которые не ’) ;

    writeln (‘начисляли налоги в отчетный период.’) ;

    window(1, 1, 80, 25);

    gotoxy(10, 24);

    textcolor (4 + blink);

    writeln (‘Для продолжения нажмите Enter ’) ;

    readln ;

    textcolor (10) ;

    clrscr ;

    assign (f, table.txt) ;

    reset (f) ;

    writeln (‘Cведения о предприятиях, которые не начисляли ’) ;

    writeln (‘налоги в отчетный период ’) ;

    writeln (‘+----------------------------------+’) ;

    writeln (‘| № | ИНН | Наименование | 1 | 2 | 3 | 4 |’) ;

    writeln (‘ | ---+----------+----------------+----+----+----+-----| ’) ;

    while not Eof(f) do

    begin

    read (f, x) ;

    with x do

    if Nop = 0 then

    begin

    writeln (‘| ‘№ : 3’ | ‘,Inn : 12,’ | ’,Name : 20,’ | ’ ,Sng :4,’ | ’,Nop :

    4,’ | ’,Uop : 4,’|’ ) ;

    writeln (Skop : 4, ‘ | ’) ;

    end;

    end;

    writeln (‘+-----------------------------------------------------------------

    ------+’) ;

    writeln ;

    writeln (‘1- Сведения на начало года ’) ;

    writeln (‘2 – Начислено налогов в отчетный период ’) ;

    writeln (‘3 – Уплачено налогов в отчетный прериод ’) ;

    writeln (‘4 – Сведения на конец отчетного преиода ’) ;

    writeln ;

    readln ;

    end.

    Глава 11. Результаты второй части курсовой работы

    Сведения о предприятиях которые не начисляли

    налоги в отчетный период.

    +-----------------------------------------------------------------------+

    ¦ № ¦ ИНН ¦ Наименование ¦ 1 ¦ 2 ¦ 3 ¦ 4 ¦

    ¦-----+-----------------+------------------------+----+----+----+-----¦

    ¦ 3 ¦ 54090903618 ¦ Детский сад №275¦ -8 ¦ 0 ¦ 8 ¦ 0 ¦

    ¦ 10 ¦ 54091032618 ¦ Школа №25 ¦ -7 ¦ 0 ¦ 7 ¦ 0 ¦

    +------------------------------------------------------------------------+

    1 - Сведения на начало года

    2 - Начислено налогов в отчетный период

    3 - Уплачено налогов в отчетный период

    4 - Сведения на конец отчетного периода

    Заключение

    Полученный мною практический опыт применительно к программированию на

    ПАСКАЛЕ позволяет использовать эффективное модульное программирование.

    Кроме того, изучив представленный в курсовом проектировании материал, я

    приобрел практические навыки использования процедур, функций. Наряду с этим

    я научился правильно использовать файловые функции операционной системы MS-

    DOS, что является одним из основных вопросов программирования.

    Список использованных источников:

    Фаронов В. В., Турбо Паскаль 7.0., Учебное пособие. – М.: «Нолидж», 1999.

    Бляшкин И. И. Буров А. А. Новые возможности Турбо Паскаля 6.0. – СПб.:

    Издательство «Макет»,1992.

    Фаронов Н.Н. Програмирование на персональных ЭВМ в среде Турбопаскаль. –

    М.: Издательство МГТУ, 1990.

    -----------------------

    начало

    i:= 0

    max:=0

    Вывод упорядоченных сведений

    Данные о студенте и о программе

    конец

    f,’table.txt’

    Открыть f

    Заголовок

    not eof(f)

    f,x

    Not Eof(f)

    Max:=sng

    N1:=i

    Read(f,x)

    WITH x1[i]

    Sng>0

    I:=i+1

    B[i]:=x

    Sng>max

    Вход

    randomize

    I= 1,n

    J =1,n

    a[i,j]:=random*2-1;

    Конец

    Вход

    a[i,j]:6:2

    Вход

    I= 1,n

    J =1,n

    Конец

    C[i] = 1

    I =1,n

    J = 1,n

    C[i] = a[i,j]*c[i]

    Конец

    Вход

    M = -2

    I = 1,n

    C[i] > m

    M =C[1]

    MAX =M

    Конец

    Начало

    Данные о студенте и о программе

    FORM (A)

    VIVOD (A)

    PR (A)

    MAX (C)

    Вывод сформи

    рованой матрицы и результатов

    Конец

    Страницы: 1, 2


    Приглашения

    09.12.2013 - 16.12.2013

    Международный конкурс хореографического искусства в рамках Международного фестиваля искусств «РОЖДЕСТВЕНСКАЯ АНДОРРА»

    09.12.2013 - 16.12.2013

    Международный конкурс хорового искусства в АНДОРРЕ «РОЖДЕСТВЕНСКАЯ АНДОРРА»




    Copyright © 2012 г.
    При использовании материалов - ссылка на сайт обязательна.