Контакты

Варианты заданий по дисциплине практикум на эвм. Практикум по решению задач на ЭВМ: Учебно-методическое пособие. Списки смежных вершин графа

Практикум на ЭВМ, Методы решения линейных систем и нахождения собственных значений, Часть 1, Богачев К.Ю., 1998

Настоящее пособие содержит описания алгоритмов, предлагаемых к реализации на ЭВМ студентам механико-математического факультета МГУ на занятиях но Практикуму на ЭВМ”. Для всех алгоритмов приводится необходимое теоретическое обоснование, соответствующие расчетные соотношения и рекомендации но их практическому осуществлению на ЭВМ (организация процесса вычислений. хранения данных и результатов в памяти ЭВМ и т.п.).

МЕТОДЫ РЕШЕНИЯ ЛИНЕЙНЫХ СИСТЕМ, ОСНОВАННЫЕ НА УНИТАРНЫХ ПРЕОБРАЗОВАНИЯХ МАТРИЦ.
Каждый из изложенных выше методов решения линейных систем может быть представлен в виде последовательности элементарных преобразований матрицы (см., например, такое представление в §4 для метода Гаусса). Каждое из преобразований задается некоторой матрицей Р, так что применение этого пре образования эквивалентно умножению (слева) исходной матрицы А на матрицу Р. Таким образом, каждый шаг приведенных выше алгоритмов есть переход от матрицы А к матрице А = РА. О числе обусловленности этой новой матрицы А=РА можно лишь утверждать, что к(РА) < к(Р)к(А). Поэтому может случиться так. что в процессе проведения преобразований число обусловленности матрицы возрастает и на каждом шаге метод будет вносить все большую вычислительную погрешность. В результате может оказаться, что исходная матрица имела приемлемое число обусловленности, однако после нескольких шагов алгоритма она уже имеет слишком большое число обусловленности, так что последующие шаги алгоритма приведут к появлению очень большой вычислительной погрешности.

Возникает идея подбирать матрицы преобразования Р так. чтобы число обусловленности матрицы в процессе преобразований не возрастало. Лемма 1.5 указывает нам пример таких матриц: если матрица преобразования Р унитарна (ортогональна в вещественном случае), то относительно спектральной нормы к(РА) = к(А).

Излагаемые ниже метод вращений и метод отражений представляют собой алгоритмы подбора унитарных матриц преобразований Р, таких, что в результате всех этих преобразований исходная матрица А приводится к треугольному виду. Система с треугольной матрицей затем решается, например, обратным ходом метода Гаусса. Несмотря на то. что трудоемкость этих методов больше, чем метода Гаусса (соответственно в 3 и 2 раза), эти методы получили широкое распространение в вычислительной практике благодаря своей устойчивости к накоплению вычислительной погрешности.


Бесплатно скачать электронную книгу в удобном формате, смотреть и читать:
Скачать книгу Практикум на ЭВМ, Методы решения линейных систем и нахождения собственных значений, Часть 1, Богачев К.Ю., 1998 - fileskachat.com, быстрое и бесплатное скачивание.

  • Практикум на ЭВМ, Методы решения линейных систем и нахождения собственных значений, Часть 2, Богачев К.Ю., 1998
  • Математика и Конструирование, 1 класс, Учебное пособие для общеобразовательных организаций, Волкова С.И., 2016
  • Математика, Устные упражнения, 1 класс, Учебное пособие для общеобразовательных организаций, Волкова С.И., 2016

Следующие учебники и книги.

Объявления

Контест 1: Python (в anytask)

10 сентября Занятие 2

Библиотека numpy. Векторизация вычислений.

Важные статьи документации numpy:

Контест 2: Numpy (в anytask)

17 сентября Занятие 3

Организация кода в Python.

Функции, модули, классы.

Контест 3: Классы (в anytask)

24 сентября Занятие 4

Метрические методы классификации.

Обсуждение первого практического задания.

Введение в обработку изображений.

Визуализация в Python.

01 октября Занятие 5

Подготовка текстовых отчётов. Система TeX.

8 октября Занятие 6

Обработка исключений. Мененджеры контекста. Тестирование.

Подготовка коротких выступлений.

15 октября Занятие 7

Итераторы и генераторы.

Требования к отчёту по практическим заданиям

Отчёт должен быть самодостаточным документом в формате PDF, подготовленным в системе LATEX. Студенты, хорошо выполнившие отчёты по прошлым заданиям, получают возможность сдавать отчёты в формате HTML или PDF, подготовленные с помощью jupyter notebook.

Отчёт должен давать проверяющему ответы на следующие вопросы:

  • К какому курсу относится задание?
  • Какое задание выполнено?
  • Кем выполнено задание?
  • В чём заключалось задание?
  • Что было сделано? Что не было сделано?
  • Даны ли правильные ответы на все теоретические вопросы задания?
  • Проведены ли все необходимые эксперименты? Получены ли осмысленные ВЫВОДЫ?
  • Выполнена ли творческая часть задания?
  • Пользовался ли студент чьей-либо помощью? Если да, то в каком объёме?
  • Какой литературой пользовался студент?

Некоторые элементы хорошего отчёта:

  • Объём отчёта: 5--20 страниц;
  • Текст отчёта не повторяет полной формулировки задания;
  • Структура отчёта соответствует пунктам задания;
  • Используются векторные шрифты;
  • Графики оформлены надлежащим образом;
  • Шкала для графиков выбрана правильно;
  • На разных графиках результаты для одинаковых методов отображаются одним и тем же цветом;
  • Между расположением графиков и местами их упоминания в тексте относительно небольшое расстояние (на той же или на соседней странице);
  • На страницах не должно быть много пустого места;
  • В большинстве случаев графики/таблицы/псевдокоды алгоритмов не должны занимать большей части одной страницы отчёта;
  • Все числа в тексте/таблицах указаны с необходимым числом значащих цифр;
  • В большинстве случае в отчёте не должно быть никакого кода;
  • Для всех экспериментов описан выбранный дизайн экспериментов, а также сделаны выводы из полученных результатов;

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

БАШКИРСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

Практикум на ЭВМ

Задачи для С++

Часть 1

Составитель:

Рыков В.И. Практикум на ЭВМ. Задачи для С++.. Часть1. /Издание Башкирского ун-та. - Уфа 2006. - №№ c.

Работа посвящена методологии программирования на языке С++.

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

Методика программирования и кодирования программ для каждого типа задач изложена в виде законченных примеров.

Работа используется при выполнении лабораторных и практических работ по дисциплине «Практикум на ЭВМ».

1 Введение 5

1.1 Первая программа 5

2 Справка по C++ 5

2.1 Основные типы данных 5

3 Простые типы данных 6

3.1 Модельная задача Операторы ввода, цикла. Вложение структур 6

3.2 Структура псевдокода 7

3.3 Реализация управляющих структур 7

3.4 Модельная задача Целые числа. Операторы for, while, if 8

4 Массивы 10

4.1 Модельная задача Задание массивов. Машинный ноль 10

4.2 Модельная задача Вложение управляющих структур 18

5 Процедуры и функции 20

5.1 Модельная задача Пример функции 20

5.2 Перегрузка функции 21

5.3 Передача параметров в функцию 21

5.4 Передача адреса массива в функцию 22

6 Векторы и матрицы 24

6.1 Модельная задача многомерные массивы, ввод из файла 24

7 Обработка символьной информации 29

7.1 Решение Найти самое длинное симметричное слово заданного предложения 31

8 Рекурсия 33

8.1 Решение вычисление факториала целого положительного числа 33

8.2 Решение Рекурсивные функции. Работа со строками. 36

8.3 Решение Построить синтаксический анализатор для понятия скобки. 38

9 Форма отчета по лабораторной работе 41

10 Варианты для лабораторных работ 42

1Введение

Начальные сведения по программированию изложены в документе «Среда Microsoft Visual C++ и отладка программ».

1.1Первая программа

Программа«2+3». В программе после приглашения вводятся два числа. Для ввода каждого числа нужно набрать его на клавиатуре и нажать клавишу Enter.

#include "iostream.h"

char* Rus(const char* text);

int main(int argc, char* argv)

// coutreturn 0;

char* Rus(const char* text)

Данное учебное пособие содержит комплект лабораторных работ по дисциплине "Практикум по решению задач на ЭВМ". Практикум по решению задач на ЭВМ изучается в девятом и десятом семестрах и является составной частью непрерывной компьютерной подготовки студентов. С одной стороны, он опирается на знания, полученные при изучении классических математических дисциплин (алгебра, геометрия, математический анализ, теория вероятностей), а с другой стороны, на знания основ информатики и вычислительной техники, приобретенные в процессе обучения дисциплинам: информатика, программирование, программное обеспечение ЭВМ. Основная цель практикума - сформировать у студентов практические умения и навыки в решении прикладных задач на персональных компьютерах. В пособии большое внимание уделяется разбору примеров решения задач. Прилагаются вопросы и задачи для самостоятельного решения. Для самопроверки в пособии приведены два варианта типовых контрольных работ в рамках изучаемого материала.

Приведенный ниже текст получен путем автоматического извлечения из оригинального PDF-документа и предназначен для предварительного просмотра.
Изображения (картинки, формулы, графики) отсутствуют.

Министерство образования и науки РФ Федеральное агентство по образованию РФ Московский государственный областной университет Елецкий государственный университет имени И. А. Бунина Тарова И.Н., Терехов Ю.П., Масина О.Н., Скоков А.В. Москва – Елец 2005 УДК Печатается по решению редакцион- 002 но-издательского совета Елец- ББК кого государственного уни- 22.18 верситета им. И.А. Бунина прото- Т19 кол № 5 от 30 ноября 2005 года Рецензенты: доктор физико-математичеких наук, профессор кафедры алгебры и геометрии Меренков Ю.Н. (ЕГУ им. И.А. Бунина); доктор физико-математических наук, профессор, ведущий сотрудник Вычислительного центра им. А.А. Дородницына – РАН Дикусар В.В. (Мо- сква); кандидат физико-математических наук, старший преподаватель ка- федры уравнений в частных производных и теории вероятностей Малю- тина О.П. (ВГУ, Воронеж) Тарова И.Н., Терехов Ю.П., Масина О.Н., Скоков А.В. Т19 Практикум по решению задач на ЭВМ: Учебно-методическое посо- бие. – Елец: ЕГУ им. И.А. Бунина, 2005. – 194 с. ISВN 5-7017-0825-Х При изучении дисциплины «Практикум по решению задач на ЭВМ» студенты сталкиваются с трудностями, связанными с отсутствием необхо- димой литературы по отдельным темам в библиотеке. Данное учебное по- собие содержит комплект лабораторных работ по дисциплине. Большое внимание уделяется разбору примеров решения задач. Прилагаются во- просы и задачи для самостоятельного решения. Для самопроверки в посо- бии приведены два варианта типовых контрольных работ в рамках изучае- мого материала. Данное учебно-методическое пособие адресовано студентам дневного и заочного отделений физико-математических факультетов университетов. УДК 002 ISВN 5-7017-0825-Х ББК 22.18 © ЕГУ им. И.А.Бунина, 2005 © Тарова И.Н., Терехов Ю.П., Масина О.Н., Скоков А.В., 2005 © МГОУ, 2005 © издательство МГОУ, 2005 Практикум по решению задач на ЭВМ Содержание ВВЕДЕНИЕ 5 ЧАСТЬ I Программирование на языке высокого уровня 9 семестр Язык программирования Pascal. Теоретический материал 7 1. Арифметика действительных чисел Вычис- 2 часа 25 ления по формулам 2. Разветвления 2 часа 27 3. Простейшая целочисленная арифметика 2 часа 31 4. Простейшие циклы 2 часа 35 5. Простейшие графические построения 2 часа 39 6. Пошаговый ввод данных и вывод результатов 2 часа 42 7. Сочетания цикла и развилки 2 часа 46 8. Обработка последовательностей символов 2 часа 51 9. Вычисления с хранением последовательно- 2 часа 56 стей значений 10. Вложенные циклы 2 часа 59 11. Вложенные циклы в матричных задачах 2 часа 62 12. Использование процедур 2 часа 66 13. Файлы 4 часа 69 14. Вычисления с хранением последовательно- 4 часа 75 стей, число членов которых зависит от исход- ных данных 15. Контрольная работа №1 2 часа 79 16. Целые числа 4 часа 81 17. Системы счисления 4 часа 88 18. Геометрия 6 часов 96 19. Сортировка массивов и файлов 4 часа 99 10 семестр 20. Многочлены 2 часа 101 21. Преобразование и построение матриц 4 часа 103 22. Матричная алгебра 4 часа 105 23. Численные методы 10 часов 110 24. Случайные числа 4 часов 124 25. Вычисления с некоторой точностью 4 часа 127 26. Графика 2 часа 130 27. Графика и движение 6 часов 137 28. Игры 2 часа 144 ЧАСТЬ II Математические вычисления в MathCAD Математические вычисления в MathCAD. Теоретический материал. 146 29. Введение в MathCAD 4 часа 162 3 Тарова И.Н., Терехов Ю.П., Масина О.Н., Скоков А.В. 30. Контрольная работа №2 2 часа 164 31. MathCAD Задачи линейной алгебры 10 часов 166 32. MathCAD Задачи математического анализа 10 часов 167 33. MathCAD Обыкновенные дифференциальные 10 часов 168 уравнения 34. MathCAD Задачи математической стати- 4 часа 170 стики ЗАКЛЮЧЕНИЕ 171 БИБЛИОГРАФИЯ 172 ПРИЛОЖЕНИЕ Рабочая программа по дисциплине 174 «Практикум по решению задач на ЭВМ» ВВЕДЕНИЕ Практикум по решению задач на ЭВМ изучается в девятом и десятом семестрах и является составной частью непрерывной компьютерной под- готовки студентов. С одной стороны, он опирается на знания, полученные при изучении классических математических дисциплин (алгебра, геомет- рия, математический анализ, теория вероятностей), а с другой стороны, на знания основ информатики и вычислительной техники, приобретенные в процессе обучения дисциплинам: информатика, программирование, про- граммное обеспечение ЭВМ. Основная цель практикума – сформировать у студентов практические умения и навыки в решении прикладных задач на персональных компью- терах. Перед студентами ставятся следующие задачи: закрепить и углубить навыки программирования для ПЭВМ (язык программирования Pascal); углубить и систематизировать представление о применении новых информационных технологий в приложениях математики; получить опыт построения простейших математических моделей и их реализации на ЭВМ (вычислительный эксперимент); научиться решать на ПЭВМ классические задачи геометрии, алгеб- ры, матричной алгебры, а также сортировки массивов и файлов; получить навыки решения на ПЭВМ задач, относящихся к специаль- ным разделам математики и информатики: численные методы; слу- чайные числа; графика и движение; компьютерные игры. Данное учебно-методическое пособие состоит из двух частей: первая часть представляет собой набор из двадцати семи лабораторных работ, ориентированных на программирование на языках высокого уровня, вто- рая часть рассчитана на вычисления в математических пакетах и состоит из пяти лабоаторных работ. Всего пособие содержит тридцать две лабора- торных работы, каждая из которых включает примеры решения заданий и задачи для самостоятельного решения. 4 Практикум по решению задач на ЭВМ Для организации самопроверки в пособие включены две контрольные работы, рассчитанные на два варианта каждая. Обе части содержат теоретический материал, соответствующий их те- матике. Учебно-методическое пособие основано на материале, изучаемом сту- дентами в рамках дисциплины: «Практикум по решению задач на ЭВМ» в течение ряда лет. При составлении задач использовался сборник задач следующих авто- ров: С.А. Абрамов, Г.Г. Гнездилова, Е.Н. Капустина, М.И. Селюн. Авторы учебно-методического пособия выражают благодарность пре- подавателям и асситсентам кафедры вычислительной математики и ин- форматики ЕГУ имени И.А. Бунина за помощь в постановке лабораторных работ. ЧАСТЬ I Программирование на языке высокого уровня Теоретический материал: Язык программирования Pascal Язык Паскаль создан Н. Виртом в 1971 году. Он играет особую роль и в практическом программировании и в его изучении. Существует много вер- сий языка Паскаль. Любая программа на Паскале является текстовым фай- лом с собственным именем и расширением.pas. Она имеет вид последова- тельности символов латинских и русских букв, арабских цифр, знаков опе- раций, скобок, знаков препинания и некоторых дополнительных символов. Схематически программа представляется в виде последовательности вось- ми разделов: 1. заголовок программы (начинается со слова program); 2. описание внешних модулей, процедур и функций; 3. описание меток; 4. описание констант (начинается со слова const); 5. описание типов переменных (начинается со слова var); 6. описание переменных; 7. описание функций и процедур; 8. раздел операторов (начинается со слова begin). Не в каждой программе обязательно присутствуют все разделы. Каж- дый раздел начинается со служебного слова, назначение которого зафик- сировано так, что его нельзя употреблять для других целей. Программа за- канчивается служебным словом end, после которого ставится точка. Опи- сания величин и операторы отделяются друг от друга точкой с запятой. Для обозначения величин используются имена. Они состоят из латинских букв и цифр, причем первым символом должна быть буква. Имя програм- мы выбирается автором и составляется по тому же правилу. Постоянные величины бывают числовыми или символьными. Значения символьных ве- 5 Тарова И.Н., Терехов Ю.П., Масина О.Н., Скоков А.В. личин заключаются в апострофы. Постоянные величины описываются в разделе констант по схеме: const<имя>=<константа>. Данные, обрабаты- ваемые программой, могут быть разных типов. Тип определяет область допустимых значений, а также операторы и функции, применимые к вели- чине. В Паскале имеется несколько встроенных простых типов со стан- дартными именами. Скалярный тип – тип, значения которого можно перечислить в некото- ром списке. Для них определена порядковая функция ord(x) – номер зна- чения х в списке (для целочисленного х ord(x)=x), pred(x) – значение в списке, предшествующее х, succ(x) – значение в списке, следующее за х. Упорядоченный тип – тип, значения которого упорядочены в обычном смысле. К ним применимы операции отношения <,>,<=,>=,<>. Для логиче- ских величин выполняется неравенство false:<тип>. Имена в списке разделяются запя- той. Над целыми величинами (тип integer) определены операции: *, div (де- ление нацело), mod (деление с остатком), +, - (приведены в порядке стар- шинства). Над вещественными величинами (тип real) определены: *, +, -, /, а также функции при вещественном или целом аргументе: abs(x), sqr(x), sin(x), cos(x), arctan(x), ln(x), exp(x), sqrt(x), int(x), random. Они дают веще- ственный результат. Над логическими величинами (тип string) определены операции: not - отрицание, and - конъюнкция, or - дизъюнкция. Логическая функция odd(x) принимает значение true, если целочисленное х является нечетным, false - если четным. Множество всех символов образуют символьные величины (тип char) которые являются упорядоченными. Выражения - это конструкции, которые задают правила вычисления значений переменных. Они строятся из переменных, констант, функций с помощью операций и скобок. Основные конструкции. Следование - реализовывается с помощью составного оператора: begin <последовательность операторов> end. Развилка – реализовывается с помощью условного оператора и оператора варианта (выбора). Структура условного оператора: if <логическое выражение> then <оператор 1> else <оператор 2> Оператор варианта имеет форму: 6 Практикум по решению задач на ЭВМ case <выражение> of <список констант 1>:<оператор 1>; <список констант 2>:<оператор 2>; ……………… <список констант N>:< оператор N > end. Для реализации циклов имеются три оператора. Если число повторений из- вестно заранее, то используют цикл с параметром: 1) for <параметр>:= <выражение 1> to <выражение 2> do <оператор>, 2) for <параметр>:= <выражение 1> downto <выражение 2> do <оператор>; в других случаях используют цикл с предусловием: while <логическое выражение> do <оператор>, (действие: вычисляется значение логического выражения, ес- ли оно истинно, то выполняется оператор, после чего снова вычисляется значение логического выражения, в противном случае действие заканчива- ется); или цикл с постусловием: repeat <последовательность операторов> until <логическое выражение>, (действие: выполняется последователь- ность операторов, далее вычисляется значение логического выражения, ес- ли оно истинно, то действие заканчивается, в противном случае снова вы- полняется последовательность операторов). Массивы. Составные типы величин образуются из других типов, при этом существенную роль играет метод образования или структура состав- ного типа. Часто используемый составной тип – массив. Массив – это по- следовательность, состоящая из фиксированного числа однотипных эле- ментов. Все элементы массива имеют общее имя и различаются индекса- ми. Индексы можно вычислять. При описании массивов используются слова: array и of. В описании массива указывается тип его элементов и ти- пы индексов: type <имя массива>=array [<список типов индексов>] of <тип элементов>. Число индексов называется размерностью массива. Об- ращение к элементу массива осуществляется с помощью задания имени переменной, за которым следует заключенный в квадратные скобки список индексов элемента. Пример. Рассмотрим задачу упорядочения членов числовой последова- тельности по какому-либо признаку (по возрастанию). Используем метод, носящий название «пузырек». Для этого будем рассматривать пары эле- ментов последовательно слева направо и переставлять элементы в паре, если они стоят неправильно. В начале присвоим некоторой логической пе- ременной значение p:=true, если при просмотре пар была хотя бы одна пе- рестановка изменим значение логической переменной. Цикл заканчивает- ся, если после очередного просмотра выполняется условие: p=true. 7 Тарова И.Н., Терехов Ю.П., Масина О.Н., Скоков А.В. Программа: Program bubble; const a: array of integer=(19,8,17,6,15,4,13,2,11,0); var b, I: integer; p: Boolean; begin clrscr; for I:=1 to 10 do while (a[I]:3); writeln; writeln; repeat p:=true; for I:=10 downto 2 do if a[I] (<список описаний формальных параметров>). Описание параметров имеет вид <список имен>: <тип> или var <список имен>: <тип>. В первом случае говорят о параметрах-значениях, во втором – о параметрах-переменных. В простейшем случае заголовок процедуры со- держит только ее имя. Оператор вызова процедуры имеет вид: <имя процедуры> (<список выражений>). Указанные выражения называют фактическими параметрами. Их список должен точно соответствовать списку описаний формальных параметров процедуры. Во время вызова процедуры каждому параметру-значению присваивается значение соответ- ствующего фактического параметра, и поэтому их обычно используют для передачи входных данных. Переменные-параметры следует использовать для представления результатов процедуры. 8 Практикум по решению задач на ЭВМ Функция – это подпрограмма, определяющая единственное скалярное, вещественное или строковое значение. Отличия функции от процедуры: заголовок функции начинается со служебного слова function и за- канчивается указанием типа значения функции; раздел операторов функции должен содержать хотя бы один опера- тор присваивания имени функции; обращение к функции – не оператор, а выражение вида <имя функции> (<список фактических параметров>). Функции и процедуры могут использовать свое имя в собственном опи- сании, т. е. могут быть рекурсивными. Работа с файлами. Файл (последовательность) - это одна из наиболее фундаментальных структур данных. Программная организация компьюте- ров, их связь с внешними устройствами основаны на файловой структуре. Файлы позволяют решить две проблемы: 1) возможность формирования и сохранения значений для последую- щего использования другими программами (например, в программах многократной обработки информационных систем, таких как платеж- ные ведомости, различные АСУ, базы данных, необходимость длительно- го хранения информации очевидна); 2) взаимодействие программ с внешними устройствами ввода-вывода: дисплеем, принтером, АСП и т.п. В Паскале эти проблемы снимаются с помощью структурированных дан- ных файлового типа. Файловый тип данных в программе задается следующем образом: type <имя файлового типа>= file of <тип компонентов> В качестве типа компонентов файла разрешается использовать любой тип данных, кроме файлового. Например: type intfile=file of integer; refile=file of real; chfile=file of char; ran=1..10; st=set of ran; vector=array of real; compl=record; re,im: integer; end; setfile=file of st; vecfile=file of vector; compfile=file of compl; Описание файловой переменной задается обычным способом в разделе 9 Тарова И.Н., Терехов Ю.П., Масина О.Н., Скоков А.В. описаний. Например: Var f: intfile; или var f: file of integer. Файловая переменная является буфером между Паскаль-программой и внешним устройством и должна быть логически с ним связана. Связь осуще- ствляется оператором языка Паскаль: assign (<имя файловой переменной>,"<имя устройства>") Как правило, файлы для хранения данных связаны с устройством внешней памяти на магнитных носителях (дисковод) и носят название внешние фай- лы. Если, например, файл с именем primer.dat логически связан с дисково- дом А:, то все данные, помещаемые в файл, будут храниться на этом дис- ковом накопителе, а установка «окна» между программой и файлом будет определяться через файловую переменную f оператором assign (f, "primer.dat") Если внешним устройством является принтер, то связь осуществляется оператором assign(f, "1st:"). Здесь 1st - логическое имя печатающего устрой- ства. Ниже приветны логические имена внешних устройств ввода-вывода: con - консоль; trm - терминал; kbd - клавиатура; 1st - принтер; aux - бу- фер сети; usr - драйвер пользователя. После осуществления связи файловая переменная f отождествляется с соответствующим файлом. Для работы с файлом его необходимо открыть, а по окончании работы - закрыть. Файл открывается для чтения операто- ром reset(f), для записи - оператором rewrite(f). Чтение и запись данных осуществляется известными командами read/write, только в начале списка помещается имя файловой переменной: read (f, <список ввода>); readln (f, <список ввода>); write(f, <список вывода>); writeln(f, <список вывода>). Закрытие файла осуществляется командой close(f). Условно файл можно представить в виде ленты, у которой есть начало, а конец нe фиксируется. Компоненты файла записываются на эту ленту последовательно, дpyr за другом: … M. F0 F1 F2 F3 K. ^T.M. Здесь т.м. - текущий маркер, указывающий на рабочую позицию (окно) файла; м.к. (маркер конца файла) - специальный код, автоматически фор- мируемый вслед за последним элементом файла. Такого рода файлы называются файлами последовательного доступа. В исходной версии Паскаля файлов прямого доступа, для которых можно непосредственно «достать» любую компоненту, не предусмотрено; однако, в Турбо-Паскале элементы прямого доступа есть (например, через функ- цию seek). Команда rewrite(f) - открыть файл для записи - устанавливает файл в начальное состояние режима записи; текущий маркер устанавливается на 10



Понравилась статья? Поделитесь ей