Разделы презентаций


В позиционных системах счисления один и тот же числовой знак (цифра) в записи

Позиционные системы счисления Каждая позиционная система счисления определяется некоторым числом b > 1 (т. н. основание системы счисления) таким, что b единиц в каждом разряде объединяется в одну единицу следующего

Слайды и текст этой презентации

Слайд 1В позиционных системах счисления один и тот же числовой знак

(цифра) в записи числа имеет различные значения в зависимости от

того места (разряда), где он расположен. Пример: 10310, 010112, 34A2F16.
Смешанная система счисления является обобщением позиционной системы счисления. Основанием смешанной системы счисления является возрастающая последовательность чисел и каждое число представляется как линейная комбинация. Пример: представление времени в виде количества суток, часов, минут и секунд. При этом величина d дней h часов m минут s секунд соответствует значению секунд
d*24*60*60+h*60*60+s*60.
В непозиционных системах счисления величина, которую обозначает цифра, не зависит от положения в числе. При этом система может накладывать ограничения на положение цифр, например, чтобы они были расположены в порядке убывания. Пример: фактически непозиционной системы счисления является римская (латинская), в которой в качестве цифр используются латинские буквы (I, V, L …)
II = 1+1=2, независимо от позиции цифры I.
На самом деле, римская система не является полностью непозиционной, так как меньшая цифра, идущая перед большей, вычитается из неё, например: IV=4, в то время как: VI = 6.

Система счисления — символический метод записи чисел, представление чисел с помощью письменных знаков. Системы счисления подразделяются на позиционные, непозиционные и смешанные.

В позиционных системах счисления один и тот же числовой знак (цифра) в записи числа имеет различные значения

Слайд 2Позиционные системы счисления
Каждая позиционная система счисления определяется некоторым числом

b > 1 (т. н. основание системы счисления) таким,

что b единиц в каждом разряде объединяется в одну единицу следующего по старшинству разряда. Система счисления с основанием b также называется b-ричной.
Число x в b-ричной системе счисления представляется в виде линейной комбинации степеней числа b:



где ak — это целые числа, называемые цифрами, удовлетворяющие неравенству 0 ≤ ak < b,
k - порядковый номер разряда начиная с нулевого, n – количество разрядов.
Каждая степень bk в такой записи называется разрядом, старшинство разрядов и соответствующих им цифр определяется значением показателя k.
Число x записывают в виде последовательности его b-ричных цифр, перечисляемых по убыванию старшинства разрядов слева направо:
X = an-1an-2 … a0
Например, число сто три представляется в десятичной системе счисления в виде: 103 = 1*102+0*101+3*100, а дробь 0,25 = 2*10-1+5*10-2
Позиционные системы счисления Каждая позиционная система счисления определяется некоторым числом b > 1  (т. н. основание

Слайд 4Непозиционные системы счисления

Римская система счисления
Римская система нумерации с помощью

букв была распространена в Европе на протяжении двух тысяч лет.

(Только в позднем средневековье ее сменила более удобная для вычислений десятичная система цифр, заимствованная у арабов.)





Для закрепления в памяти буквенных обозначений римских цифр в порядке убывания существует мнемоническое правило:
Мы Дарим Сочные Лимоны, Хватит Всем И ещё останется.
Соответственно M, D, C, L, X, V, I
Натуральные числа записываются при помощи повторения этих цифр. При этом, если большая цифра стоит перед меньшей, то они складываются (принцип сложения), если же меньшая - перед большей, то меньшая вычитается из большей (принцип вычитания). Последнее правило применяется только во избежание четырёхкратного повторения одной и той же цифры. Например, I, Х, С ставятся соответственно перед Х, С, М для обозначения 9, 90, 900 или перед V, L, D для обозначения 4, 40, 400.
Например, VI = 5+1 = 6, IV = 5 - 1 = 4 (вместо IIII). XIX = 10 + 10 - 1 = 19 (вместо XVIIII), XL = 50 - 10 =40 (вместо XXXX), XXXIII = 10 + 10 + 10 + 1 + 1 + 1 = 33 и т.д.

Система остаточных классов (СОК) - представление числа в системе остаточных классов основано на понятии вычета и китайской теореме об остатках.

Система счисления Штерна-Броко – способ записи положительных рациональных чисел, основанный на дереве Штерна-Броко.

Непозиционные системы счисления Римская система счисленияРимская система нумерации с помощью букв была распространена в Европе на протяжении

Слайд 5 Поразрядно с переходом в старший разряд при сложении или

заимствовании из старшего разряда при вычитании).
Операции в системах счисления
Позиционная
Непозиционная
Сложение и

вычитание

Умножение

Сложение -> Посимвольно, путем "склеивания" символов-цифр и последующей замены (слева направо) 4-х подряд расположенных символов на группы из 2-х символов имеющих то же значение (например, IIII на IV).
Вычитание -> посимвольно, обратной операцией "разбиения" символов на составляющие меньшего номинала.

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

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

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

Умножая делитель на ряд чисел (например, на сто – C, 50 – L, десять – X, двадцать – XX) и сравнивая произведение с делимым – находим старшие числа частного. Отнимаем их от делимого и снова повторяем операцию до получения конечного результата: нахождения остатка от деления.

Деление

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

Переводе между позиционной и смешенной системами осуществляется поразрядным преобразованием числа. Перевод между непозиционной и другими системами осуществляется путем преобразования в (из) цифр непозиционной системы в позиционную (смешанную).

посимвольно, обратной операцией "разбиения" символов на составляющие меньшего номинала. Умножение каждой цифры множимого на каждую цифру множителя и сложение полученных произведений с поразрядным сдвигом результата в соответствии с разрядами множителя.Умножение каждой цифры множимого на каждую цифру множителя и сложение полученных произведений, при этом цифры одинакового порядка для удобства ставим одну под другой. Из старших разрядов делимого группируется число - субделимое, которое можно разделить на делитель (равное делителю по количеству цифр или на одну цифру больше). К остатку от деления добавляются цифры делимого (ещё не участвовавшие в процессе деления) для формирования нового субделимого, и так пока не будет использован младший разряд делимого. Умножая делитель на ряд чисел (например, на сто – C, 50 – L, десять – X, двадцать – XX) и сравнивая произведение с делимым – находим старшие числа частного. Отнимаем их от делимого и снова повторяем операцию до получения конечного результата: нахождения остатка от деления.ДелениеПеревод числа из одной системы счисления в другуюПереводе между позиционной и смешенной системами осуществляется поразрядным преобразованием числа. Перевод между непозиционной и другими системами осуществляется путем преобразования в (из) цифр непозиционной системы в позиционную (смешанную). ">Поразрядно с переходом в старший разряд при сложении или заимствовании из старшего разряда при вычитании).Операции в

Слайд 6Перевод чисел из десятичной позиционной системы счисления
в другую и

наоборот

При переводе целого числа (целой части числа) из

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

Операция перевода в десятичную систему выглядит гораздо проще, так как любое десятичное число можно представить в виде x = a0·pn + a1·pn–1 +... + an–1·p1 + an·p0, где
a0 ... an – это цифры данного числа в системе счисления с основанием p.
Например, перевести число 4A3F в десятичную систему. По определению, 4A3F= 4·163 + A·162 + 3·16 + F. При замене A на 10, а F на 15, получается 4·163 + 10·162 + 3·16 + 15= 19007.

Перевод чисел между системами счисления с основанием,
равным степеням двойки можно осуществлять и с помощью следующих алгоритмов
Перевод числа из двоичной системы в системы (8 и 16). Для того чтобы целое двоичное число записать в системе счисления с основанием 2n, нужно данное двоичное число разбить справа налево на группы по n-цифр в каждой; если в последней левой группе окажется меньше n разрядов, то дополнить ее нулями до нужного числа разрядов; рассмотреть каждую группу, как n-разрядное двоичное число, и заменить ее соответствующей цифрой в системе счисления с основанием 2n.
Перевод числа с основанием, равным степеням двойки (8 и 16) в двоичную осуществляется заменой каждой цифры числа с основанием 2n на эквивалентную ей группу из n двоичных цифр (3 – для восьмеричной системы и 4 для шестнадцатеричной).
Перевод чисел из десятичной позиционной системы счисления в другую и наоборот  При переводе целого числа (целой

Слайд 7 Элементы ЯПВУ. ФАЙЛЫ
Способы организации в ЯПВУ данных в

виде файлов позволяют программ осуществлять обмен данными с внешними (по

отношению к программам) хранилищами данных, иначе ввод/вывод. Универсальное формальное определения понятия ФАЙЛ – непростая задача, для целей первичного изучения ПЯВУ достаточным определением файла будет следующее:
Файл – это именованная структура данных (внешних по отношению к программе), представляющая собой последовательность элементов данных одного типа неопределенной длины. В ПЯВУ определены операции обмена данными с файлами.

Возможны два разных способа организации обмена программы с файлом:
Записеориентированнный обмен, где Запись – это совокупность данных (фиксированной, переменной или неопределенной длины) обрабатываемых совместно при обмене данными между программой и файлом,
Потокоориентированный обмен, где Поток – это совокупность строк произволь-ной длины, каждая из которых завершается последовательностью EOL - end of line (коды ASCII 13 (CR) + ASCII 10 (LF), EOL вводится нажатием клавиши Enter), а весь потокоориентированный файл может завершаться символом EOF - end of file (код ASCII 26, EOF вводится одновременным нажатием клавиш CTRL-Z).

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

Инф

Элементы ЯПВУ.  ФАЙЛЫСпособы организации в ЯПВУ данных в виде файлов позволяют программ осуществлять обмен данными

Слайд 8 В Pascal для организации обмена с внешними хранилищами данных

используется файловые типы. Элементы файла могут быть любого типа, но

не "файл" или "объект". Любой файл может содержать неограниченное количество элементов.
ТИПЫ файлов:
типизированные файлы – файлы с объявленным типом элементов,
нетипизированные (бести-повые) файлы – файлы содер-жащие последовательности эле-ментов произвольного типа (но с оговоренным размером элемен-тов),
текстовые файлы – файлы содержащие символьные строки переменной длины.

Описания типов файлов
- Типизированные файлы
Type <имя_перемен_файлового_типа> = file of <тип_элементов_файла>;
Пример: Type NUM = file of integer;
Var F1, F11 : NUM; или
Var < имя_перемен_файлового_типа > : file of <тип_элементов_файла>;
Пример: Var F3 : file of integer;

- Нетипизированные файлы
Type <имя_перем_файлов_типа> = file;
Пример: Type NUM = file;
Var F1, F1 : NUM; или
Var <имя_перем_файлов_типа> : file;
Пример: Var F1 : file;

- Текстовые файлы
Type <имя_перем_файлов_типа> = text;
Пример: Type Filtxt = text;
Var ft : text; или
Var <имя_перем_файлов_типа> : text;
Пример: Var FT : text;

Инф


Слайд 9 Доступ к файлам может быть последовательным (очередной элемент

можно прочитать/записать только после выполнения аналогичной операции над предыдущим элементом)

или прямым (можно выполнить чтение/запись произвольного элемента файла по заданному адресу).
Последовательный доступ возможен к файловым переменным всех типов: текстовым (text), типизированным (file of) и нетипизированным (file).

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

Переменные файлового типа называются логическими файлами, а реальные устройства ввода/вывода и файлы на дисках – физическими файлами.
Имена физических файлов описываются строковыми переменными:
'history.pas' – имя дискового файла в текущей папке,
'd:\BP\source\massive.pas' – полное имя дискового файла,
'CON' – консоль (экран дисплея),
'LPT1', 'LPT2', 'LPT3', 'PRN' – принтер,
'COM1', COM2', AUX'- коммуникационный канал,
'NUL' – пустое устройство.
Если имя файла задается в виде пустой строки, то файловая переменная связывается, в зависимость от направления обмена информацией, со стандартными файлами Input (для чтения данных с клавиатуры) или Output (для вывода данных на экран), эти файлы в Borland Pascal считаются открытыми по умолчанию.

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

Инф

Доступ к файлам может быть последовательным (очередной элемент можно прочитать/записать только после выполнения аналогичной операции

Слайд 10Организация ввода/вывода в файл :
Объявить файловую переменную,
Связать её

с физическим файлом,
Открыть файл для чтения и/или записи,
Выполнить

операции ввода/вывода,
Закрыть файл.

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

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

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

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

Специализированные подпрограммы будут в дальнейшем отмечены перечнем типов, к которым они применимы, заключенным в круглые скобки: (text, file, file of).

Инф

Организация ввода/вывода в файл : Объявить файловую переменную, Связать её с физическим файлом, Открыть файл для чтения

Слайд 11Подпрограммы для работы с файлами
Процедура assign (f[, 'f_name']); – свя-зывает

логический файл f с физическим файлом f_name.
– f –

имя файловой переменной (ифп),
– f_name – литеральное имя файла (иф)
Напр.: assign (F1, 'd:\BP\a.txt');
Если путь не задан, файл – в текущей папке. Связь файлов существует пока для переменной f не будет выполнена другая процедура assign (или close).
Процедура reset (f [, size]); – открывает логический файл f для чтения данных, начиная с первого элемента.
Здесь f – ифп, а size – размер записи в файле, используется только для нетипизированных файлов (file), по умолчанию 128 байт (это же размер буфера).
Напр.: reset (F1); Если файл не существует – выдается ошибка. Если уже открыт – открывается снова (текущая позиция в начале файла). Файл типа (text) открывается только на чтение.
Процедура append (f); – открывает текстовый файл для дополнения данных в конец файла.
Здесь f – ифп текстового типа (text).
Напр.: append (F1); Если файл не существует – выдается ошибка. Если уже открыт, то сначала закрывается и потом открывается. Текущая позиция устанавливается перед концом файла.

Процедура rewrite (f [, size]); – создает и открывает физический файл, имя которого присвоено логическому файлу f для записи данных, начиная с первого элемента.
Здесь f – ифп, а size – размер записи (исполь-зуется только для (file), по умолчанию 128 байт).
Напр.: rewrite (F1); Если файл не существует он создается, если существует – он очищается и записы-вается с начала. Файл типа (text) открывается только на запись.
Процедура close (f); – закрывает открытый логический файл f. Здесь f – ифп.
Напр.: close (F1); Обязательно надо использовать close для завершения работы с открытым для записи (выходным) файлом, т.к. при её выполнении происходит выгрузка буфера. Если не выполнить close содержимое буфера может пропасть. Для входных файлов close можно не выполнять.
Функция eof [(f)]; – возвращает True, если при чтении текущая позиция находится за последним элементом файла f или файл пуст, иначе False.
Здесь f – ифп.
Напр.: eof (F1); Если имя файла f опущено, используется файл Input.

Инф

Подпрограммы для работы с файламиПроцедура assign (f[, 'f_name']); – свя-зывает логический файл f с физическим файлом f_name.

Слайд 12Подпрограммы для работы с файлами
Процедура read ([f,] v1 [, v2,

…, vN]);
для текстовых файлов (text)
– считывает N значений

из текстового файла в переменные.
Здесь f – ифп, а v1, …, vN – список перемен-ных, в которые считываются значения из f.
Если параметр f опущен, то используется стандартная файловая переменная Input.
Каждый параметр v является переменной сим-вольного, строкового, целого и вещественного типа.
Напр.: read (x, y); Для пустого файла переменная равна 0. Для символьного типа в переменную читается один символ. Для целого типа читается число со знаком до пробела, табуляции, конца строки (лидирующие пробелы и т.д. – игнорируются). Для вещественного типа читается десятичное число, аналогично целому. Для строкового типа в переменную читаются все символы до конца строки или файла. После считывания строки не делается пропуск до следующей строки (надо использовать ReadLn).
для типизированных файлов (file of)
– считывает в переменную элемент файла f. Типы переменной и элемента файла – одинаковы.
Напр.: read (F1, x, y); При каждом считывании ука-затель позиции сдвигается к следующему элементу, и так до конца файла. Файл должен быть открыт.
Процедура readln ([f,] v1 [, v2, …, vN]);
– выполняет процедуру read и переходит к следующей строке. ReadLn (f); - перемещает теку-щую позицию к следующей строке. Тип f -(text).

Процедура write ([f,] v1 [, v2, …, vN]);
для текстовых файлов (text)
– записывает N значений параметров v в файл f.
Здесь f – ифп, а v1, …, vN – список параметров, из которые записываются значения в f.
Если параметр f опущен, то используется стандартная файловая переменная Output.
Каждый параметр v является выражением символь-ного, целого, вещественного, строкового, упакованного строкового или булевого типа, значение которого записывается в файл f. Параметр v имеет вид:
expr [: size [:dec]] где
expr – вводимое в файл выражение, size – мини-мальная ширина поля dec – число десятичных знаков в вещественном числе с плавающей точкой.
Напр.: write (F1, y+z3, x); Size – целое число больше 0, по умолчанию равна 17, dec по умолчанию – десятичная строка с плавающей точкой. Для строкового типа: если size опущена в файл записывается expr без лидирующих пробелов; если size больше чем expr, то перед десятичной строкой добавляются лидирующие пробелы.
для типизированных файлов (file of)
– записывает N значений переменных v в файл f. Типы переменной и элемента файла – одинаковы.
Напр.: write (F1, x, y); При каждой записи текущая позиция сдвигается к следующему элементу, когда достигнут EOF – файл расширяется.
Процедура writeln ([f,] v1 [, v2, …, vN]);
– выполняет процедуру write и записывает в файл EOL. Writeln (f); -записывает в файл EOL.(text)

Инф

Подпрограммы для работы с файламиПроцедура read ([f,] v1 [, v2, …, vN]); для текстовых файлов  (text)–

Слайд 13Подпрограммы для работы с файлами
Функция filepos (f); – возвращает текущую

позицию в файле f.
Здесь f – ифп. (file, file of)
Напр.:

filepos (F1); Если текущей позицией является начало файла, функция возвращает значение 0, а если – конец файла, то размер файла.
Процедура seek (f, n); – перемещает теку-щую позицию в файле f к элементу n.
Здесь f – ифп, n – порядковый номер элемента, целое число. (file, file of)
Напр.: seek (F1, 10); Номер первого элемента файла – 0. Чтобы расширить файл, можно переместить текущую позицию в конец файла: seek (F1, filesize(f));,- а затем добавить элементы.
Процедура truncate (f); – усекает размер файла f до текущей позиции.
Здесь f – ифп. (file, file of)
Напр.: truancate (F1); Все элементы после текущей позиции в файле F1 удаляются и текущая позиция становится концом файла.


Функция eoln [(f)]; – возвращает для файла f True, если при чтении текущая позиция находится за последним элементом строки или строка пуста, иначе False.
Здесь f – ифп. . (text)
Текущая позиция – на EOL – True, иначе False.
Напр.: eoln (F1); Если имя файла f опущено, используется файл Input.

Функция seekeoln [(f)]; – возвращает для файла f True, если при чтении текущая позиция находится за последним элементом стоки или строка пуста, иначе False.
Здесь f – ифп. . (text)
Аналогична функции eoln(f); - но пропускает все пробелы и знаки табуляции, как лидирующие, так и от последнего значащего символа до конца строки.
Напр.: seekeoln (F1); Можно исп. при считывании числовых значений из текстового файла. Если имя файла f опущено, используется файл Input.

Стандартные текстовые файлы
input – стандартный файл ввода (по умолчанию – клавиатура).
output – стандартный файл вывода (по умолчанию – экран дисплея).

Разрешено переназначение стандартных файлов ввода/вывода:
assign (output, 'd:\BP\outfile.dat');

Инф

Подпрограммы для работы с файламиФункция filepos (f); – возвращает текущую позицию в файле f. Здесь f –

Слайд 14Задание 1. Создать на диске Z:\ файл numbers.txt, записать в

него 5 введенных с клавиатуры целых чисел.
Задание 2. Вывести

на экран содержимое файла numbers.txt.

Program file_5num;
(* Создает на диске Z:\ файл numbers.txt и записывает в него 5 целых чисел введенных с пользователем с клавиатуры *)
var
f : text; (* текстовый файл *)
n : integer; (* вводимое число *)
i : integer; (* счетчик чисел *)
begin
writeln ('Создание и заполнение файла numbers.txt');
assign (f, 'z:\numbers.txt'); (* Связь с файлом *)
rewrite (f); (*Созд. и откр. файл в режиме перезаписи*)
writeln ('Введите 5 целых чисел, нажимая Enter после каждого числа');
for i:=1 to 5 do
begin
write ('->');
readln (n); (* чтение числа из буфера клавиатуры*)
writeln (f, n); (* запись считанного числа в файл *)
end;
close (f); (* закрыть файл *)
writeln ('Введенные числа записаны в файл ', 'z:\numbers.txt');
readln;
end.

Program file5displ;
(* Выводит на экран файл z:\numbers.txt *)
var
f : text; (* текстовый файл *)
n : integer; (* вводимое число *)
begin
writeln ('Содержимое файла numbers.txt');
writeln ('------------------------------------------');
assign (f, 'z:\numbers.txt'); (*Связь с файлом*)
reset (f); (* Открыть файл для чтения *)
while not EOF(f) do (*Выполнять до конца файла*)
begin
readln (f, n); (* Читать число из файла *)
writeln (n); (*Вывести прочитанное числа на экран *)
end;
close (f); (* закрыть файл *)
writeln ('--------------------------------------------');
readln;
end.

Практические занятия

Инф

Задание 1. Создать на диске Z:\ файл numbers.txt, записать в него 5 введенных с клавиатуры целых чисел.

Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика