Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
3,1415926 = 0, • 101
= 0,3-106
= 0, • 1010
Первая часть числа называется мантиссой, а вторая — характеристикой. Большую часть из 80 бит отводят для хранения мантиссы (вместе со знаком) и некоторое фиксированное количество разрядов отводят для хранения характеристики (тоже со знаком)
Информация в компьютере представлена в двоичном коде, алфавит которого состоит из двух цифр (0 и 1).
Важно, что каждая цифра машинного двоичного кода несет информацию в 1 бит. Таким образом, две цифры несут информацию в 2 бита, три цифры — в 3 бита и так далее. Количество информации в битах равно количеству цифр двоичного машинного кода.
Каждая цифра машинного двоичного кода несет количество информации, равное одному биту.
1. Почему человек использует десятичную систему счисления, а компьютер — двоичную?
10. Системы счисления
Для записи информации о количестве объектов используются числа. Числа записываются с использованием особых знаковых систем, которые называются системами счисления. Алфавит систем счисления состоит из символов, которые называются цифрами. Например, в десятичной системе счисления числа записываются с помощью десяти всем хорошо известных цифр: 0, 1, 2, 3, 4, 5, б, 7, 8, 9.
Система счисления — это знаковая система, в которой числа записываются по определенным правилам с помощью символов некоторого алфавита, называемых цифрами
Все системы счисления делятся на две большие группы:
1. позиционные (значение цифры зависит от ее положения в числе)
2. непозиционные системы счисления (значение цифры не зависит от ее положения в числе)
Римская непозиционная система счисления. Самой распространенной из непозиционных систем счисления является римская. В качестве цифр в ней используются: I (1), V (5), X (10), L (50), С (100), D (500), М (1000).
Значение цифры не зависит от ее положения в числе. Например, в числе XXX (30) цифра X встречается трижды и в каждом случае обозначает одну и ту же величину - число 10, три числа по 10 в сумме дают 30.
Величина числа в римской системе счисления определяется как сумма или разность цифр в числе. Если меньшая цифра стоит слева от большей, то она вычитается, если справа - прибавляется. Например, запись десятичного числа 1998 в римской системе счисления будет выглядеть следующим образом:
MCMXCVIII = 1000 + (1+ (+ 5 + 1 + 1 + 1.
Позиционные системы счисления.
Первая позиционная система счисления была придумана еще в Древнем Вавилоне, причем вавилонская нумерация была шестидесятеричной, то есть в ней использовалось шестьдесят цифр! Интересно, что до сих пор при измерении времени мы используем основание, равное 60 (в 1 минуте содержится 60 секунд, а в 1 часе — 60 минут).
В XIX веке довольно широкое распространение получила двенадцатеричная система счисления. До сих пор мы часто употребляем дюжину (число 12): в сутках две дюжины часов, круг содержит тридцать дюжин градусов и так далее.
Наиболее распространенными в настоящее время позиционными системами счисления являются десятичная, двоичная, восьмеричная и шестнадцатеричная. Каждая позиционная система имеет определенный алфавит цифр и основание.
В позиционных системах счисления основание системы равно количеству цифр (знаков в ее алфавите) и определяет, во сколько раз различаются значения одинаковых цифр, стоящих в соседних позициях числа.
Десятичная система счисления имеет алфавит цифр, который состоит из десяти всем известных, так называемых арабских, цифр, и основание, равное 10, двоичная — две цифры и основание 2, восьмеричная — восемь цифр и основание 8, шестнадцатеричная — шестнадцать цифр (в качестве цифр используются и буквы латинского алфавита) и основание 16 (табл. 2.2).
Таблица 2.2. Позиционные системы счисления
Система счисления | Основание | Алфавит цифр |
Десятичная | 10 | 0, 1,2,3,4,5,6,7,8,9 |
Двоичная | 2 | 0, 1 |
Восьмеричная | 8 | 0, 1,2,3,4,5,6,7 |
Шестнадцатеричная | 16 | 0, 1 , 2, 3, 4, 5, 6, 7, 8, 9, А (10), В (11 ), C(12),D(13),E(14),F(15) |
Десятичная система счисления. Рассмотрим в качестве примера десятичное число 555. Цифра 5 встречается трижды, причем самая правая цифра 5 обозначает пять единиц, вторая справа — пять десятков и, наконец, третья справа — пять сотен.
Позиция цифры в числе называется разрядом. Разряд числа возрастает справа налево, от младших разрядов к старшим. В десятичной системе цифра, находящаяся в крайней справа позиции (разряде), обозначает количество единиц, цифра, смещенная на одну позицию влево, — количество десятков, еще левее — сотен, затем тысяч и так далее. Соответственно имеем разряд единиц, разряд десятков и так далее.
Число 555 записано в привычной для нас свернутой форме. Мы настолько привыкли к такой форме записи, что уже не замечаем, как в уме умножаем цифры числа на различные степени числа 10.
В развернутой форме записи числа такое умножение записывается в явной форме. Так, в развернутой форме запись числа 555 в десятичной системе будет выглядеть следующим образом:
55510 = 5-102 + 5-101 + 5-100.
Как видно из примера, число в позиционной системе счисления записывается в виде суммы числового ряда степеней основания (в данном случае 10), в качестве коэффициентов которых выступают цифры данного числа.
Для записи десятичных дробей используются отрицательные значения степеней основания. Например, число 555,55 в развернутой форме записывается следующим образом: 555,5510 = 5-102 + 5-101 + 5-10°+ 5-10-1 + 5-10-2.
ЛЕКЦИЯ №3. «АЛГОРИТМ. СВОЙСТВА АЛГОРИТМА. ОСНОВНЫЕ ТИПЫ АЛГОРИТМИЧЕСКИХ СТРУКТУР»
План.
Понятие алгоритма Способы задания (описания) алгоритмов Свойства алгоритма Основные типы алгоритмических структур1. Понятие алгоритма
Алгоритмом называется понятное и точное предписание (указание) исполнителю совершать последовательность действий, направленных на достижение указанной цели или на решение поставленной задачи. Другими словами, четко сформулированный, предельно понятный порядок операций для решения той или иной задачи есть алгоритм решения задачи. Можно сказать и проще. Алгоритм — это последовательность действий со строго определенными правилами выполнения.
Итак, алгоритм — это метод (способ) решения задачи, записанный по определенным правилам, обеспечивающим однозначность его понимания и механического исполнения при всех значениях исходных данных (из некоторого множества значений).
Для сравнения в толковом словаре по информатике (1991 г.) дано такое определение: алгоритм — точное предписание, определяющее вычислительный процесс, ведущий от варьируемых начальных данных к искомому результату.
1. Способы задания (описания) алгоритмов
Известны три наиболее распространенных способа описания алгоритмов.
Первый способ —
Описание алгоритма словами и формулами
В IX в. великий арабский математик аль-Хорезми сформулировал правила выполнения арифметических действий. Первоначально под алгоритмами и понимали только правила выполнения четырех арифметических действий над многозначными числами. Само слово «алгоритм» происходит от Algorithmi — латинской формы написания его имени.
В дальнейшем понятие алгоритма стали использовать вообще для обозначения последовательности действий, приводящих к решению поставленной задачи, т. е. описание алгоритма как порядка манипуляций производилось с помощью слов и формул. Это наиболее простой и старый способ. Теперь уже совершенно очевидно, что само явление алгоритма появилось даже раньше, чем зародилась письменность. Так, простейший кулинарный рецепт или правила охоты доисторических людей, запечатленные в древнейших устных памятниках культуры племен и народностей, не ведавших письменности, есть не что иное, как алгоритм.
Любой человек ежедневно встречается с множеством задач: от самых простых и хорошо известных до очень сложных. Для многих задач существуют определенные правила (инструкции, предписания), объясняющие исполнителю, как решать данную задачу. Эти правила человек может изучить заранее или сформулировать сам в процессе решения задачи. Чем точнее будут описаны правила решения задач, тем быстрее человек овладеет ими и будет эффективнее их применять.
Например:
Давайте вспомним простейшие правила (алгоритм) перехода пешеходом перекрестка, регулируемого светофором.
1. Если горит красный свет, идти нельзя.
2. Если горит желтый свет, идти нельзя, но нужно приготовиться к переходу улицы.
3. Если горит зеленый свет, можно переходить улицу.
Из примера с алгоритмом для пешехода видно, что запись алгоритма распадается на отдельные указания исполнителю (в нашем примере пешеходу) выполнить некоторое законченное действие. Каждое такое действие называется командой. Команды алгоритма выполняются последовательно одна за другой в строгом порядке.
Важно, что на каждом шаге алгоритма исполнителю точно известно, какая команда должна выполняться следующей. Эту мысль иллюстрирует следующий пример.
Пример 1.
Найти площадь круга, если известен его радиус.
Решение:
1. Ввести значение радиуса R, перейти в п. 2.
2. Вычислить S= pr2, перейти в п. 3.
3. Вывести (отпечатать) значение S, перейти в п. 4.
4. Вычисления прекратить.
Пояснения:
Это предписание является алгоритмом. Для человека, выполняющего действия алгоритма, такая запись достаточна и не нуждается в пояснении, поскольку форма записи его очень естественна.
При составлении алгоритма нужно ориентироваться на исполнителя, на операции, известные ему. Так, в нашем примере предусматривается, что исполнителю знакомо число «пи», знакома операция возведения в степень. Если это не так, то п.2 алгоритма следует разбить на три более мелких этапа.
2а. Ввести значение величины п, перейти в п. 2б.
2б. Умножить значение радиуса r само на себя дважды,
перейти в п. 2в.
2в. Перемножить я и предшествующий результат, перейти в п. 3.
Принцип расчленения сложного процесса решения задачи на элементарные действия имеет важное значение для построения алгоритмов. Поэтому, если нужно составить программу для ЭВМ, то в алгоритме должны предусматриваться те операции, которые ЭВМ способна выполнить.
Теперь понятно, что для исполнителя, выполняющего действия, предписанные алгоритмом, уже необязательно знать исходную формулу для вычисления значения площади круга. Ему нужно всего лишь строго следовать указанному предписанию, исполняя его пункт за пунктом. Другими словами, суть исполнения алгоритма сводится к скрупулезному и пунктуальному выполнению операций алгоритма в требуемом порядке.
Второй способ —
Описание алгоритма на алгоритмическом языке
Алгоритмический язык — это средство для записи алгоритмов в аналитическом виде, промежуточном между записью алгоритма на естественном (человеческом) языке и записью на языке ЭВМ (языке программирования).
Например:
Задача на расчет площади круга (при исходных данных г = 8 м) на алгоритмическом языке будет выглядеть:
алг ПЛОЩАДЬ КРУГА (цел R, вещ Р, S)
арг R, Р
рез S
нач
S = Р*R^2
кон
Надо признаться, что алгоритмический язык (или еще его называют школьный алгоритмический язык) — это отечественное изобретение. Во всем остальном мире отдают предпочтение алгоритмическим языкам программирования.
Алгоритмический язык программирования (например, Бейсик) — это средство для записи алгоритма решения задачи в виде, понятном как для ЭВМ, так и для человека. Алгоритмы посредством этих языков записываются в программы.
Например:
Алгоритм-программа на языке ВА51С
10R1 = 8
20 Р = 3.14
30 R2 = К1 * К1
40S = Р*R2
50 РRINT S
60 END
Третий способ —
Графическое описание алгоритма
Поочередное выполнение команд алгоритма за конечное число шагов приводит к решению задачи и достижению цели.
Каждый алгоритм строится в расчете на некоторого исполнителя. Для того чтобы исполнитель мог решать задачу по заданному алгоритму, необходимо, чтобы он был в состоянии выполнить каждое действие, предписываемое командами алгоритма, а для этого нужно сделать алгоритм однозначно понятным.
Формальное описание алгоритма при помощи схем, представляющих собой систему определенным образом связанных между собой геометрических фигур, исключает двусмысленность и многовариантность в толковании алгоритма. При этом для всех алгоритмов количество и вид фигур также заранее должно быть определено. В этом случае каждая фигура должна обозначать один этап процесса решения задачи.
При графическом описании алгоритма каждая геометрическая фигура называется блоком. Внутри блока записывается действие (операция), которую этот блок отождествляет. Блокам могут присваиваться индивидуальные номера. Строгого правила на тот предмет, как размещать блоки внутри схемы, не существует. Однако лучше их размещать сверху вниз, в порядке исполнения. Порядок выполнения этапов решения задачи от блока к блоку указывается стрелками, соединяющими блоки. Стрелки не могут исходить и возвращаться в один и тот же блок, минуя другие блоки. В каждый блок может входить сколько угодно стрелок. Но выходить может только одна стрелка, кроме блока выбора. Из блока выбора всегда выходит две стрелки в зависимости от решения, принятого по некоторому условию, записанному внутри этого блока. Решений может быть только два: «Да» или «Нет». Поэтому стрелки, выходящие из блока выбора, обязательно подписываются «Да» или «Нет». Решение «Да» принимается, если условию в блоке выбора соответствует сравниваемая величина. «Нет» — если не соответствует. Каждый алгоритм начинается и заканчивается специальными блоками — «Пуск» и «Остановка». Если нужно перенести часть схемы на другой лист или связать между собой разные схемы алгоритмов, используют соединитель. Для начертания пояснений к определенным местам схемы алгоритма применяют комментарий.
Операция | Символ | Название и функциональное назначение |
Присваивание |
| Процесс – выполнение операции или группы операций |
Условный переход |
| Выбор (решение), логический блок – определяет выбор направления выполнения алгоритма в зависимости от некоторого условия, записанного внутри блока. Направления обозначаются символами «да» или «Нет» над каждой выходящей линией. |
Цикл |
| Модификация (подготовка) – определяет циклический вычислительный процесс. Внутри записывается заголовок цикла. |
Старт, завершение |
| Пуск – начало, останов - конец |
Ввод, вывод |
| Блок ввод |
| Блок вывод | |
| Ручной ввод – вывод данных с клавиатуры | |
| Печать (Документ) – вывод, печать информации на бумажный носитель | |
| Линии потока – изображение связи между символами. Линии без стрелки указывают направление потока слева направо или сверху вниз. | |
| Соединитель (узел) – указание связи между прорывными линиями потока | |
| Комментарий – пояснения к операции данного блока | |
| Дисплей – вывод информации на экран дисплея (монитора) |
Посмотрим теперь на схему (иначе еще называют блок-схема) алгоритма нашей задачи. Сравним разные записи алгоритмов. Из всех примеров видно, что запись алгоритма на алгоязыке (алгоритмическом языке) в чем-то близка к его словесно-формульному описанию. Разница между ними состоит в том, что в алгоязыке используется ограниченный набор терминов, более строгие правила записи операций и т. д. с целью обеспечения однозначности понимания алгоритма. Особенно это было актуально в нашей стране тогда, когда разные версии алгоритмических языков программирования (например, Бейсика) были плохо совместимы либо не совместимы вовсе. Тогда ЭВМ разных марок зачастую не понимали программы, написанные для других ЭВМ.
Наглядность описания алгоритмов алгоязыком невысока, особенно алгоритмов сложной структуры. Однако алгоязык может быть полезен как средство компактной записи алгоритмов.
Сам собою напрашивается вывод.
Вывод: Наиболее наглядный способ описания алгоритмов — схемы алгоритмов (блок-схемы).
3. Свойства алгоритмов
Этот вывод также подтверждается психологами. Так как человеку свойственно мыслить образами, то для большой группы людей наиболее естественным способом представления информации является ее схематичное представление.
В отличие от людей даже самые современные компьютеры, не говоря уже о более ранних технических устройствах, могут выполнять только точно определенные операции. Поэтому алгоритмы, которые выполняются этими устройствами, должны, в свою очередь, обладать четырьмя обязательными свойствами.
Первое свойство — определенность (однозначность, понятность, точность) алгоритма
Под этим свойством понимается единственность толкования правил выполнения действий и порядка их выполнения. Это свойство означает, что каждая команда алгоритма (предписание, выданное на каждом шаге действия) должна быть понятна исполнителю, не оставляя места для ее неоднозначного толкования и неопределенного исполнения. Описание алгоритма должно быть таким, чтобы его мог выполнить любой подготовленный исполнитель, а каждый грамотный пользователь был способен создать компьютерную программу по этому алгоритму.
Оттенок точности в этом свойстве алгоритма, как недвусмысленном указании на последовательность шагов, предполагает наличие второго свойства алгоритма.
Второе свойство — дискретность и конечность алгоритма
Это свойство алгоритма означает, что процесс решения задачи, определяемый алгоритмом, расчленен на отдельные элементарные действия (шаги) и соответственно алгоритм представляет последовательность указаний, команд, определяющих порядок выполнения шагов процесса. Из этого вытекает, что каждое из действий, составляющих алгоритмы, обязательно должно завершаться, как и весь алгоритм в целом.
Третье свойство — результативность алгоритма
Обязательная часть этого свойства состоит в том, что алгоритм должен всегда приводить к результату через конечное, при этом не важно какое — малое или очень большое, число шагов.
Желательная часть этого свойства предполагает, что выполнение алгоритма должно завершаться получением определенных результатов.
Четвертое свойство — массовость алгоритма
Это свойство заключается в том, что каждый алгоритм, разработанный для решения некоторой задачи, должен быть применим для решения задач этого типа (целого класса конкретных задач, отвечающих общей постановке задачи) при всех допустимых значениях исходных данных.
Совокупность этих свойств алгоритма рождает новое его свойство — правильность. Правильность — производное, а не первоосновное свойство алгоритма. Поэтому его наличие не обязательно. Смысловое содержание этого свойства таково, что оно отделимо от понятия алгоритма, в отличие от четырех перечисленных.
Когда мы говорим, что алгоритм правильный, то имеем в виду, что его выполнение дает правильные результаты решения поставленных задач. Соответственно, мы говорим, что алгоритм содержит ошибки, когда можно указать такие допустимые исходные данные или условия, при которых выполнение алгоритма либо не завершается вообще, либо не будет получено никаких результатов, либо полученные результаты окажутся неправильными.
4. Основные типы алгоритмических структур
Несмотря на очевидное разнообразие алгоритмов, с которыми приходится сталкиваться человеку в процессе решения множества различных задач, все же можно выделить три основных вида алгоритмов по их структуре:
— линейные алгоритмы;
— разветвляющиеся алгоритмы;
— циклические алгоритмы.
Линейные алгоритмы
Линейными называются алгоритмы, в которых все этапы решения задачи выполняются строго последовательно.
Пример.
Найти силу тяготения F двух тел с массами m1 и т2 находящихся на расстоянии между собой.
Решение:
По закону всемирного тяготения:
, где
G = 6, Н-м2/кг2.
Разветвляющиеся алгоритмы
Разветвляющимися называются такие алгоритмы, в которых выбирается один из нескольких возможных путей (вариантов) вычислительного процесса. Каждый подобный путь называется ветвью алгоритма. Признаком разветвляющегося алгоритма является наличие хотя бы одной операции проверки условия. В схеме алгоритма операцию проверки условия выполняет логический блок. Он изображается ромбом, внутри которого указывается проверяемое условие (отношение), и имеет два выхода: «Да» и «Нет». Если условие (отношение) истинно (выполняется), то выходим из блока по выходу «Да», если ложно (не выполняется) — по выходу «Нет». Условие (отношение), содержащееся в логическом блоке, может быть заменено на противоположное: А ≠ В => В = А; х£ уÞ у> х. При этом «Да» и «Нет» меняются местами. Логический блок может содержать лишь одно условие.
Пример.
Определить кислотность раствора. Для этого капнуть на индикатор — лакмусовую бумажку — каплю раствора. Если лакмусовая бумажка под каплей раствора не изменит цвета, значит, это нейтральный раствор. Если индикатор покраснеет, значит, раствор кислый. Если бумажка посинеет, раствор щелочной.

Циклические алгоритмы
Циклическими называются такие алгоритмы, в которых получение результата обеспечивается многократ-1ным выполнением одних и тех же операций. Любой Циклический алгоритм определяется тремя наборами формул и одним условием. Первый по порядку должен идти блок присваивания переменным начальных значений. Вторым — рабочий блок (вычисление результатов). Третий — проверка окончания цикла (отношение, логическое выражение). Далее один из путей должен вести к блоку изменения переменных, а от него, замыкая цикл, к рабочему блоку.
Вопросы для самоконтроля
1. Дайте определение алгоритма
2. Назовите свойства алгоритма
3. Назовите способы задания алгоритма
4. Назовите основные структуры алгоритма
ЛЕКЦИЯ №4. «ЯЗЫКИ ПРОГРАММИРОВАНИЯ. АЛФАВИТ. ВЕЛИЧИНЫ. ТИПЫ ДАННЫХ ЯЗЫКА ПРОГРАММИРОВАНИЯ ПАСКАЛЬ»
План.
Понятие о программировании Языки программирования Трансляторы Общие сведения о языке программирования PASCAL; Алфавит языка программирования Паскаль; Величины; Типы данных.1. Понятие о программировании
Когда компьютер включается, в нем оживает множество программ. Сначала начинают работать программы, постоянно хранящиеся в памяти (в постоянном запоминающем устройстве - ПЗУ), которые проверяют неисправность и работоспособность жесткого диска, монитора, клавиатуры и других периферийных устройств. Если все оборудование исправно, то начинается загрузка с жесткого диска в оперативную память компьютера операционной системы - тоже программы, только большой и сложной. Во время этой загрузки могу запускаться различные драйверы периферийных устройств (программы, ответственные за организацию стандартного доступа к этим устройствам из операционной системы) и всевозможные системные утилиты, автоматически выполняющие служебные функции и помогающие пользователю в работе (это могут быть, например, нестандартные, но удобные в работе русификаторы). После того как операционная система загрузилась, можно запускать всевозможные прикладные программы - текстовые редакторы, электронные таблицы, базы данных, игры и т. д.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 |


