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


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

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



Содержательный подход.

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

 

Алфавитный подход.

Алфавитный подход основан на том, что всякое сообщение можно закодировать с помощью конечной последовательности символов некоторого алфавита. Носителями информации являются любые последовательности символов, которые хранятся, передаются и обрабатываются с помощью компьютера. Согласно Колмогорову, информативность последовательности символов не зависит от содержания сообщения, а определяется минимально необходимым количеством символов для ее кодирования. Алфавитный подход является объективным, т.е. он не зависит от субъекта, воспринимающего сообщение. Смысл сообщения учитывается на этапе выбора алфавита кодирования либо не учитывается вообще. На первый взгляд определения Шеннона и Колмогорова кажутся разными, тем не менее, они хорошо согласуются при выборе единиц измерения.

 

Файловая организация данных. Основные понятия.

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

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

Файловая система связывает носитель информации с одной стороны и API для доступа к файлам — с другой. Когда прикладная программа обращается к файлу, она не имеет никакого представления о том, каким образом расположена информация в конкретном файле, так же, как и на каком физическом типе носителя (CD, жёстком диске, магнитной ленте, блоке флеш-памяти

или другом) он записан. Всё, что знает программа — это имя файла, его размер и атрибуты. Эти данные она получает от драйвера файловой системы. Именно файловая система устанавливает, где и как будет записан файл на физическом носителе (например, жёстком диске).

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

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

ОСНОВНЫЕ ПОНЯТИЯ:
ФАЙЛ – поименованная область памяти на диске предназначенная для хранения информации(текст, таблица, рисунок). Имя файла состоит из 2-х частей: 1) собственное имя файла; 2)расширение (тип).
Расширение используется операционной системой для определения характера информации хранимой в файле информации. По нему операционная система определяет темп данных и программу для редактирования файла. Для удобной работы с данными файлами их объединяют в группы по опред-ым признакам. Группа файлов для кот-ой водится общее имя называется каталогом. В каталоге кроме файлов могут входить другие каталоги. Так образуется иерархич-ая файловая сис-ма. Расширения: pas, com,exe,bat. На каждом диске существует единственный главный каталог – корневой(с кот-ого начинают регистрироваться все файлы и папки).
НАКОПИТЕЛИ – предназначены для хранения информации в компьютере.
2 ВИДА ДИСКОВ: 1) физич-ий – реальный физич-ий носитель данных, имеющий имя. А: и В: - гибкие магнитные диски (дискеты); С: - жесткий магнитный диск(винчестер).
2) ЛОГИЧЕСКИЙ – виртуальный диск на физич-ом носителе или часть его.
Файлы с одинаковыми именами могут содержаться в разных каталогах. Тогда для точной индентификации файлов использует понятие полного имени файла или маршрута.
МАРШРУТ– место нахождения файла в файловой си-ме, путь доступа к файлу.

Свойства алгоритма

1. Однозначность алгоритма – единственность толкования исполнителем правил выполнения действий и порядка их выполнения. Чтобы алгоритм обладал этим свойством, он должен быть записан командами из системы команд исполнителя.

2. Конечность алгоритма – обязательность завершения каждого из действий, составляющих алгоритм, и завершимость выполнения каждого алгоритма в целом. Записанный на рисунке алгоритм обладает этим свойством, так как запись действий исполнителя завершается записью об окончании алгоритма.

3. Результативность алгоритма – предполагает, что выполнение алгоритма должно завершится получением определенных результатов.

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

5. Правильность алгоритма – способность алгоритма давать правильные результаты решения поставленных задач.

Структура программы PASCAL.

 

СТРУКТУРА ПРОГРАММЫ PASCAL

Компьютерная программа – это план будущих работ, составленный в расчёте на его выполнение компьютером.

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

Набор записи компьютерной программы называется “алгоритмическим языком”.

Язык программирования – это фиксированная система обозначений и правил для алгоритмов и структур данных. Основой для языка программирования Pascal является латинский алфавит, десятичные цифры и правила, используемые для написания программ.

Программа на языке Паскаль состоит из «заголовка» и «тела», называемого блоком. В заголовке программы дается имя и перечисляются ее параметры (если это необходимо). Заголовок программы не является обязательной частью программы.

Далее следует раздел подключения модулей, за которым следует список имен модулей, перечисляемых через запятую.

Далее идет описательная часть программы (блок описаний):

1. описание меток;

2. определение констант;

3. определение типов;

4. описание переменных;

5. описание процедур и функций.

Далее следует блок begin … end - раздел операторов, внутри которого находятся операторы, отделяемые один от другого символом «;».

 

ВАЖНО!!!!

 Угловые скобки < > используют для указания на то, что параметр является обязательным.

 Квадратные скобки [ ] для указания на то, что параметр может быть опущен.

 Элемент может быть использован при описании других элементов, только после того, как был описан сам.

 Вызов процедур отделяется друг от друга знаком точкой с запятой “;”.

 

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

Слова подразделяются на: зарезервированные, стандандартные идентификаторы и идентификаторы пользователя.

Зарезервированные слова являются составной частью языка и их нельзя использовать в качестве идентификаторов (and, array, begin, case, const, div, do, downto, else, end, file, for, forward, function, goto, if, in, lable, mod, nil, not, of, or, packed, procedure, program, record, repeat, set, shl, shr, string, then, to, type, unit, until, uses, var, while, with, xor).

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

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

Идентификаторы или имена элементов, являются определяемыми программистом последовательностями латинских букв и цифр по правилу: на первом месте всегда стоит латинская буква, следующие символы могут быть либо латинскими буквами, либо цифрами в любой комбинации, либо символ подчеркивания “_”. Пробелы и другие знаки являются недопустимыми символами.!!!! 8

 

Примечание: В Turbo Pascale большие и малые буквы воспринимаются транслятором одинаково, например, Proba, proba и PROBA являются одинаково воспринимаемыми идентификаторами.

Имя программы является первым идентификатором в тексте программы.

 

Основные понятия языка программирования.

Основные понятия языка программирования

Константы (Const) – элементы данных, значения которых установлены в описательной части программы и в процессе выполнения программы не изменяются. Описание констант осуществляется в разделе const.

Const k=8; m=19;

Метка (Label) – целое число без знака, обычно содержащее не более 4-х знаков.

Переменные (Var) – величины, которые могут менять свои значения в процессе выполнения программы. Описание переменных осуществляется в разделе var.

Var g: integer;

st: string;

Тип данных (Type) – множество величин, объединенных определенной совокупностью допустимых операций (рисунок 3, таблица 3).

Процедур ы (Procedure) – независимая совокупность операторов, выполняющих заданную последовательность действий, и определенных отдельно от основной части программы.

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

Операнд – элемент данных, над которыми производиться операция.

Операция – действия, которые необходимо выполнить над операндом.

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

Операторы в Pascal разделяются точкой с запятой (;).

Оператор присваивания (:=) А:=78;

Оператор вызова процедуры ClrScr; {вызов стандартной процедуры - очистки экрана}

 

 

Процедуры ввода-вывода

Процедуры ввода являются предопределенными.

I. Ввод данных:

 

Read [(<список ввода>)];

Readln [(<список ввода>)];

Read обеспечивает ввод данных в память ЭВМ, при этом курсор остается на месте.

Readln обеспечивает ввод данных в память ЭВМ, при этом осуществляется перевод курсора на новую строку.

II. Вывод данных:

 

Write [(<список вывода>)];

Writeln [(<список вывода>)];

Write предназначена для вывода значений на экран.

Writeln выводит значения данных на экран и переводит курсор в начало следующей строки.

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

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

 

Пример 4:

program 2;

var

b, c: integer;

v: real;

begin

write(‘b=’);

readln(b);

write(‘c=’);

readln(c);

v:=(b+c)/3.56;

writeln(‘v=’,v:8:4)

end.

Для переменной v определено для вывода поле шириной 8 позиций, в том числе 4 позиции для знаков после десятичной точки, которая так же займет одну позицию из 8.

Операторы ветвления

I. Оператор условия предназначен для реализации простого ветвления алгоритма.

 

If <условие> then <оператор - да> else <оператор - нет>;

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

program 3;

var a, b, c, d: real;

begin

writeln(‘Введите коэффициенты квадратного уравнения А, В и С’);

readln(a, b, c);

d:=sqr(b)-4*a*c;

if d>0 then writeln(‘Вещественные корни существуют’) else writeln(‘Нет вещественных корней’);

end.

II. Оператор выбора используется при множественном разветвлении алгоритма, например, если необходимо по числовому значению дня недели указать его название (1 - понедельник, 2 - вторник, 3 – среда и т.д.).

 

Case <селектор> of

<значение1>:<оператор1>;

<значение2>:<оператор2>;

………………………………;

<значениеN>:<операторN>

Else <оператор - нет>; 12

 

Пример 6: По числовому значению дня недели указать его название.

program 4;

var n: 1..7; {перечисляемый тип, здесь допускает только значения от 1 до 7}

begin

writeln(‘Введите числовое значение дня недели’);

readln(n);

case n of

1: writeln(‘понедельник’);

2: writeln(‘вторник’);

3: writeln(‘среда’);

4: writeln(‘четверг’);

5: writeln(‘пятница’);

6: writeln(‘суббота’)

7: writeln(‘воскресенье’);

end.

Циклы

Циклы (операторы повтора) используются в программе при необходимости неоднократного повторения какого-либо оператора или группы операторов. В Pascal различают три вида циклов: цикл с параметром For, цикл с предусловием While, цикл с постусловием Repeat.

Оператор повтора For применяется, когда заранее известно число повторений. Переменная, хранящая количество повторений называется параметром цикла. Существует две структуры данного оператора.

Счет по возрастанию: For <параметр цикла>:=<целочисленное выражение1 > to < целочисленное выражение2> do <оператор цикла>;

Счет по убыванию: For <параметр цикла>:=<целочисленное выражение2 > downto < целочисленное выражение1> do <оператор цикла>;

Пример 7: Вывести на экран результат умножения 7 на числа от 11 до 25.

program 5;

var i: byte; {i- параметр цикла}

r: integer;

begin

writeln (‘Таблица умножения для 7’);

for i:=11 to 25 do begin {при выполнении в цикле более одного оператора ставятся операторные скобки Begin end;}

r:=7*I;

write(r:5); {вывод результата в строку с промежутком в 5 позиций}

end;

end. 13

 

Формат цикла с предусловием While <условие> do <тело цикла>; Проверка условия осуществляется перед циклом, цикл выполняется, если условие принимает значение True (истина).

Пример 8: Посчитать сумму 10 произвольно введенных чисел.

program 6;

const limit=10; {константа ограничения ввода чисел}

var i: integer;

sum, ch: real;

begin

i:=0; {счетчик чисел}

sum:=0; {переменная накапливающая сумму чисел}

while i< limit do

begin

i:=i+1;

write(‘введите ’,i,’-е число: ’);

readln(ch);

sum:=sum+ch;

end; {конец цикла}

writeln(‘Сумма равна ’,sum:5:2); {переменную sum вещественного типа выводим в 5 позиций с 2мя знаками в дробной части}

end.

Цикл с постусловием Repeat

<тело цикла>

Until <условие>;

Первоначально условие принимает значение False (ложь). Цикл выполняется до тех пор, пока условие не станет True (истина).

Пример 9: Подсчитать количество чисел, введенных до первого отрицательного.

program 7;

var ch: real;

n: byte;

begin

writeln (‘Подсчитать количество чисел, введенных до первого отрицательного’);

writeln; {оформление подсказки}

repeat

write (‘Введите число ’);

readln(ch);

n:=n+1;

until ch<0;

writeln(‘Количество не отрицательных чисел равно ‘,n);

end.

23. Типы данных, определяемые пользователем (массивы, записи, множества). Файлы.

Типы данных, определяемые пользователем

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

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

Основными типами структурных данных являются массивы (array) и записи (record).

Массивы

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

Формат записи массива через раздел описания типов имеет вид:

Type <имя типа>=array [тип индекса] of <тип компонента>;

Var <идентификатор,…>: <имя типа>;

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

Var <идентификатор,…>: array [тип индекса] of <тип компонента>;

Массивы различают по количеству индексов: одномерные (1 индекс), двумерные и N-мерные (N индексов).

Пример 10: Даны два массива целых чисел. Вычислить произведение максимального элемента первого массива на минимальный элемент второго массива. Удалить максимальный элемент из первого массива и добавить его во второй массив после минимального.

program 8;

type massiv=array [1..40] of integer;

var a, b: massiv;

i, n, k, p, j, min, Imin, max, Imax: integer;

begin

{ввод массива с клавиатуры}

write('Введите размерность массива А n=');

readln(n);

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

for i:=1 to n do begin 15

 

write('a[',i,']=');

readln(a[i]);

end;

{ввод массива случайным образом}

write('Введите размерность массива В k=');

readln(k);

randomize; {подключение генератора случайный чисел}

for i:=1 to k do

b[i]:=random(16); {заполнение массива случайными числами от 0 до 15}

{Вывод массива на экран}

Writeln('Массив В');

for i:=1 to k do write(b[i],' ');

writeln; {пустой оператор вывода}

{Поиск максимального элемента}

max:=a[1];

Imax:=1;

for i:=2 to n do

if a[i]>max then begin

max:=a[i]; {максимальный элемент}

Imax:=i; {индекс максимального элемента}

end;

{Поиск минимального элемента}

min:=b[1];

Imin:=1;

for i:=2 to n do

if b[i]<min then begin

min:=b[i]; {минимальный элемент}

Imin:=i; {индекс минимального элемента}

end;

{вычисление произведения и его вывод на экран}

p:=min*max;

writeln('Произведение max и min равно ',p);

{Удаление элемента из массива с позиции Imax}

for i:=Imax to n-1 do

a[i]:=a[i+1];

n:=n-1; {Уменьшение количества элементов массива на 1}

{Вставка элемента в массив после элемента равного min}

i:=1;

while i<k do

begin

if b[i]=min then begin

for j:=k+1 downto i+1 do b[j]:=b[j-1]; {смещение элементов на один вправо, начиная с последнего} 16

 

k:=k+1; {Увеличение количества элементов на один}

b[i+1]:=max; {Вставка элемента на позицию i+1}

end;

i:=i+1; {Увеличение счетчика итераций}

end;

{Вывод массивов А и В на экран в строку}

writeln(‘Массив А: ‘);

for i:=1 to n do write(a[i],' ');

writeln;

writeln(‘Массив В: ‘);

for i:=1 to k do write(b[i],' ');

end.

Записи

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

Формат записи:

Type <имя_типа>=record

<имя_поля1>: тип;

<имя_поля2>: тип;

…………………;

<имя_поляN>: тип

end;

Элементы записи называются полями, а обращение к ним производится через использование их имен – идентификаторов полей. Отличие от обычной переменной записи в том, что имена полей должны предваряться ссылкой на идентификатор записи и отделяться от него точкой. Такая запись называется уточняющий идентификатор: <имя_записи>.<имя_поля>

Пример 11: Описание личных данных учащегося.

Type svedenia=record

f: string[40];

dat_r: string[8];

pol: char;

gruppa: string[4]

end; 17

 

Пример 12: Пусть нам необходимо иметь сведения о всех студентах посещающих бассейн. А затем из общего списка вывести фамилии студентов, которые учатся в 3 группе.

Для этого целесообразно организовать массив записей, потом отобрать только тех, у которых в поле gruppa есть цифра 3.

program anketa;

type svedenia=record

f: string[40];

dat_r: string[8];

pol: char;

gruppa: string[4]

end;

var student: array [1..100] of svedenia;

i, j: integer;

begin

{Последовательно вводим каждую запись}

for i:=1 to 100 do begin

writeln(‘введите сведения о’, i, ‘-м студенте’);

write (‘введите фамилию и имя ’);

readln (student[i].f);

write(‘введите дату рождения’);

readln (student[i].dat_r);

write(‘введите группу’);

readln(student[i].gruppa);

end;

writeln(‘ввод закончен’);

writeln;

{Просматриваем массив записей и выбираем только студентов 3-ей группы}

for i:=1 to 100 do begin

for j:=1 to Length(student[i]. gruppa) do

if student [i]. k gruppa[j]=9 then

writeln(‘фамилия студента: ’, student[i].fio);

end.

Множества

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

В выражениях на языке Pascal значения элементов множества указываются в квадратных скобках: [1, 6, 3, 7, 2, 4], [‘a’..’z’]. Множество, не имеющее элементов, называется пустым и обозначается [].

Формат записи множественного типа:

Type <имя типа>=set of <элемент1,…, элементN>;

Var <идентификатор>:<имя типа>; 18

 

Допустимыми операциями над множествами являются: «=», «<>», «>=», «<=», объединения (+), пересечения (*), разности (-) множеств и операция включения (in). Операция in позволяет проверить принадлежность значения множеству.

Пример 13: Посчитать количество гласных и согласных букв в предложении.

program Glasn_Sogl;

Type mnoj= set of 'A'..'я'; {Задаем множество букв русского алфавита}

var glasn, sogl: mnoj;

sr: string; {строковая переменная sr хранит вводимый текст}

i: byte; {параметр цикла}

g, s: byte; {переменные накапливающие количество гласных и согласных букв соответственно}

begin

{Задаем множества гласных букв перечислением, а множество согласных вычитанием из всего алфавита гласных букв, мягкого и твердого знаков}

glasn:=['A','a','O','o','E','e', 'И','и','Ё','ё','У','у', 'Ы','ы','Э','э','Я','я','Ю','ю'];

sogl:=['A'..'я'] – glasn - 'Ъ' - 'ъ' - 'Ь' - 'ь';

write('Введите предложение: ');

readln(sr);

{Обнуляем счетчики количества}

g:=0;

s:=0;

{Просматриваем все элементы предложения и смотрим, содержаться ли они во множествах glasn и sogl}

For i:=1 to Length(sr) do begin

if sr[i] in glasn then g:=g+1;

if sr[i] in sogl then s:=s+1;

end;

writeln('В данном предложении ',g,' гласных и ',s,' согласных букв');

end.

Файлы

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

Файл – совокупность данных, записанная во внешней памяти под определенным именем.

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

 

 

 ввод больших объемов данных, подлежащих обработке, утомителен и требует большого времени. Гораздо удобнее создать определенный файл данных, который может быть подготовлен заранее и, самое главное, применяться неоднократно;

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

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

 

Формат записи файла:

Type <имя типа>=<тип компонентов>;

var <F>: File of <имя типа>; {F – файловая переменная, представитель файла в паскале}

<R>: <имя типа>; {переменная доступа к полям записи}

Средства обработки файлов:

Процедура Assign(<Файловая переменная>; <полный путь к файлу >) – связывает файловую переменную с конкретным файлом на внешнем устройстве.

Процедура Reset(<файловая переменная>) – открывает уже существующий файл.

Процедура Rewrite(<файловая переменная>) – создает и открывает новый файл.

Процедура Close(<файловая переменная >) – закрывает открытый файл.

Процедура Rename(<файловая переменная >;<новое имя файла>) – переименование любого неоткрытого файла.

Процедура Erase (<файловая переменная >) – удаление неоткрытого файла.

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

Текстовый файл – последовательность символов, разбитая на строки длиной от 0 до 256 символов. Для описания используется стандартный тип Text:

var F: text;

К типизированным файлам относят файлы строго определенного типа. Чаще всего это файлы, состоящие из записи.

Type FR= record

………

end;

var F: file of FR;

Нетипизированные файлы рассматриваются в Pascal как совокупность символов или байтов. для определения в программе нетипизированного файла служит зарезервированное слово File: 20

 

var F: file;

Пример 14: Прочитать последовательность 6 символов из первой строки текстового файла Input.txt, записать их в обратном порядке в файл Output.txt. Файл Input.txt создан на c:\temp\

program text_file;

var F, R: text;

st, ts: string[6];

i: byte;

begin

assign(F, 'c:\temp\Input.txt'); {связывает переменную F с файлом Input.txt}

reset(F); {открывает F для чтения}

assign(R, 'c:\temp\Output.txt'); {связывает переменную R с файлом Output.txt}

rewrite(R); {создает и открывает R для записи}

while not Eoln(F) do read(F, st); {Проверка конца файла, чтение из F в переменную st}

for i:= 6 downto 1 do ts:=ts+st[i]; {Создание строки перевертыша}

writeln(R, ts); {Запись в R значения переменной ts}

close(F); {закрывает F}

close(R); {закрывает R}

end.

Содержательный подход.

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

 

Алфавитный подход.

Алфавитный подход основан на том, что всякое сообщение можно закодировать с помощью конечной последовательности символов некоторого алфавита. Носителями информации являются любые последовательности символов, которые хранятся, передаются и обрабатываются с помощью компьютера. Согласно Колмогорову, информативность последовательности символов не зависит от содержания сообщения, а определяется минимально необходимым количеством символов для ее кодирования. Алфавитный подход является объективным, т.е. он не зависит от субъекта, воспринимающего сообщение. Смысл сообщения учитывается на этапе выбора алфавита кодирования либо не учитывается вообще. На первый взгляд определения Шеннона и Колмогорова кажутся разными, тем не менее, они хорошо согласуются при выборе единиц измерения.

 

Файловая организация данных. Основные понятия.

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

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

Файловая система связывает носитель информации с одной стороны и API для доступа к файлам — с другой. Когда прикладная программа обращается к файлу, она не имеет никакого представления о том, каким образом расположена информация в конкретном файле, так же, как и на каком физическом типе носителя (CD, жёстком диске, магнитной ленте, блоке флеш-памяти

или другом) он записан. Всё, что знает программа — это имя файла, его размер и атрибуты. Эти данные она получает от драйвера файловой системы. Именно файловая система устанавливает, где и как будет записан файл на физическом носителе (например, жёстком диске).

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

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

ОСНОВНЫЕ ПОНЯТИЯ:
ФАЙЛ – поименованная область памяти на диске предназначенная для хранения информации(текст, таблица, рисунок). Имя файла состоит из 2-х частей: 1) собственное имя файла; 2)расширение (тип).
Расширение используется операционной системой для определения характера информации хранимой в файле информации. По нему операционная система определяет темп данных и программу для редактирования файла. Для удобной работы с данными файлами их объединяют в группы по опред-ым признакам. Группа файлов для кот-ой водится общее имя называется каталогом. В каталоге кроме файлов могут входить другие каталоги. Так образуется иерархич-ая файловая сис-ма. Расширения: pas, com,exe,bat. На каждом диске существует единственный главный каталог – корневой(с кот-ого начинают регистрироваться все файлы и папки).
НАКОПИТЕЛИ – предназначены для хранения информации в компьютере.
2 ВИДА ДИСКОВ: 1) физич-ий – реальный физич-ий носитель данных, имеющий имя. А: и В: - гибкие магнитные диски (дискеты); С: - жесткий магнитный диск(винчестер).
2) ЛОГИЧЕСКИЙ – виртуальный диск на физич-ом носителе или часть его.
Файлы с одинаковыми именами могут содержаться в разных каталогах. Тогда для точной индентификации файлов использует понятие полного имени файла или маршрута.
МАРШРУТ– место нахождения файла в файловой си-ме, путь доступа к файлу.

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

Система счисления — это способ записи чисел с помощью ограниченного набора специальных знаков (цифр).

Как правило, в качестве цифровых знаков используются арабские и римские цифры.

Двоичная система- это язык вычислительной техники. Каждая цифра должна быть как-то представлена на физическом носителе. Если это десятичная система, то придется создать такое устройство, которое может быть в 10 ти состояниях. Это сложно. Это одна из причин почему двоичной системе уделяется большое внимание

2-10

10001001=1*2^7+0*2^6+0*2^5+0*2^4+1*2^3+0*2^2+0*2^1+0*2^0=137

10-2

делим на два пока не останется 0 или 1

2-8

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

2-16

разбиваем число на 4

16-10

4С5=4*16^2+12*16^1+5*16^0=1221

 



Поделиться:


Последнее изменение этой страницы: 2017-01-26; просмотров: 299; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.237.91.98 (0.24 с.)