Реферат: Паскаль. Модули, записи и файлы - текст реферата. Скачать бесплатно.
Банк рефератов, курсовых и дипломных работ. Много и бесплатно. # | Правила оформления работ | Добавить в избранное
 
 
   
Меню Меню Меню Меню Меню
   
Napishem.com Napishem.com Napishem.com

Реферат

Паскаль. Модули, записи и файлы

Банк рефератов / Программирование

Рубрики  Рубрики реферат банка

закрыть
Категория: Реферат
Язык реферата: Русский
Дата добавления:   
 
Скачать
Архив Zip, 30 kb, скачать бесплатно
Обойти Антиплагиат
Повысьте уникальность файла до 80-100% здесь.
Промокод referatbank - cкидка 20%!
Заказать
Узнать стоимость написания уникального реферата

Узнайте стоимость написания уникальной работы

Модули , записи и файлы. Введение Целью к урсового проектиров ания является приобретение и закрепление навы ков в организации вычислительных процессов и программирования на алгоритмическом языке ПА СКАЛЬ . Основной акцент в работе уделяется рассмотрению модульного программирования , использован ию проц е дур и функций . Кроме т ого , большое внимание уделяется работе с ф айлами , подробно рассматриваются функции открытия и закрытия файла . Полученные знания помог ут в будущем более эффективно подходить к процессу разработки программного обеспечения . Язык програм мирования Pascal был разработан в 1968 — 1971 гг . Никлаусом В иртом в Цюрихском Институте информатики (Швей цария ). Первоначальная цель разработки языка д иктовалась необходимостью инструмента "для обучен ия программированию как систематической дисципли не ". Одна ко очень скоро обнаружилась ч резвычайная эффективность языка Pascal в самых разнообразных приложениях , от решен ия небольших задач численного характера до разработки сложных программных систем — компиляторов , баз данных , операционных систем и т.п . К настоящ ему времени Pascal принадл ежит к группе наиболее распространенных и популярных в мире языков программирования . Существуют многочисленные реализации языка практ ически для всех машинных архитектур ; разработ аны десятки диалектов и проблемно-ориентированных ра сширений языка Pascal ; обучение программированию и научно-те хнические публикации в значительной степени б азируются на этом языке. Характеристика и особенности языка . Сущес твует ряд объективных причин , обусловивших вы дающийся успех языка Pascal . Среди них в первую очередь не обходимо указать следующие : 1. Язык в естественной и элегантной форме отразил важнейшие современные концепции технологии раз работки программ : развитая система типов , орие нтация на принципы структурного программирования , поддержка процесса пошаговой разработки. 2. Благодар я своей компактности , концептуальной целостности и ортогональности понятий , а также удачно му первоначальному описанию , предложенному авторо м языка, Pascal оказался весьма легок для изучения и освоения . В противоположно сть громоздким многотомным описаниям таких языков, как PL / I , Cobol , FORTRAN , достаточно полное описание языка Pascal занимает около 30 страниц текста , а его си нтаксические правила можно разместить на одно й странице. 3. Несмотря на относительную простоту языка, он оказался пригоден для весьма широкого спек тра приложений , в том числе для разработки очень больших и сложных программ , наприме р операционных систем. 4. Pascal весьма те хнологичен для реализации практически для все х , в том числе и нетрадиционных , машинн ых архитектур . Утверждается , что разработк а Pascal-транслятора "почти не превышает по трудоемкости хорошую дипломную работу выпускника вуза ". Б лагодаря этому для многих ЭВМ существует несколько различных реализации языка , отражающих те или иные практически е потребности программистов. Язык Pascal стандартизован во мног их странах . В 1983 году был принят международный ста ндарт ( ISO 7185:1983). Готовится (сведения на 1989 год ) станда рт СЭВ на Pascal . Рассмотрим основные особенности языка Pascal . 1. Pascal являе тся традиционным алгоритмическим языком программ ирования , продолжающим линию Algol -60. Это означает , что программа на языке Pascal представляет собой спе циально организованную последовательность шагов по преобразованию данных , приводящую к решени ю некоторо й задачи . Это отличает Pascal от так называемых непроцедурных я зыков типа Prolog , по сущ еству представляющих собой формализмы для зап иси начальных условий некоторой задачи и синтезирующих решение посредством встроенных мех анизмов логического вывода. 2. Язы к Pascal содержит удобные средс тва для представления данных . Развитая систем а типов позволяет адекватно описывать данные , подлежащие обработке , и конструировать струк туры данных произвольной сложности. Pascal является типизированным языком , что означает фи ксацию типов переменных при их описании , а также строгий контроль преобразований типов и контроль доступа к данным в соответствии с их типом (как на этапе компиляции , так и при исполн ении программ ). 3. Набор операторов языка Pascal отражает при нципы структ урного программирования и поз воляет записывать достаточно сложные алгоритмы в компактной и элегантной форме. Pascal являетс я процедурным языком с традиционной блочной структурой и статически определенными област ями действия имен . Процедурный механизм сочет ает в себе простоту реализации и использования и гибкие средства параметризации. 4. Синтакси с языка достаточно несложен . Программы записы ваются в свободном формате , что позволяет сделать их наглядными и удобными для изуч ения. Модуль - это автономно компил ируемая программная единица , включающая в себя различные компон енты раздела описаний (типы , константы, переменные , процедуры и функци и ) и , возможно , некоторые исполняемые операторы инициирующей части . В модулях Turbo PASCAL явным образом выделяется некотор ая "ви димая " интерфейсная часть , в которой сконцентр ированы описания глобальных типов , констант и переменных , а также приводятся заголовки глобальных про цедур и фун кций . Появление объектов в интерфейсной части делает их доступными для других модулей и осно вной программы. Тела процедур и функций располагают ся в исполняемой части модуля , которая может быть скрыта от пользователя. Модули представляют собой прекрас ный инструмент для разработки библиотек прикладных програм м и мощное средство модельного программи рования . Важная особенн ость модуля заключается в том , что компиля тор Turbo PASCAL разме щает их программный код в отдельном сегменте . Модуль имеет следующую структуру : UNIT <имя >; INTERFACE <интерфейсная часть > IMPLEMENTATION <исполняемая часть > BEGIN <инициирующая часть > END. Здесь UNIT - зарезервированное слово , начинает заголовок модуля ; <имя > - имя модуля (должно совпадать с именем файла , в который помещен модуль ); IMPLEMENTATION - зарезервированное слово (вып олнение ), начи нает исполняемую час ть ; BEGIN - зарезервированное слово , начи нает инициирующую часть (часть модуля BEGIN <инициирующая ч асть > необязательна ); EN D - зарезервированное слово , признак к онца модуля. Заголовок модуля состоит из зарезервир ованного слова UNIT и следующего за ним им ени модуля . Для правильной работы Turbo PASCAL и возможности подключения средств , облегчающих разработку крупных программ , это имя должно совпадать с именем файла , в который п омещается исходный текст модуля . Имя модуля служит для его связи с другими модул я ми и основной программой . Эта связь устанавливается специальным приложением USES <список модулей >. Здесь USES - зарезервированное слово ; <список модулей > - список модулей , с которы ми устанавливается связь , элементами списка я вляются имена модулей , отделяе м ые друг от друга запятыми . Если объявление USES используется , то оно должно открывать раздел описаний основной программы . Модули могут использовать другие модули . Предложение USES в модулях может следовать либо сразу за зар езервированным словом INTERFACE, либо сразу за словом IMPLEMENTATION. Интерфейсная часть открывается зарезервированным словом INTERFACE. В этой части содержатся объявления всех глобальных объектов модуля (типов , констант , переменных и подпрограмм ), к оторые должны стать доступными основной программе и (или ) другим модулям . При объ явлении глобальных подпрограмм в интерфейсной части указывается только их заголовок . Объявление подп рограмм в интерфейсной части автоматически со провождается их компиляцией с использованием дальней модели памяти . Т аким образом , обеспечивается дост уп к подпрограммам из основной программы и других модулей . Порядок появления различных разделов объявлений и их количество може т быть произвольным . Исполняемая часть начина ется зарезервированным словом IMPLEMEN- TATION и со де ржит описания подпрограмм , объявленных в инте рфейсной части . В ней могут объявляться ло кальные для модуля объекты - вспомогательные т ипы , константы , переменные и блоки , а также метки , если они используются в инициирующ ей части . Описанию подпрограммы , об ъ явленной в интерфейсной части модуля , в исполняемой части должен предшествовать заг оловок , в котором можно опускать список фо рмальных переменных (и тип результата для функции ), так как они уже описаны в инт ерфейсной части . Но если заголовок программы прив о дится в полном виде , т.е ., со списком формальных параметров , то он должен совпадать с заголовком , объявленным в интерфейсной части . Инициирующая часть за вершает модуль . Она может отсутствовать вмест е с начинающим ее словом BEGIN или быть пу стой - тогда за BEGIN сразу следует п ризнак конца модуля (слово END и следующая за ним точка ). В инициирующей части размещаю тся исполняемые операторы , содержащие некоторый фрагмент программы . Эти операторы исполняются до передачи управления основной программе и обычно ис п ользуются для подг отовки ее работы . Например , в них могут инициироваться переменные , открываться нужные ф айлы , могут устанавливаться связи с другими ПК по коммуникационным каналам и т.п . Не рекомендуется делать инициирующую часть пуст ой , лучше ее опустить : пустая час ть содержит пустой оператор , которому будет передано управление при запуске программы. В среде Turbo PASCAL имеются средства , управляющие способом компиляции модулей и облегчающие разработку крупных программных проектов . В частности , определены три режима компиляции : COMPILE, MAKE и BUILD. Режимы отличаются только способами связи компилируемого модуля и основной про граммы с другими модулями , объявленными в приложении USES. При компиляции модуля или основн ой программы в режиме COMPILE компилирует с я только файл , находящийся в активном окне . По умолчанию предполагается , что ис пользуемые модули уже откомпилированы и резул ьтаты помещены в одноименные файлы с расш ирением .TPU; файл с расширением .TPU (от английского Turbo Pа scal Unit) создается в резул ь тате компиляции модуля . В режиме МАКЕ компилятор проверяет наличие TPU-файлов для каждого об ъявленного модуля . Если какой-либо из файлов не обнаружен , то система пытается отыскать одноименный файл с расширением .PAS, т.е . файл с исходным текстом модуля . Е с ли PAS-файл найден , то происходит его компиля ция . Кроме того , в этом режиме система следит за возможными изменениями исходного те кста любого используемого модуля . Если в PAS- файл (исходный текст модуля ) внесены какие-либо изменения , то независимо от того, есть ли уже в каталоге соответствующи й TPU-файл или нет , система осуществляет его компиляцию перед компиляцией основной програ ммы . Если изменения внесены в интерфейсную часть модуля , то будут перекомпилированы та кже и все другие модули , обращающиеся к нем у . Режим МАКЕ существенно обле гчает процесс разработки крупных программ с множеством модулей . В режиме BUILD существующие TPU-файлы игнорируются , и система пытается оты скать и компилировать соответствующий PAS-файл д ля каждого объявленного в предложении US E S модуля . После компиляции в режиме BUILD программист может быть уверен в том , что учтены все сделанные им изменения в любом из модулей. Подключение модуля к основной программ е и их возможная компиляция осуществляется в порядке их объявления в предложении USES. При переходе к очередному модулю система предварительно отыскивает все модули , на которые он ссылается . Ссылки модулей д руг на друга могут образовывать древовидную структуру любой сложности , однако запрещаетс я явное или косвенное обращение модуля к самому себе . Дело в том , что Turbo PASCAL разрешает ссылки на частично откомпилирован ные модули , что приблизительно соответствует опережающему описанию подпрограммы . Если интерфей сные части любых двух модулей независимы , Turbo PASCAL сможет идентифицирова т ь все глоба льные идентификаторы в каждом из модулей , после чего откомпилирует тела модулей обычным способом. Модуль программы unit kurp1; interface const n=5; type matr=array[1..n,1..n] of real; vect=array[1..n] of real; procedure form(var a:matr); proce dure vivod (var a:matr); function max(c:vect):real; procedure pr(a:matr;var c:vect); implementation procedure vivod (var a:matr); var i,j:integer; begin for i:=1 to n do begin for j:=1 to n do write (a[i,j]:6:2); writeln; end; writeln; end; proce dure form(var a:matr); var i,j:integer; begin randomize; for i:=1 to n do for j:=1 to n do a[i,j]:=random*2-1; end; function max( c:vect):real; var i:integer; m:real; begin m:=-2; for i:=1 to n do if c[i]>m then m:=c[i]; max:=m end; procedure pr(a:matr;var c:vect); var i,j:integer; begin c[i]:=1; for i:=1 to n do begin for j :=1 to n do c[i]:=a[j,i]*c[i]; writeln('Произведение ',i,'-го столбца =',c[i]:6:4); end; writeln; end; end. Основная программа program kursovik; uses crt,kurp1; var a:matr; c:vect; begin clrscr; window (45,2,75,7) ; writeln ('Курсовая работа по информатике ') ; writeln('Факультет АЭС группа А -92'); writeln ('студента : Грязина Дмитрия '); window(1,1,80,25); 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. Результаты работы Сформированная матрица -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 Записи Запись – это структура да нных , состоящая из фиксированного числа компо нентов , называемых полями записи . В отлич ие от массива , компоненты (поля ) записи мог ут быть различного типа . Чтобы можно было ссылаться на тот или иной компонент записи , поля именуются. Структура обьявления типа записи такова : < имя тип а > = 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; Имена полей д олжны быт ь уникальными в пределах той записи , где они обьявлены , однако , если записи содерж ат поля – записи , т.е . вложена одна в другую , имена могут повторяться на разных уровнях вложенности . . Файлы Под файлом понимается именованная область памяти на магнитном носителе , используе мая для долговременного хранения некоторой ло гически связанной информации . В эту область внешней памяти можно как поместить определ енные данные , так и извлечь их из нее . Эти действия имеют общее название - ввод-в ывод. Программ ирование доступа к файлу в языке 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.1Открытие и закрытие файлов В этом и следующем разделах рассматри ваются файлы традиционной для языка P ascal структур ы , которые описываются в программе в терми нах составляющих компонент . Кроме таких файло вых переменных (они также называются "типизиро ванными " файлами ), в языке Turbo Pascal имеются также файлы специального типа - текстовые файлы , которые введ ены для поддержки одного практически важного частного случая файловых структур , и нетипизированные файлы , которые используются для более эффективной организации обменов на низком уровне . Важнейшим моментом при использовании пере менных файловых типов являе тся интерпрета ция файла как потенциально бесконечного списк а значений одного и того же (базового ) типа . Например , описание переменной F вида var F : file of integer; понимается как определение в программе под именем F списка неопределенного количества целы х чисел , расположенного на некото ром внешнем запоминающем устройстве (например , на магнитном диске ). С каждой переменной файлового типа та кже связано понятие текущего указателя файла . Текущий указатель можно понимать как скр ытую переменную (то есть перемен ную , н еявно описанную вместе с файловой переменной ), которая обозначает ("указывает " на ) некоторый конкретный элемент файла . Таким образом , можно графически так представить интерпретацию файла , связанного с переменной F: 0 1 2 N Как правило , все действия с файлом (чтение из файла , запись в файл ) производятся поэлементно , причем в этих действиях участвует тот элемент файла , который обозначается текущим указателем . В результате совершения операций текущий указатель может перемещаться , настраиваясь на тот и л и иной элемент файла . Все элеме нты файла считаются пронумерованными ; начальный элемент имеет нулевой номер . Имеется возможность явной установки текущего указателя на некоторый элемент файла. Заметим , что один и тот же внешний файл в различных Turbo Pascal-п рограммах (или даже в различных частях одной и той же прог раммы ) может интерпретироваться по-разному , наприме р , как последовательность целых чисел , или как последовательность символов , или как посл едовательность некоторых записей , и т . д . Э та возможность о чень важна и ча сто используется в работе с файлами сложн ой структуры . Например , в процессе работы с внутренним представлением файлов баз данных (в частности , с DBF-файлами ) может понадобить ся интерпретировать файл по-разному в зависим ости от того , какую е г о компон енту (заголовок или содержательную часть ) мы обрабатываем. Нужно также отметить , что все операции с файлами в языке Turbo Pascal реализованы с использованием базовых средств операционной системы ; в ч астности , понятие текущего указателя файла по ддер жано в MS-DOS. Однако все перемещения по файлу (как явное управление указателем , так и сдвиги при обменах ) выполняются в терминах байтов . Таким образом , все аспекты , связан ные с типизацией содержимого файлов , представ ляют собой системную надстройку языка T urbo Pascal. Для выполнения некоторой операции по вводу-выводу необходимо прежде всего открыть дисковый файл (напомним , что предварительно нужно связать фа йловую переменную с дисковым файлом с пом ощью процедуры Assign). Под открытием в данном случае понима ется подготовка к обмену с ф айлом со стороны программы , заключающаяся пре жде всего в поиске файла на внешнем н осителе , установке его текущего указателя на определенный (как правило , нулевой элемент ) и формировании буфера в оперативной памяти , посредством к оторого будут произво диться обмены. Обычные типизированные файлы открываются с помощью одной из двух системных процеду р - Reset или Rewrite, единст венным параметром которых в данном случае является файл овая переменная . Обе эти процедуры открывают файл для обмена . Разница между ними заключается в начальных действиях с файл ом. Процедура Reset предполагает , что открываемый дисковый файл уже сущес твует , в противном случае возникает ошибка . Процедура Rewrite допускает , что открываемый файл может еще не сущест вов ать ; в этом случае она создаст заданный файл . Если же файл существует , то Rewrite очищает его . Повторим , что в обоих случаях текущ ий указатель файла устанавливается на его нулевой элемент . Следует иметь в виду , ч то обе операции допускают в дальнейшем ка к ч тение из файла, так и запись в него (это будет обсуждаться в следующем разделе ). Разумеется , две введенные процедуры носят в основном подготовительный характер , однако можно указать практически важные случаи их вполне самостоятельного использования . Так , п роцедура Rewrite может применяться для стирания со держимого файла без его удаления с диска или для создания нового файла. Процедура close заверша ет действия с файлом , который указывается в качестве ее единственного параметра . При этом буфер , образованный при открытии файла , ликвидируется . После этого файловую пер еменную можно связать посредством процедуры Assign с каки м-либо другим дисковым файлом . Заметим , что при окончании работы всей программы происх одит автоматическое закрытие всех файлов , отк рытых в п рограмме . Однако хорошим прав илом является явное закрытие файлов процедуро й close пос ле окончания работы с ними. Помимо закрывающей процедуры close, в системе Turbo Pascal также имеется дополнительная процедура Flush (ее параметр - файловая переменная ). Fl ush используется для завер шения обменов с файлом без его закрытия . Обмены с файлами всегда реализуются через некоторый буфер в оперативной памяти , поэ тому в процессе записи на файл последние записываемые элементы могут еще находиться ("застрять ") в буфере. Процедура Flush вызывает при нудительный сброс этих элементов в файл . Э та процедура имеет смысл в том случае , если с файлом проводились операции записи , и используется редко , так как процедура close произво дит такие же действия. Основная программа 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. Заключение Полученный мною практический опыт примени тельно к п рограммированию на ПАСКАЛЕ позволяет использовать эффективное модульное про граммирование . Кроме того , изучив представленный в курсовом проектировании материал , я приоб рел практические навыки использования процедур , функций . Наряду с этим я научился прави л ь но использовать файловые функции операционной системы MS-DOS, что является одним из ос новных вопросов программирования.
1Архитектура и строительство
2Астрономия, авиация, космонавтика
 
3Безопасность жизнедеятельности
4Биология
 
5Военная кафедра, гражданская оборона
 
6География, экономическая география
7Геология и геодезия
8Государственное регулирование и налоги
 
9Естествознание
 
10Журналистика
 
11Законодательство и право
12Адвокатура
13Административное право
14Арбитражное процессуальное право
15Банковское право
16Государство и право
17Гражданское право и процесс
18Жилищное право
19Законодательство зарубежных стран
20Земельное право
21Конституционное право
22Конституционное право зарубежных стран
23Международное право
24Муниципальное право
25Налоговое право
26Римское право
27Семейное право
28Таможенное право
29Трудовое право
30Уголовное право и процесс
31Финансовое право
32Хозяйственное право
33Экологическое право
34Юриспруденция
 
35Иностранные языки
36Информатика, информационные технологии
37Базы данных
38Компьютерные сети
39Программирование
40Искусство и культура
41Краеведение
42Культурология
43Музыка
44История
45Биографии
46Историческая личность
47Литература
 
48Маркетинг и реклама
49Математика
50Медицина и здоровье
51Менеджмент
52Антикризисное управление
53Делопроизводство и документооборот
54Логистика
 
55Педагогика
56Политология
57Правоохранительные органы
58Криминалистика и криминология
59Прочее
60Психология
61Юридическая психология
 
62Радиоэлектроника
63Религия
 
64Сельское хозяйство и землепользование
65Социология
66Страхование
 
67Технологии
68Материаловедение
69Машиностроение
70Металлургия
71Транспорт
72Туризм
 
73Физика
74Физкультура и спорт
75Философия
 
76Химия
 
77Экология, охрана природы
78Экономика и финансы
79Анализ хозяйственной деятельности
80Банковское дело и кредитование
81Биржевое дело
82Бухгалтерский учет и аудит
83История экономических учений
84Международные отношения
85Предпринимательство, бизнес, микроэкономика
86Финансы
87Ценные бумаги и фондовый рынок
88Экономика предприятия
89Экономико-математическое моделирование
90Экономическая теория

 Анекдоты - это почти как рефераты, только короткие и смешные Следующий
Мальчику, воспитанному волками, удалось обнаружить учёных. Теперь некоторое время мальчик будет ложиться спать сытым.
Anekdot.ru

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

Обратите внимание, реферат по программированию "Паскаль. Модули, записи и файлы", также как и все другие рефераты, курсовые, дипломные и другие работы вы можете скачать бесплатно.

Смотрите также:


Банк рефератов - РефератБанк.ру
© РефератБанк, 2002 - 2017
Рейтинг@Mail.ru