МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ ЯДЕРНЫЙ УНИВЕРСИТЕТ «МИФИ»
ВВЕДЕНИЕ В ОПЕРАЦИОННЫЕ СИСТЕМЫ
И ОСНОВЫ ПРОГРАММИРОВАНИЯ
Лабораторный практикум
Рекомендовано к изданию УМО «Ядерные физика и технологии»
Москва 2015
УДК 004(075) ББК 32.97я7 В24
ВВЕДЕНИЕ В ОПЕРАЦИОННЫЕ СИСТЕМЫ И ОСНОВЫ ПРОГРАМ-
МИРОВАНИЯ: лабораторный практикум / Г.П. Аверьянов, В.А. Будкин,
В.В. Дмитриева, И.А. Кунов. – М.: НИЯУ МИФИ, 2015. – 260 с.
В учебно-методическом пособии представлены две темы, входящие в состав обзорного курса «Информатика» («Информатика и программирование»).
Первая тема посвящена изучению общих принципов и функциональных возможностей (с точки зрения пользователя) современных операционных систем (ОС) семейства Windows и UNIX-подобных ОС. Приведены два типа пользовательского интерфейса: «командная строка», на примере командных интерпретаторов (bash для ОС UNIX и cmd.exe дляMS Windows), а также полноэкранныйалфавитно-цифровой интерфейс, на примере наиболее популярных «файловых менеджеров» (Midnight Commander (mc) для ОСUNIX и FAR Manager дляMS Windows).
Вторая тема связана с изучением основ программирования на современных императивных алгоритмических языках. Рассмотрено программирование стандартных алгоритмов (с использованием условных операторов и циклов) и структур данных (включая скалярные данные, массивы и другие структуры данных). В качестве языка программирования представлен традиционный для инженерных и научных расчетов алгоритмический язык Фортран. Использовался компилятор
Gfortran (free Fortran 95/2003/2008 compiler for GCC, the GNU Compiler Collection),
реализующий стандарт [ISO/IEC 1539-1:1997(E)], с поддержкой объектноориентированного программирования (ООП).
Даны примеры и задания в виде традиционных для курсов информатики алгоритмов, дополненных элементами ООП и вычислительной математики, необходимыми для эффективного программирования научных и инженерных задач.
Пособие предназначено для студентов очной и очно-заочной (вечерней) формы обучения факультета «Автоматика и электроника» НИЯУ МИФИ, а также может быть полезно студентам физических и инженерно-технических специальностей вузов.
Подготовлено в рамках Программы создания и развития НИЯУ МИФИ.
Рецензент Е.А.Сухарева, канд. физ.-мат. наук, доц. Московского машиностроительного университета (МАМИ)
ISBN 978-5-7262-1994-3 |
© Национальный исследовательский |
|
|
ядерный университет «МИФИ», 2015 |
|
|
Редактор М.В. Макарова |
|
Подписано в печать 20.11.2014. |
Формат 60х84 1/16 |
|
Уч.-изд.л. 16,75. Печ.л. 16,25. |
Тираж 250 экз. |
|
Изд. № 1/10. Заказ № 27.
Национальный исследовательский ядерный университет «МИФИ». 115409, Москва, Каширское ш., 31.
ООО «Баркас». 115230, Москва, Каширское ш., 4..
ОГЛАВЛЕНИЕ |
|
ПРЕДИСЛОВИЕ............................................................................................... |
7 |
1. КОМАНДНЫЕ ОБОЛОЧКИUNIX ............................................................... |
14 |
МЕТОДИЧЕСКИЕ УКАЗАНИЯ К РАЗД. 1..................................................... |
14 |
1.1. СЕАНСРАБОТЫВ UNIX СИСТЕМЕ...................................................... |
19 |
1.1.1. Терминали командная строка.................................................. |
19 |
1.1.2. Логины, пароли и доступ ксерверу........................................... |
20 |
1.1.3. Вход всистему/завершение работы.......................................... |
22 |
1.2. РАБОТА С ФАЙЛОВОЙСИСТЕМОЙUNIX........................................... |
24 |
1.2.1. Файлыи каталоги. Абсолютный (полный) путь......................... |
24 |
1.2.2. Домашний и текущий каталог. Относительный путь................. |
26 |
1.2.3. Просмотркаталогови файлов................................................... |
29 |
1.2.4. Создание и удаление каталогови файлов................................. |
32 |
1.2.5. Пример построения дерева каталогов...................................... |
33 |
1.2.6. Копирование и перемещение файлов....................................... |
37 |
1.3. ДОПОЛНИТЕЛЬНЫЕ ВОЗМОЖНОСТИ UNIX....................................... |
40 |
1.3.1. Пользователи и учетные записи................................................ |
40 |
1.3.2. Задачи и процессы всистеме.................................................... |
41 |
1.3.3. Правадоступак файлам и каталогам........................................ |
42 |
1.3.4. Ввод/выводи конвейеры.......................................................... |
47 |
1.3.5. Поиск и обработка текстовыхданных....................................... |
50 |
1.4. ФАЙЛОВЫЙМЕНЕДЖЕР MIDNIGHT COMMANDER ........................... |
52 |
1.4.1. Внешний вид, началои завершение работы............................. |
52 |
1.4.2. Работас каталогами и файлами ................................................ |
55 |
ЗАЧЕТНЫЕ ЗАДАНИЯК РАЗД. 1................................................................ |
59 |
Задание 1.1.......................................................................................... |
59 |
Задание 1.2.......................................................................................... |
62 |
Задание 1.3.......................................................................................... |
62 |
Задание 1.4.......................................................................................... |
66 |
Задание 1.5.......................................................................................... |
66 |
2. КОМАНДНЫЕ ОБОЛОЧКИ WINDOWS ...................................................... |
67 |
МЕТОДИЧЕСКИЕ УКАЗАНИЯ К РАЗД. 2..................................................... |
67 |
2.1. ОСНОВЫКОМАНДНОЙСТРОКИ MS WINDOWS................................ |
68 |
3
2.1.1. Началоработыс командной строкой........................................ |
68 |
2.1.2. Структура файловой системы Windows..................................... |
71 |
2.1.3. Работас текстовыми файлами вCmd.exe.................................. |
81 |
2.1.4. Копирование и перемещение файлови директорий ............... |
85 |
2.2. ДОПОЛНИТЕЛЬНЫЕ ВОЗМОЖНОСТИ CMD.EXE ................................ |
90 |
2.2.1. Полезныеинструменты командной строки .............................. |
90 |
2.2.2. Настройка параметров командной оболочки........................... |
96 |
2.2.3. Перенаправлениеввода/выводаи конвейеры......................... |
99 |
2.3. ФАЙЛОВЫЙМЕНЕДЖЕР FAR........................................................... |
106 |
2.3.1. Началоработыи внешний вид FAR ......................................... |
106 |
2.3.2. Основные операции FAR Manager ........................................... |
109 |
2.3.3. Дополнительные возможности FAR ........................................ |
113 |
ЗАЧЕТНЫЕ ЗАДАНИЯК РАЗД. 2.............................................................. |
116 |
Задание 2.1........................................................................................ |
116 |
Задание 2.2........................................................................................ |
118 |
Задание 2.3........................................................................................ |
119 |
Задание 2.4........................................................................................ |
119 |
Задание 2.5........................................................................................ |
119 |
3. ПРОГРАММИРОВАНИЕ НАЯЗЫКЕ FORTRAN ......................................... |
120 |
МЕТОДИЧЕСКИЕ УКАЗАНИЯ К РАЗД. 3................................................... |
120 |
3.1. ПРАВИЛАЗАПИСИПРОГРАММЫ.................................................... |
122 |
3.1.1. Наборсимволов Фортрана...................................................... |
122 |
3.1.2. Форматы записи программы................................................... |
123 |
3.1.3. Фиксированный формат.......................................................... |
125 |
3.1.4. Свободный формат.................................................................. |
127 |
3.2. ТРАНСЛЯЦИЯПРОГРАММЫ............................................................ |
129 |
3.2.1. Программа водном исходном файле..................................... |
129 |
3.2.2. Трансляция исходногофайла.................................................. |
130 |
3.2.3. Трансляция несколькихисходных файлов.............................. |
132 |
3.2.4. Трансляция модулей................................................................ |
135 |
3.3. КОНЦЕПЦИЯДАННЫХ ЯЗЫКА ФОРТРАН......................................... |
136 |
3.3.1. Имена(идентификаторы) ........................................................ |
136 |
3.3.2. Понятиетипа............................................................................ |
138 |
3.3.3. Буквальные константы............................................................. |
140 |
4
3.3.4. Разновидности типови диапазонызначений......................... |
142 |
3.3.5. Скалярные переменные и константы...................................... |
146 |
3.3.6. Массивы................................................................................... |
150 |
3.3.7. Производные типыданных ..................................................... |
158 |
3.4. ВЫРАЖЕНИЯИ ПРЕОБРАЗОВАНИЕ ТИПОВ..................................... |
160 |
3.4.1. Скалярное присваивание......................................................... |
160 |
3.4.2. Арифметика Фортрана............................................................. |
161 |
3.4.3. Логические выражения............................................................ |
166 |
3.4.4. Работас текстовыми строками................................................ |
168 |
3.4.5. Операции с массивами............................................................ |
170 |
3.5. УПРАВЛЯЮЩИЕ ОПЕРАТОРЫ.......................................................... |
172 |
3.5.1. Условный оператори конструкция IF ...................................... |
172 |
3.5.2. Оператор варианта– конструкцияCASE.................................. |
175 |
3.5.3. Циклы – разновидности конструкции DO................................ |
177 |
3.5.4. ОператорGO TO ....................................................................... |
183 |
3.6. ВВОД/ВЫВОДДАННЫХ................................................................... |
184 |
3.6.1. Простейшие операции ввода/вывода..................................... |
184 |
3.6.2. Форматный ввод/вывод данных............................................. |
188 |
3.6.3. Неявные циклыи ввод/вывод массивов................................. |
193 |
3.6.4. Файловый ввод/вывод............................................................. |
195 |
3.7. ПРОГРАММНЫЕ КОМПОНЕНТЫ ИЭЛЕМЕНТЫООП....................... |
201 |
3.7.1. Структура программных компонентов.................................... |
201 |
3.7.2. Внешниеподпрограммы......................................................... |
202 |
3.7.3. Внутренние подпрограммы..................................................... |
205 |
3.7.4. Модули как библиотеки производныхтипов.......................... |
206 |
3.7.5. Встроенные функции Фортрана............................................... |
209 |
4. ТЕМЫИЗАДАЧИ ДЛЯПРОГРАММИРОВАНИЯ...................................... |
212 |
4.1. ПРОСТЫЕ ИНТЕРПОЛЯЦИОННЫЕ ПОЛИНОМЫ.............................. |
212 |
4.1.1. Интерполяционные полиномыпервой степени ..................... |
212 |
4.1.2. Интерполяционные полиномывторой степени...................... |
214 |
Задачи потеме «Простые итерационные полиномы» ..................... |
216 |
4.2. ФИГУРЫНАКООРДИНАТНОЙ ПЛОСКОСТИ.................................... |
222 |
4.2.1. Треугольник накоординатной плоскости............................... |
222 |
4.2.2. Криволинейная трапеция накоординатной плоскости.......... |
224 |
5