Здавалка
Главная | Обратная связь

ТУСУР Информатика, 1 семестр

каф. ЭП

Билет №1

1. Основные характеристики ОС Linux

В силу того, что исходные коды Linux распространяются свободно и общедоступны, к развитию системы с самого начала подключилось большое число независимых разработчиков. Благодаря этому на сегодняшний момент Linux — самая современная, устойчивая и быстроразвивающаяся система, почти мгновенно вбирающая в себя самые последние технологические новшества. Она обладает всеми возможностями, которые присущи современным полнофункциональным операционным системам типа UNIX.

2. Целочисленные типы данных в языке Pascal

byte целое число от 0 до 255, занимает одну ячейку памяти (байт). word целое число от 0 до 65535, занимает два байта.

integer целое число от –32768 до 32767, занимает два байта. shortint целое число от -128 до 127, занимает 1 байт

longint целое число от –2147483648 до 2147483647, занимает четыре байта.

ТУСУР Информатика, 1 семестр

каф. ЭП

Билет №2

1. Дистрибутивы Linux

Дистрибутив — это набор программного обеспечения, включающий все 4 основные составные части ОС, т. е. ядро, файловую систему, оболочку и совокупность утилит, а также некоторую совокупность прикладных программ. Обычно все программы, включаемые в дистрибутив Linux, распространяются на условиях GPL, так что может сложиться впечатление, что дистрибутив может выпустить кто угодно, точнее любой, кто не поленится собрать коллекцию свободного ПО. И какая-то степень правдоподобия в таком утверждении есть. Однако разработчик дистрибутива должен по крайней мере создать программу инсталляции, которая будет устанавливать ОС на компьютер, на котором никакой ОС еще нет. Кроме того, необходимо обеспечить разрешение взаимозависимостей и противоречий между разными пакетами (и версиями пакетов), что, как мы увидим позже, тоже является нетривиальной задачей.

2. Вещественные типы данных в Pascal

real число с дробной частью от 2.9*10(-39).до 1.7*10(38), может принимать и отрицательные значения, на экран выводится с точностью до 12-го знака после запятой, если результат какой либо операции с real меньше, чем 2.9*10(-39), он трактуется как ноль. Переменная типа real занимает шесть байт.

single число с дробной частью от 1.5*10(-45) до 3.4*10(38) , может принимать и отрицательные значения, на экран выводится с точностью до 8-го знака после запятой, если результат какой либо операции с real меньше, чем 1.5*10(-45), он трактуется как ноль. Переменная типа real занимает шесть байт.

double число с дробной частью от 5.0*10(-324) до 1.7*10(308), может принимать и отрицательные значения, на экран выводится с точностью до 16-го знака после запятой ,если результат какой либо операции с double меньше, чем 5.0*10(-324) , он трактуется как ноль. Переменная типа double занимает восемь байт.

 

ТУСУР Информатика, 1 семестр

каф. ЭП

Билет №3

1. Оболочка и графический интерфейс Linux

Хотя мы часто говорим, что "пользователь работает с операционной системой", фактически это не верно, поскольку на деле взаимодействие с пользователем организует специальная программа. Существует два вида таких программ — оболочка, или shell, для работы в текстовом режиме (интерфейс командной строки) и графический интерфейс пользователя GUI (Graphical User Interface), организующий взаимодействие с пользователем в графическом режиме.

Графический интерфейс

Хотя Linux представляет собой очень мощную и развитую операционную систему, но, если работать с ней только через интерфейс командной строки, она довольно трудна в обращении и "недружелюбна" к пользователю. Все необходимые операции выполняются путем запуска отдельных команд, перечень которых огромен, и которые надо помнить наизусть. Широко известной альтернативой интерфейсу командной строки является так называемый графический интерфейс, который обеспечивает дополнительные удобства для пользователя, в частности, возможность запуска программ в отдельных окнах, обозначения программ (или других объектов) в виде маленьких картинок (пиктограмм, значков, иконок), возможность оперировать с объектами с помощью мыши, а также гораздо большую плотность информации на том же пространстве экрана. Естественно, что для ОС Linux существуют средства, обеспечивающие дружественный к пользователю графический интерфейс. На первый взгляд он очень похож на широко известный графический интерфейс Microsoft Windows, но его внутреннее устройство принципиально отличается.

2. Блок объявления переменных в Pascal

Блок объявлений:

program ... (название программы)

uses ... (используемые программой внешние модули)

const ... (подраздел описания констант)

type ... (подраздел объявления типов)

var ... (подраздел объявления переменных)

ТУСУР Информатика, 1 семестр

каф. ЭП

Билет №4 1. X Window System

X Window System — оконная система, обеспечивающая стандартные инструменты и протоколы для построения графического интерфейса пользователя. Используется в UNIX-подобных ОС. X Window System обеспечивает базовые функции графической среды: обрисовку и перемещение окон на экране, взаимодействие с устройствами ввода, такими как, например, мышь и клавиатура. X Window System не определяет деталей интерфейса пользователя — этим занимаются менеджеры окон, которых разработано множество. По этой причине внешний вид программ в среде X Window System может очень сильно различаться в зависимости от возможностей и настроек конкретного оконного менеджера. В X Window System предусмотрена сетевая прозрачность: графические приложения могут выполняться на другой машине в сети, а их интерфейс при этом будет передаваться по сети и отображаться на локальной машине пользователя (в случае, если это разрешено в настройках). В контексте X Window System термины «клиент»и «сервер» имеют непривычное для многих пользователей значение: «сервер»означает локальный дисплей пользователя (дисплейный сервер), а «клиент» —программу, которая этот дисплей использует (она может выполняться на удалённом компьютере)

 

2. Блок объявления типов данных в Pascal

program ... (название программы)

uses ... (используемые программой внешние модули)

const ... (подраздел описания констант)

type ... (подраздел объявления типов)

var ... (подраздел объявления переменных)

 

ТУСУР Информатика, 1 семестр

каф. ЭП

Билет №5

1. Архитектура клиент-сервер. Ее реализация в Linux

ввод и отображение данных (взаимодействие с пользователем).

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

функции управления ресурсами (файловой системой, базой данных и т.д.) Поэтому, в любом приложении выделяются следующие компоненты;

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

• прикладной компонент.

• компонент управления ресурсом Связь между компонентами осуществляется по определенным правилам, которые называют"протокол взаимодействия". Архитектура “клиент-сервер” относится к описанию взаимодействия программ, причем как находящихся на одном компьютере, так и на разных. Данная архитектура получила широкое распространение благодаря широкому внедрению вычислительных сетей.

 

2. Блок объявления констант в Pascal

const

c1=17;

c2=3.14;

c3='a';

c4=false;

c5=c2+c1;

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

 

ТУСУР Информатика, 1 семестр

каф. ЭП

Билет №6

1. Консоль Linux. Команды Linux.

man (от англ. manual — руководство) — команда Unix, предназначенная для форматирования и вывода справочных страниц.

top — консольная команда UNIX-совместимых операционных систем, список работающих в данный момент процессов и информацию о них. Команда top показывает список работающих в данный момент процессов и информацию о них, включая использование ими памяти и процессора. Список интерактивно формируется в реальном времени. Чтобы выйти из программы top, нажмите клавишу [q].

free - Показывает количество свободной и используемой памяти в системе.

ps (от англ. process status) — консольная команда UNIX-совместимых операционных систем, выдающая отчёт о работающих процессах.

ls - выдача информации о файлах или каталогах Синтаксис команды: ls [флаги] [имя ...] Команда ls для каждого имени каталога распечатывает список входящих в этот каталог файлов; для файлов - повторяется имя файла и выводится дополнительная информация в соответствии с указанными флагами. По умолчанию имена файлов выводятся в алфавитном порядке. Если имена не заданы, выдается содержимое текущего каталога. Если заданы несколько аргументов, то они сортируются по алфавиту, однако сначала всегда идут файлы, а потом каталоги с их содержимым.

passwd - смена входного пароля Синтаксис команды: passwd [входное_имя] Команда passwd меняет (или устанавливает) пароль, связанный с входным_именем пользователя. Обычный пользователь может менять только пароль, связанный с его собственным входным_именем. Команда запрашивает у обычных пользователей старый пароль (если он был), а затем дважды запрашивает новый. После первого запроса проверяется, достаточен ли "возраст" старого пароля. Возраст - это промежуток времени (обычно несколько дней), который должен пройти между сменами пароля. Если возраст недостаточен, новый пароль отвергается и passwd завершается. Если возраст достаточен, делается проверка на соответствие нового пароля техническим требованиям. Когда новый пароль вводится во второй раз, две копии нового пароля сравниваются. Если они не совпали, цикл запроса нового пароля повторяется, но не более двух раз.

2. Условный оператор IF в Pascal

if условие then оператор1 [else ] оператор2

Условие – значение типа boolean или логическая операция. Если условие верно, выполняется оператор, или блок операторов, следующий за then, в противном случае выполняется блок операторов после else, если он есть. Условия могут быть вложенными и в таком случае, любая встретившаяся часть else соответствует ближайшей к ней "сверху" части then.

ТУСУР Информатика, 1 семестр

каф. ЭП

Билет №7

1. Файловая система Linux

Файловая система — это структура, с помощью которой ядро операционной системы предоставляет пользователям (и процессам) ресурсы долговременной памяти системы, т. е. памяти на различного вида долговременных носителях информации — жестких дисках, магнитных лентах. CD-ROM и т. п.

2. Оператор выбора CASE в Pascal

case

Выражение of

Вариант1: Оператор1;

Вариант2: Оператор2;

Вариант N: Оператор N;

[else ОператорN1;]

end;

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

1. Константное выражение такого же типа, как и выражение после case. Константное выражение отличается от обычного тем, что не содержит переменных и вызовов функций, тем самым оно может быть вычислено на этапе компиляции программы, а не во время выполнения.

2. Интервал, например: 1..5, 'a'..'z'. 3. Список значений или интервалов, например: 1,3,5..8,10,12. Выполняется оператор case следующим образом: вычисляется выражение после слова case и по порядку проверяется, подходит полученное значение под какой-либо вариант, или нет. Если подходит, то выполняется соответствующий этому варианту оператор, иначе - есть два варианта. Если в операторе case записана часть else, то выполняется оператор после else, если же этой части нет, то не происходит вообще ничего. Рассмотрим пример. Пусть пользователь вводит целое число от 1 до 10, программа должна приписать к нему слово "ученик" с необходимым окончанием (нулевое, "а" или "ов").

program SchoolChildren;

var n: integer;

begin

write('Число учеников --> ');

readln(n);

write(n,' ученик');

case n of 2..4: write('а');

5..10: write('ов');

end;

readln;

end.

ТУСУР Информатика, 1 семестр

каф. ЭП

Билет №8

1. Иерархия каталогов в Linux. Корневой каталог Linux

В Linux (и UNIX вообще) строится единая каталоговая структура для всех носителей, и единственный корневой каталог этой структуры обозначается символом "/". В эту единую каталоговую структуру можно подключить любое число каталогов, физически расположенных на разных носителях (как говорят,"смонтировать файловую систему" или "смонтировать носитель").Имена каталогов строятся по тем же правилам, что и имена файлов. И, вообще, каталоги в принципе ничем, кроме своей внутренней структуры (до которой ОС уже есть дело) не отличаются от "обычных" файлов, например, текстовых. Полным именем файла (или путем к файлу) называется список имен вложенных друг в друга подкаталогов, начинающийся с корневого каталога и оканчивающийся собственно именем файла. При этом имена подкаталогов в этом списке разделяются тем же символом"/", который служит для обозначения корневого каталога .Для каждого пользователя определен его "домашний каталог"— каталог, в котором пользователь имеет все права: может создавать и удалять файлы, менять права доступа к ними т.д. В каталоговой структуре Linux домашние каталоги пользователей обычно размещаются в каталоге /home и имеют имена, совпадающие с именем пользователя. Например, /home/jim. Каждый пользователь может обратиться к своему домашнему каталогу с помощью значка ~ , т.е., например, пользователь jim может обратиться к каталогу /home/jim/doc как к ~/doc. Когда пользователь входит в систему, текущим каталогом становится домашний каталог данного пользователя.

2. Цикл FOR в Pascal

for <переменная>:=<нач_значение> to <кон_значение> do

<оператор>.

Вместо to возможно слово downto. Рассмотрим такой пример: требуется вывести на экран таблицу квадратов натуральных чисел от 2 до 20.

var i: integer;

begin

for i:=2 to 20 do

writeln(i,' ',sqr(i));

end.

ТУСУР Информатика, 1 семестр

каф. ЭП

Билет №9

1. Файл с точки зрения файловой системы Linux

Для операционной системы Linux файл — не менее важное понятие, чем для её пользователя: все данные, хранящиеся на любых носителях, обязательно находятся внутри какого-нибудь файла, в противном случае они просто недоступны ни для операционной системы, ни для её пользователей. Более того, все устройства, подключённые к компьютеру(начиная клавиатурой и заканчивая любыми внешними устройствами, например, принтерами и сканерами) Linux представляет как файлы (так называемые файлы-дырки). Конечно, файл, содержащий обычные данные, сильно отличается от файла, предназначенного для обращения к устройству, поэтому в Linux определены несколько различных типов файлов. В основном пользователь имеет дело с файлами трёх типов: обычными файлами, предназначенными для хранения данных, каталогами и файлами-ссылками, именно о них и пойдёт речь в данной лекции, о файлах других типов

 

2. Цикл WHILE в Pascal

while <условие> do<оператор> . пока условие истинно, выполняется оператор (в этом случае оператор может не выполниться ни разу, т.к. условие проверяется до выполнения). Под оператором здесь понимается либо простой, либо составной оператор (т.е. несколько операторов, заключённых в begin ... end).

ТУСУР Информатика, 1 семестр

каф. ЭП

Билет №10

1. Команды работы с файлами в Linux

chmod - изменение режима доступа к файлам

cp - копирование файлов

mv - перемещение (переименование) файлов

rm - удаление файлов

ln - создание ссылки на файл

grep - поиск образца в файле

find - поиск файлов

2. Цикл REPEAT в Pascal

repeat<оператор> until<условие> Цикл работает следующим образом: выполняется оператор, затем проверяется условие, если оно пока еще не выполнилось, то оператор выполняется вновь, затем проверяется условие, и т. д. Когда условие, наконец, станет истинным выполнение оператора, расположенного внутри цикла, прекратится, и далее будет выполняться следующий за циклом оператор.

ТУСУР Информатика, 1 семестр

каф. ЭП

Билет №11

1. Права доступа в ОС Linux

В ОС Linux для каждого файла и каталога задаются права доступа, определяющие, кто и какие операции может осуществлять над данным файлом. Эти права позволяют ограничить доступ к файлу трем категориям пользователей (владелец, группа, остальные).Кроме этого, можно управлять типом прав доступа к данному файлу или каталогу. Для файла или каталога может быть установлено право на чтение, запись и выполнение (для каталога - это право на вход в него).Наличие соответствующего права на чтение кодируется символом r (от англ. read), право на запись - w (write), право на выполнение - x (execute),отсутствие соответствующего права обозначают дефисом (-).Эти три типа прав доступа для трех категорий пользователей образуют набор из девяти символов, однозначно задающий все права доступа к файлу (каталогу), например, rwxrwxr-x. Обратите внимание, что для удаления файла необходимо обладать правом на запись в директорию, его содержащую.При создании файла или каталога права устанавливаются автоматически, чем впрочем, тоже можно управлять. Владелец файла может изменять его права доступа как угодно. Команда ls -l выдает подробную информацию о файле, включая права доступа к нему. С файлом, имеющим, например, код доступа rwxr-xr-x его хозяин может производить любые операции (читать, изменять и выполнять), а все остальные - только читать и выполнять. Просмотр содержимого файлов Для просмотра содержимого файлов используются команды more, less и cat. Все три команды в качестве параметра используют имя файла, предназначенного для просмотра, например ,cat data.txt Команда cat (concatenate) - сложная и универсальная команда. Простейшее применение этой команды - вывод содержимого файла на экран. Использование этой команды оправдано, если содержимое файла занимает не больше одного экрана. В противном случае часть информации исчезнет из области видимости. Для файлов, содержащих большое число строк, удобнее использовать команды more или less. Действия этих команд почти аналогичны: информация выводится на экран порциями, нажатие на клавишу Space(пробел) выводит следующую порцию текста (экран), нажатие на клавишу b выводит предыдущий экран, клавиша q прекращает выполнение команды. Перемещение и переименование С помощью команды mv (от англ. move) можно либо изменить имя файла или каталога, либо переместить файл или каталог в другое место. Используя эту команду для переименования в качестве второго аргумента нужно указать новое имя: mv текущее_имя новое_имя

Например,

mv doc1.txt doc_old.txt

mv Work Old_Work

 

2. Процедуры ввода данных в Pascal

readln(v1,v2,...vn); - ввод с клавиатуры значений переменных v1,...vn. Переменные могут иметь строковый, символьный или числовой тип. При вводе следует разделять значения пробелами, символами табуляции или перевода строки. read(v1,v2,...vn); - аналогично readln.

ТУСУР Информатика, 1 семестр

каф. ЭП

Билет №12

1. Типы файлов в Linux

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

• файлы физических устройств;

• именованные каналы (named pipes);

• гнезда (sockets);

• символические ссылки (symlinks).

2. Процедуры вывода данных в Pascal

readln(v1,v2,...vn); - ввод с клавиатуры значений переменных v1,...vn. Переменные могут иметь строковый, символьный или числовой тип. При вводе следует разделять значения пробелами, символами табуляции или перевода строки. read(v1,v2,...vn); - аналогично readln.

 

ТУСУР Информатика, 1 семестр

каф. ЭП

Билет №13

1. Символические и жесткие ссылки в Linux. Особенности, отличия, ограничения.

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

Но в Linux имеется другой тип ссылок, так называемые символические ссылки. Эти ссылки тоже могут рассматриваться как дополнительные имена файлов, но в то же время они представляются отдельными файлами— файлами типа символических ссылок. В отличие от жестких ссылок символические ссылки могут указывать на файлы, расположенные в другой файловой системе, например, на монтируемом носителе, или даже на другом компьютере. Если исходный файл удален, символическая ссылка не удаляется, но становится бесполезной. Используйте символические ссылки в тех случаях, когда хотите избежать путаницы, связанной с применением жестких ссылок. Создание любой ссылки внешне подобно копированию файла, но фактически как исходное имя файла, так и ссылка указывают на один и тот же реальный файл на диске. Поэтому, например, если вы внесли изменения в файл, обратившись к нему под одним именем, вы обнаружите эти изменения и тогда, когда обратитесь к файлу по имени-ссылке. Для того, чтобы создать символическую ссылку, используется уже упоминавшаяся команда ln с дополнительной опцией -s:

2. Определение массива в программе Pascal

Массив – упорядоченный набор однотипных переменных , объединенных одним именем. В качестве типа элементов массива можно использовать все типы, известные нам на данный момент (к ним относятся все числовые, символьный, строковый и логический типы).

Каждый элемент массива имеет свой номер (индекс). для индексов массивов подходит любой порядковый тип, то есть такой, который в памяти машины представляется целым числом. Единственное ограничение состоит в том, что размер массива не должен превышать 64 Кб. Каждый элемент является переменной, т.е. обладает своим именем и значением. Массив относится к так называемым структурированным данным, то есть таких, что имеют фиксированную внутреннюю структуру (организацию). При обращении к отдельному элементу массива необходимо указать его индекс (местонахождение в массиве): A[7] i:=7; A[i] Здесь i - индекс элемента массива

ТУСУР Информатика, 1 семестр

каф. ЭП

Билет №14

1. Оболочка bash в Linux. Назначение, особенности.

оболочка bash не выполняет никаких прикладных задач. Но она обеспечивает выполнение всех приложений: нахождение вызываемых программ, их запуск и организацию ввода/вывода. Кроме того, оболочка отвечает за работу с переменными окружения и выполняет некоторые преобразования (подстановки) аргументов. Но главное свойство оболочки, которое делает ее мощным инструментом пользователя — это то, что она включает в себя простой язык программирования. Как давно доказано в математике, любой алгоритм можно построить из пары-тройки основных операций и одного условного оператора. Реализацию условных операторов (а также операторов цикла) и берет на себя оболочка. Она использует все остальные утилиты и программы (и те, которые имеются в составе операционной системы, и те, что устанавливаются отдельно) как базовые операции поддерживаемого ею языка программирования, обеспечивает передачу им аргументов, а также передачу результатов их работы другим программам или пользователю. В результате получается очень мощный язык программирования. И в этом основная сила и одна из существенных функций оболочки.

2. Определение "записи" в программе Pascal

Тип запись, также как и массив, является структурированным типом данных, то есть таким, переменные которого составлены из нескольких частей. В Pascal существует возможность объединить в одну переменную данные разных типов (тогда как в массиве все элементы имеют одинаковый тип).

ТУСУР Информатика, 1 семестр

каф. ЭП

Билет №15

1. Стандартный ввод/вывод в Linux. Стандартные потоки ввода/вывода, перенаправление потоков.

Когда программа запускается на выполнение, в ее распоряжение предоставляются три потока (или канала):

• стандартный ввод (standard input или stdin). По этому каналу данные передаются программе;

• стандартный вывод (standard output или stdout). По этому каналу программа выводит результаты своей работы;

• стандартный поток сообщений об ошибках (standard error или stderr).

По этому каналу программы выдают информацию об ошибках. Из стандартного входа программа может только читать, а два других потока могут использоваться программой только для записи. По умолчанию входной поток связан с клавиатурой, а выходной поток и поток сообщений об ошибках направлены на терминал пользователя. Другими словами, вся выходная информация запущенной пользователем команды или программы, а также все сообщения об ошибках, выводятся в окно терминала. Однако, как мы увидим чуть ниже, можно перенаправить выходные сообщения (например, в файл).

Для того, чтобы продемонстрировать, как работает стандартный поток ошибок, выполните команду ls с неверным аргументом, например, задав в качестве аргумента имя несуществующего файла. В таком случае ls выведет сообщение об ошибке в стандартный поток ошибок. Для нас, однако, в данном случае стандартный поток ошибок неотличим от выходного потока, поскольку сообщение об ошибке мы видим в окне терминала. Работу со стандартными входным и выходным потоками лучше всего проиллюстрировать на примере команд echo и cat.

2. Стандартные математические функции в Pascal

abs(x) целый, вещественный целый, вещественный модуль аргумента

arctan(x) целый, вещественный вещественный арктангенс

cos(x) целый, вещественный вещественный косинус

exp(x) целый, вещественный вещественный е х - экпонента

frac(x) целый, вещественный вещественный дробная часть х

int(x) целый, вещественный вещественный целая часть х

ln(x) целый, вещественный вещественный натуральный логарифм random вещественный псевдослучайное число [0,1]

random(x) целый целый псевдослучайное число [0,х]

round(x) вещественный целый округление до ближайшего целого sin(x) целый, вещественный вещественный синус

sqr(x) целый, вещественный вещественный квадрат х

sqrt(x) целый, вещественный вещественный корень квадратный из x

trunc(x) вещественный целый ближайшее целое, не превышающее х по модулю

ТУСУР Информатика, 1 семестр

каф. ЭП

Билет №17

1. Параметры окружения в Linux. Переменная PATH.

Одним из важнейших понятий в ОС Linux является переменные окружения (или переменные среды, environment variables) -переменные, к которым имеют доступ все исполняемые команды. Они могут быть использованы как ОС, так и пользовательскими программами. Эти переменные задаются при помощи символьного имени и некоего значения

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

Одной из важнейших переменных окружения является переменная PATH. Она задает перечень путей к каталогам, в которых bash осуществляет поиск файлов (в частности, файлов с командами) в тех случаях, когда полный путь к файлу не задан в командной строке. Отдельные каталоги в этом перечне разделяются двоеточиями. По умолчанию переменная PATH включает каталоги /usr/local/bin, /bin, /usr/bin, /usr/X11R6/bin, т. е. имеет вид: /usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin: Для того, чтобы добавить каталог в этот список, нужно выполнить следующую команду: [root]# export PATH=$PATH:new_path. При осуществлении поиска оболочка просматривает каталоги именно в том порядке, как они перечислены в переменной PATH. в Unix-подобных ОС (включая и Linux) команды ищутся только в директориях, перечисленных в PATH - если "." там не указана (а обычно так и есть), то в текущей директории программа искаться не будет. Для запуска программы из текущей директории надо явно указать путь,например: ./myprog

2. Процедуры ввода/вывода в Pascal

write(p1,p2,... pn); - выводит на экран значения выражений p1,p2,... pn. Выражения могут быть числовые, строковые, символьные и логические. Под выражением будем понимать совокупность некоторых действий, применённых к переменным, константам или литералам, например: арифметические действия и математические функции для чисел, функции для обработки строк и отдельных символов, логические выражения и т.п. Возможен форматный вывод, т. е. явное указание того, сколько выделять позиций на экране для вывода значения.

readln(v1,v2,...vn); - ввод с клавиатуры значений переменных v1,...vn. Переменные могут иметь строковый, символьный или числовой тип. При вводе следует разделять значения пробелами, символами табуляции или перевода строки. read(v1,v2,...vn); - аналогично readln.

 

ТУСУР Информатика, 1 семестр

каф. ЭП

Билет №18

1. Скрипты оболочки bash.

Скрипт оболочки – это файл, содержащий команды оболочки. Скрипты можно выполнять как обычные команды. Если при запуске такого файла заданы аргументы, на время выполнения скрипта они становятся позиционными параметрами. В каждом файле, задающем скрипт первая строка имеет вид: #!/bin/bash Это означает, что когда мы запускаем скрипт на выполнение как обычную команду, /bin/bash будет выполнять ее для нас. Помимо использования позиционных параметров, возможно использование и других переменных, определяемых внутри скрипта. Например:

fruit = apple (определение);

echo $fruit (доступ);

Возможна конкатенация строк:

$ fruit = apple

$ fruit = pine$fruit

$ echo $fruit

pineapple

$ fruite = apple

$ wine = ${fruite} jack

$ echo $wine

applejack

Ввод с клавиатуры. Переменные можно считывать со стандартного ввода. Для этого используется команда read echo -n Enter number of elements: read x

2. Математические операции в Pascal

бинарные

+ сложение целый, вещественный целый, вещественный

- вычитание целый, вещественный целый, вещественный

* умножение целый, вещественный целый, вещественный

/ деление целый, вещественный вещественный

div целочисленное деление целый целый

mod остаток от деления целый целый

унарные

+ сохранение знака целый, вещественный целый, вещественный

- отрицание знака целый, вещественный целый, вещественный

Операции отношения

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

= Равно А=В

<> Неравно А<>B

> Больше A>B

< Меньше A<B

>= Больше или равно A>=B

<= Меньше или равно A<=B

ТУСУР Информатика, 1 семестр

каф. ЭП

Билет №19

1. Управляющие структуры в скриптах bash

Оболочка bash поддерживает операторы выбора if … then … else и case, а также операторы организации циклов for, while, until, благодаря чему она превращается в мощный язык программирования.

2. Символьный тип данных в Pascal. Работа с символьным типом данных в Pascal

char символ, буква, при отображении на экран выводится тот символ, код которого хранится в выводимой переменной типа char, переменная занимает один байт. Каждому символу приписывается целое число в диапазоне от 0 до 255. Для кодировки используется код ASCII.

Символы в компьютере сохраняются не в виде букв, а в виде чисел. Так, каждой букве, числу, вообще, любому иероглифу, способному выводится на экран, соответствует число в кодовой таблице. Кодовая таблица - это специальная система перевода чисел в начертания на мониторе. Объявить переменную такого типа можно так: var ch: char;. Для того чтобы положить в эту переменную символ, нужно использовать оператор присваивания, а символ записывать в апострофах, например: ch:='R';. Для символьных переменных возможно также использование процедуры readln

ТУСУР Информатика, 1 семестр

каф. ЭП

Билет №21

1. Функции в скриптах bash

Функции в скриптах bash Синтаксис Оболочка bash позволяет пользователю создавать собственные функции. Функции ведут себя и используются точно так же, как обычные команды оболочки, т. е. мы можем сами создавать новые команды. Функции конструируются следующим образом: function name () { list }Причем слово function не обязательно, name определяет имя функции, по которому к ней можно обращаться, а тело функции состоит из списка команд list, находящегося между { и }.Этот список команд выполняется каждый раз, когда имя name задано как имя вызываемой команды. Отметим, что функции могут задаваться рекурсивно, так что разрешено вызывать функцию, которую мы задаем, внутри нее самой. Функции выполняются в контексте текущей оболочки: для интерпретации функции новый процесс не запускается (в отличие от выполнения скриптов оболочки). Аргументы Когда функция вызывается на выполнение, аргументы функции становятся позиционными параметрами (positional parameters) на время выполнения функции. Они именуются как $n,где n — номер аргумента, к которому мы хотим получить доступ. Нумерация аргументов начинается с 1, так что $1 — это первый аргумент. Мы можем также получить все аргументы сразу с помощью $*, и число аргументов с помощью $#. Позиционный параметр 0 не изменяется. Если в теле функции встречается встроенная команда return, выполнение функции прерывается и управление передается команде, стоящей после вызова функции. Когда выполнение функции завершается, позиционным параметрам и специальному параметру #возвращаются те значения, которые они имели до начала выполнения функции. Локальные переменные (local)Если мы хотим создать локальный параметр, можно использовать ключевое слово local. Синтаксис ее задания точно такой же, как и для обычных параметров, только определению предшествует ключевое слово local: local name=value.

2. Функции работы со строками в Pascal

string строка символов, на экран выводится как строка символов, коды которых хранятся в последовательности байт, занимаемой выводимой переменной типа STRING; в памяти занимает от 1 до 256 байт – по количеству символов в строке, плюс один байт, в котором хранится длина самой строки.

length(s: string): integer (после двоеточия записан тип значения, возвращаемого функцией, в нашем случае - целое число). Эта функция возвращает длину строки s.

copy(s: string; start: integer; len: integer): string Возвращает вырезку из строковой переменной s, начиная с символа с номером start, длина которой len

pos(s1: string; s: string): byte Ищет подстроку s1 в строке s. Если находит, то возвращает номер символа, с которого начинается первое вхождение s1 в s; если s1 не входит в s, то функция возвращает 0

insert(s1: string; s: string; start: integer) Вставляет строку s1 в строковую переменную s начиная с символа с номером start. delete(s: string; start: integer; len: integer) Удаляет из строковой переменной s фрагмент, начинающийся с символа с номером start и длиной len. str(x,st) : преобразует число, записаное в x (целого типа) в строковой тип и записывает его в st; Например, если в x будет записано число 132, то в st мы получим строчку '132'. val(st,x,er) : обратная процедура к str, то-есть, переводит строковое значение (st) в числовое (x). В переменную er (Integer) записывается код ошибки. Код ошибки необходим, поскольку в строке могут содержатся не только цифры, но и буквы, которые не преобразуются в числа. Поэтому, если в st были не только числа, то в x ничего не запишется, а в er будет не ноль, а какое-то число. Обычно, после этой процедуры проверяют, ноль ли записан в er чтобы убедиться в правильности операции.

ТУСУР Информатика, 1 семестр

каф. ЭП

Билет №22

1. Параметры в оболочке Linux. Разновидности параметров.

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

*, @, #, ?, - (дефис), $, !, 0, _ (подчеркивание).Говорят, что параметр задан или установлен, если ему присвоено значение. Значением может быть и пустая строка. Значения переменным присваиваются с помощью оператора следующего вида

[user]$ name=valueгде name — имя переменной, а value — присваиваемое ей значение (может быть пустой строкой). Значением может быть любой текст. Если значение содержит специальные символы, то его надо взять в кавычки. Присвоенное значение этих кавычек не содержит, естественно. Если переменная задана, то ее можно удалить, используя встроенную команду оболочки unset. Для того чтобы вывести значение одной конкретной переменной, можно воспользоваться командой

[user]$ echo $name (нужно использовать символ $ перед его именем). Так, команда

[user]$ echo name выдаст на экран слово name, а команда

[user]$ echo $name выдаст значение переменной name (если таковое, конечно, задано).

 

Разновидности параметров.

Параметры разделяются на три класса: позиционные параметры, специальные параметры (именами которых как раз и служат перечисленные только что специальные символы) и переменные оболочки. Имена (идентификаторы) позиционных параметров состоят из одной или более цифр (только не из одиночного нуля). Значениями позиционных параметров являются аргументы, которые были заданы при запуске оболочки (первый аргумент является значением позиционного параметра 1, и т. д.). Изменить значение позиционного параметра можно с помощью встроенной команды set. Значения этих параметров изменяются также на время выполнения оболочкой одной из функций

 

2. Команда mv в Linux

mv - перемещение (переименование) файлов Синтаксис команды: mv [-f] файл1 [файл2 ...] целевой_файл Команда mv перемещает (переименовывает) файл1 в целевой_файл. Файл1 не должен совпадать с целевым_файлом (будьте внимательны при использовании метасимволов shell'а). Если целевой_файл является каталогом, то файл1, файл2, ..., перемещаются в него под своими именами. Только в этом случае можно указывать несколько исходных файлов. Если целевой_файл существует и не является каталогом, его старое содержимое теряется. Если при этом обнаруживается, что в целевой_файл не разрешена запись, то выводится режим этого файла [см. chmod] и запрашивается строка со стандартного ввода. Если эта строка начинается с символа y, то требуемые действия все же выполняются, при условии, что у пользователя достаточно прав для удаления целевого_файла. Если была указана опция -f или стандартный ввод назначен не на терминал, то требуемые действия выполняются без всяких запросов. Вместе с содержимым целевой_файл наследует режим файла1. Если файл1 является каталогом, то он переименовывается в целевой_файл, только если у этих двух каталогов общий над каталог; при этом все файлы, находившиеся в файле1, перемещаются под своими именами в целевой_файл. Если файл1 является файлом, а целевой_файл - ссылкой, причем не единственной, на другой файл, то все остальные ссылки сохраняются, а целевой_файл становится новым независимым файлом.

ТУСУР Информатика, 1 семестр

каф. ЭП

Билет №23

1. Строковый тип данных в Pascal. Хранение строк. Операции и функции работы со строковым типом данных в Pascal.

string строка символов, на экран выводится как строка символов, коды которых хранятся в последовательности байт, занимаемой выводимой переменной типа STRING; в памяти занимает от 1 до 256 байт – по количеству символов в строке, плюс один байт, в котором хранится длина самой строки.

Хранение строк. В памяти компьютера строка хранится в виде последовательности из символьных переменных, у них нет индивидуальных имён, но есть номера, начинающиеся с 1). Перед первым символом строки имеется ещё и нулевой, в котором хранится символ с кодом, равным длине строки.

Сравнение строк. Строки сравниваются последовательно, по символам. Сравниваются первые символы строк, если они равны - то вторые, и т. д. Если на каком-то этапе появилось различие в символах, то меньшей будет та строка, в которой меньший символ. Если строки не различались, а затем одна из них закончилась, то она и считается меньшей. Примеры: 'ананас'<'кокос', 'свинья'>'свинина', ''<'A', 'hell'<'hello'.

Склеивание (конкатенация) строк. К строкам можно применять операцию "+", при этом результатом будет строка, состоящая из последовательно записанных "слагаемых". Пример: после действия s:= 'abc'+'def'+'ghi'; переменная s будет содержать 'abcdefghi'.

2. Команда rm в Linux

rm - удаление файлов Синтаксис команды: rm [-f] [-i] файл ... rm

-r [-f] [-i] каталог ... [файл ...] Команда rm служит для удаления указанных имен файлов из каталога. Если заданное имя было последней ссылкой на файл, то файл уничтожается. Для удаления пользователь должен обладать правом записи в каталог; иметь право на чтение или запись файла не обязательно. Следует заметить, что при удалении файла в Linux, он удаляется навсегда. Здесь нет возможностей вроде "мусорной корзины" в windows 95/98/NT или команды undelete в DOS. Так что, если файл удален, то он удален! Если нет права на запись в файл и стандартный ввод назначен на терминал, то выдается (в восьмеричном виде) режим доступа к файлу и запрашивается подтверждение; если оно начинается с буквы y, то файл удаляется, иначе - нет. Если стандартный ввод назначен не на терминал, команда rm ведет себя так же, как при наличии опции

-f. Допускаются следующие три опции: -f Команда не выдает сообщений, когда удаляемый файл не существует, не запрашивает подтверждения при удалении файлов, на запись в которые нет прав. Если нет права и на запись в каталог, файлы не удаляются. Сообщение об ошибке выдается лишь при попытке удалить каталог, на запись в который нет прав (см. опцию -r).

-r Происходит рекурсивное удаление всех каталогов и подкаталогов, перечисленных в списке аргументов. Сначала каталоги опустошаются, затем удаляются. Подтверждение при удалении файлов, на запись в которые нет прав, не запрашивается, если задана опция -f или стандартный ввод не назначен на терминал и не задана опция -i. При удалении непустых каталогов команда rm -r предпочтительнее команды rmdir, так как последняя способна удалить только пустой каталог. Но команда rm -r может доставить немало острых впечатлений при ошибочном указании каталога!

-i Перед удалением каждого файла запрашивается подтверждение. Опция -i устраняет действие опции -f; она действует даже тогда, когда стандартный ввод не назначен на терминал. ПРИМЕРЫ Опция -i часто используется совместно с -r. По команде: rm -ir dirname запрашивается подтверждение: directory dirname: ? При положительном ответе запрашиваются подтверждения на удаление всех содержащихся в каталоге файлов (для подкаталогов выполняются те же действия), а затем подтверждение на удаление самого каталога.

ТУСУР Информатика, 1 семестр

каф. ЭП

Билет №24

1. Структура программы на языке Pascal. Блоки программы

Любая программа на Pascal состоит из трех блоков: блока объявлений, блока описания процедур и функций и блока операторов (основной блок программы) Блок объявлений:

program ... (название программы)

uses ... (используемые программой внешние модули)

const ... (подраздел описания констант)

type ... (подраздел объявления типов)

var ... (подраздел объявления переменных)

Блок описания процедур и функций:

procedure (function)

begin

...

end;

...

Блок основной программы:

begin

(операторы основной программы) ...

end;

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

 

2. Команда cp в Linux

cp - копирование файлов cp файл1 [файл2 ...] целевой_файл Команда cp копирует файл1 в целевой_файл. Файл1 не должен совпадать с целевым_файлом (будьте внимательны при использовании метасимволов shell'а). Если целевой_файл является каталогом, то файл1, файл2, ..., копируются в него под своими именами. Только в этом случае можно указывать несколько исходных файлов. Если целевой_файл существует и не является каталогом, его старое содержимое теряется. Режим, владелец и группа целевого_файла при этом не меняются. Если целевой_файл не существует или является каталогом, новые файлы создаются с теми же режимами, что и исходные (кроме бита навязчивости, если Вы не суперпользователь). Время последней модификации целевого_файла (и последнего доступа, если он не существовал), а также время последнего доступа к исходным файлам устанавливается равным времени, когда выполняется копирование. Если целевой_файл был ссылкой на другой файл, все ссылки сохраняются, а содержимое файла изменяется.

ТУСУР Информатика, 1 семестр

каф. ЭП

Билет №25

1. Типы данных в Pascal. Определения типа переменной и константы. Приводимость типов

Тип переменной задает вид того значения, которое ей присваивается и правила, по которым операторы языка действуют с переменной Если переменные A и B целочисленного типа, то программа:

x:=3;

y:=2;

writeln(x,’ ‘,y,’ ‘,x+y);

Выведет на экран строку: “3 2. 5” Если же они строкового типа, то программа:

x:=’3’;

y:=’2’;

writeln(x,’ ‘,y,’ ‘,x+y);

выведет: “3 2 32”, так как оператор сложения просто добавит строку y в конец строки x.

Тип константы определяется способом записи ее значения: const

c1=17;

c2=3.14;

c3='a';

c4=false;

c5=c2+c1;

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

2. Команда chmod в Linux

chmod - изменение режима доступа к файлам Синтаксис команды: chmod режим файл Права доступа к указанным файлам (среди которых могут быть каталоги) изменяются в соответствии с указанным режимом. Режим может быть задан в абсолютном или символьном виде. Использование символьного вида основано на однобуквенных обозначениях, которые определяют класс доступа и права доступа для членов данного класса. Права доступа к файлу зависят от идентификатора пользователя и идентификатора группы, в которую он входит. Режим в целом описывается в терминах трех последовательностей, по три буквы в каждой: Владелец Группа Прочие (u) (g) (o) rwx rwx rwx Здесь владелец, члены группы и все прочие пользователи обладают правами чтения файла, записи в него и его выполнения. В примере показаны обозначения как для класса доступа, так и для прав доступа внутри класса. Для задания режима доступа в символьном виде используется следующий синтаксис: [кому] операция права Часть [кому] есть комбинация букв u, g и o (владелец, члены группы и прочие пользователи соответственно). Если часть кому опущена или указано a, то это эквивалентно ugo. Операция может быть: + (добавить право), - (лишить права), = (в пределах данного класса присвоить права абсолютно, то есть добавить указанные права и отнять неуказанные). Права - любая осмысленная комбинация следующих букв:

r Право на чтение.

w Право на запись.

x Право на выполнение (поиск в каталоге).

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

t После выполнения программы сохранять сегмент команд (бит навязчивости).

l Учет блокировки доступа.

Опустить часть права можно только если операция есть = (для лишения всех прав). Если надо сделать более одного указания об изменении прав, то при использовании символьного вида в правах не должно быть пробелов, а указания должны разделяться запятыми. Например, команда chmod u+w,go+x f1 добавит для владельца право писать в файл f1, а для членов группы и прочих пользователей - право выполнять файл. Права устанавливаются в указанном порядке. Право s можно добавлять только для пользователя и группы, право t - только для пользователя. Чтобы установить права, позволяющие владельцу читать и писать в файл, а членам группы и прочим пользователям только читать, надо использовать следующую запись: chmod u=rw,go=r f1 Позволить всем выполнять файл f2 chmod +x f2

ТУСУР Информатика, 1 семестр

каф. ЭП

Билет №27

1. Управляющие структуры в Pascal. Условный оператор, оператор альтернативного выбора, циклы.

if then [else ] Условие – значение типа boolean или логическая операция. Если условие верно, выполняется оператор, или блок операторов, следующий за then, в противном случае выполняется блок операторов после else, если он есть. Условия могут быть вложенными и в таком случае, любая встретившаяся часть else соответствует ближайшей к ней "сверху" части then.

Оператор выбора одного из вариантов.

case Выражение of Вариант1: Оператор1;

Вариант2: Оператор2;

ВариантN: ОператорN;

[else ОператорN1;]

end;

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

1. Константное выражение такого же типа, как и выражение после case. Константное выражение отличается от обычного тем, что не содержит переменных и вызовов функций, тем самым оно может быть вычислено на этапе компиляции программы, а не во время выполнения.

2. Интервал, например: 1..5, 'a'..'z'.

3. Список значений или интервалов, например: 1,3,5..8,10,12. Выполняется оператор case следующим образом: вычисляется выражение после слова case и по порядку проверяется, подходит полученное значение под какой-либо вариант, или нет. Если подходит, то выполняется соответствующий этому варианту оператор, иначе - есть два варианта. Если в операторе case записана часть else, то выполняется оператор после else, если же этой части нет, то не происходит вообще ничего.

Операторы циклов

Цикл с параметром (со счетчиком)

for переменная := начальное значение to конечное значение do оператор .

Вместо to возможно слово downto.

Цикл с предусловием

while условие do оператор .

пока условие истинно, выполняется оператор (в этом случае оператор может не выполниться ни разу, т.к. условие проверяется до выполнения). Под оператором здесь понимается либо простой, либо составной оператор (т.е. несколько операторов, заключённых в begin ... end). Цикл с постусловием repeat until Цикл работает следующим образом: выполняется оператор, затем проверяется условие, если оно пока еще не выполнилось, то оператор выполняется вновь, затем проверяется условие, и т. д. Когда условие, наконец, станет истинным выполнение оператора, расположенного внутри цикла, прекратится, и далее будет выполняться следующий за циклом оператор.

2. Команда passwd в Linux

passwd - смена входного пароля Синтаксис команды: passwd [входное_имя] Команда passwd меняет (или устанавливает) пароль, связанный с входным_именем пользователя. Обычный пользователь может менять только пароль, связанный с его собственным входным_именем. Команда запрашивает у обычных пользователей старый пароль (если он был), а затем дважды запрашивает новый. После первого запроса проверяется, достаточен ли "возраст" старого пароля. Возраст - это промежуток времени (обычно несколько дней), который должен пройти между сменами пароля. Если возраст недостаточен, новый пароль отвергается и passwd завершается. Если возраст достаточен, делается проверка на соответствие нового пароля техническим требованиям. Когда новый пароль вводится во второй раз, две копии нового пароля сравниваются. Если они не совпали, цикл запроса нового пароля повторяется, но не более двух раз.

 

ТУСУР Информатика, 1 семестр

каф. ЭП

Билет №28

1. Массивы в Pascal. Одномерные и двумерные массивы

Массив – упорядоченный набор однотипных переменных , объединенных одним именем. В качестве типа элементов массива можно использовать все типы, известные нам на данный момент (к ним относятся все числовые, символьный, строковый и логический типы).Каждый элемент массива имеет свой номер (индекс). для индексов массивов подходит любой порядковый тип, то есть такой, который в памяти машины представляется целым числом. Единственное ограничение состоит в том, что размер массива не должен превышать 64 Кб. Каждый элемент является переменной, т.е. обладает своим именем и значением. Массив относится к так называемым структурированным данным, то есть таких, что имеют фиксированную внутреннюю структуру (организацию).При обращении к отдельному элементу массива необходимо указать его индекс местонахождение в массиве):

A[7] i:=7; A[i]

Здесь i - индекс элемента массива Объявление массива Массивы, как и другие переменные, должны быть объявлены в разделе var

var

Mas: array [1..15] Of real;

Work: array [(Mon, Tue, Wed)] Of integer;

B: array ['A'..'Z'] Of boolean;

C: array [1..3, 1..5] Ofreal;

Ввод массива

Чтобы заполнить массив данными существует несколько способов:

• непосредственное присваивание значений элементам;

• генерация и присваивание значений с помощью функции random;

• ввод значений элементов с клавиатуры;

1) Ввод элементов одномерного массива с клавиатуры:var

A : array[1..20] of real;

begin

writeln('Введите элементы массива:');

for i:=1 to n do readln(A[i]);

 

2. Команда ps в Linux

ТУСУР Информатика, 1 семестр

каф. ЭП

Билет №29

1. Записи в Pascal. Создание типа “запись”, работа с полями записи.

Тип запись, также как и массив, является структурированным типом данных, то есть таким, переменные которого составлены из нескольких частей. В Pascal существует возможность объединить в одну переменную данные разных типов (тогда как в массиве все элементы имеют одинаковый тип). Приведём пример такого типа. Пусть в переменной требуется хранить сведения о некотором человеке: ФИО, пол, адрес, телефон. Тогда для хранения этих данных будет удобен такой тип:

type tPerson = record Name,Surname,SecondName: string[30];

Male: boolean;

Address: string[50];

Phone: string[11];

end;

Объявление переменной типа запись выполняется стандартно, с помощью var. Части записи (в нашем случае: Name, Surname, SecondName, Male, Address, Phone) называются полями. Обращение к полю записи в программе производится с помощью знака '.' (точка). Пример обращения к полям:

var emp: tPerson;

... begin ... emp.Surname:='Иванов';

emp.Name:='Иван';

emp.SecondName:='Иванович';

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

with do ;

Пример: with emp do begin Surname:=' Иванов'; Name:='Иван';

SecondName:='Иванович';

... end;

Записи можно включать в состав более сложных переменных, например массивов и других записей: type tStaff = array [1..30] of tPerson;

2. Команда top в Linux

top — консольная команда UNIX-совместимых операционных систем, список работающих в данный момент процессов и информацию о них. Команда top показывает список работающих в данный момент процессов и информацию о них, включая использование ими памяти и процессора. Список интерактивно формируется в реальном времени. Чтобы выйти из программы top, нажмите клавишу [q]

ТУСУР Информатика, 1 семестр

каф. ЭП

Билет №30

1. Работа с файлами в Pascal. Типы файловых переменных. Связывание файловой переменной с конкретным файлом. Процедуры открытия файла, процедуры чтения/записи в файл, закрытие файла.

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

1. Создание (описание) файловой переменной;

2. Связывание этой переменной с конкретным файлом на диске или с устройством ввода-вывода (экран, клавиатура, принтер и т.п.);

3. Открытие файла для записи либо чтения;

4. Действия с файлом: чтение либо запись;

5. Закрытие файла

1. text - текстовый файл. Из переменной такого типа мы сможем читать строки и символы.

2. file of _любой_тип_ - так называемые "типизированные" файлы, то есть файлы, имеющие тип. Этот тип определяет, какого рода информация содержится в файле и задается в параметре_любой_тип_.

3. file - нетипизированный файл. Когда мы указываем в качестве типа файла просто File, то есть без типа:

1. Reset(); Открыват файл на чтение. В качестве параметра - файловая переменная любого из перечисленных выше типов. Это может быть текстовый, типизированный либо не типизированный файл. В случае с текстовым файлом, он открывается только на чтение. В случае с типизированным и нетипизированным файлом - он открывается на чтение и запись.

2. Append(T: Text); Эта процедура открывает текстовый файл (только текстовый!) на запись. Reset при задании параметра типа Text не позволит писать в него данные, открыв файл лишь для чтения. То есть если вы используете текстовый файл и хотите производить в него запись, нужнo использовать Append. Если чтение - Reset. Также обратите внимание, что если вы до этого уже открыли файл на чтение, вам не нужно закрывать его и открывать снова на запись. В этом случае файл закрывается сам и открывается заново. При записи данных в файл при открытии его с помощью этой процедуры они записываются в конец файла.

3. ReWrite(F) - создает новый файл либо перезаписывает существующий. Необходимо быть осторожным при использовании этой процедуры, т.к. файл, открытый таким образом будет полностью перезаписан. Закрытие файла Закрытие файла производиться с помощью процедуры Close(F), где F - это переменная файлового типа. Эта процедура одна для всех типов файлов.

2. Категории пользователей в Linux





©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.