Информатика Чмут В. И.










































Информатика Чмут В. И. 1
ВВЕДЕНИЕ Информация и информационные системы Сведения о событиях, процессах, объектах, являющиеся предметом восприятия, передачи, преобразования, хранения называются информацией. Важнейшей формой представления информации являются данные (data). Именно в форме данных выполняется сбор информации (data acquisition), ее обработка, хранение и передача при возможном участии человека. Наряду с данными в этот процесс вовлекаются такие ресурсы, как • технические средства; • программное обеспечение; • информационные технологии. 2
Технические средства, или аппаратура, объединяют устройства информационно-вычислительной техники и телекоммуникации. Программное обеспечение - сюда входят программы, обрабатываемые ими данные, языки программирования. Информационные технологии объединяют множество методов преобразования данных, выявления общих закономерностей такого преобразования, проектирование и создание соответствующих производств. Множество связанных и взаимодействующих ресурсов образуют информационную систему. Главным компонентом любой информационной системы является компьютер. Что же предшествовало созданию компьютера. 3
История ЭВМ 1642 г. Блез Паскаль построил машину, умеющую суммировать и вычитать. 1673 г. Немецкий математик и философ Лейбниц представил в Парижскую академию наук вычислитель, выполняющий четыре арифметических действия. 1835 г. Чарльз Бебидж , профессор Кембриджского университета создал проект аналитической машины, в которую предварительно заносились исходные данные, а ход вычислений зависел от промежуточных результатов. Машина состояла из “склада”, “мельницы” и “управляющего”. Фрагмент такого вычислителя построил сын ученого, а программы для него писала Ада Лавлейс - дочь Байрона. Вторая Наследниками первых проектов вычислительной техники стали арифмометры. половина XIX в. 1936 г. Английский математик Тьюринг опубликовал доказательство того, что любой алгоритм может быть реализован с помощью дискретного автомата. Он предложил абстрактную модель такого автомата, получившего название “машины Тьюринга”. 4
История ЭВМ (продолжение) 1946 г. Д. Моучли и Дж. Эккерт сконструировали первую электронную вычислительную машину ENIAC (электронный цифровой накопитель и вычислитель). Собранная на электровакуумных приборах она имела массу 30 тонн и занимала площадь 150 м 2. Машина использовалась для решения задач, связанных с созданием атомной бомбы и проработала на Абердинском полигоне до 1955 г. 1947 г. Создан первый транзистор, прибор способный заменить электронную лампу. 1950 г. Лебедев в Киеве создал первую советскую малую электронно-счетную машину (МЭСМ). 1957 г. Б. Нойс и Г. Мур открыли первую в мире компанию по производству полупроводниковых приборов “ Fairchild Semiconductor ”, а спустя десятилетие ими была создана “ Intel Corp. ” Компания, деятельность которой полностью посвящена изготовлению микросхем. 5
История ЭВМ (продолжение) 1971 г. Появились первые микропроцессоры Intel 4004. 1974 г. Фирма “Motorola” выпустила микропроцессор 6800. 1974 г. Первый персональный компьютер ALTAIR 8800. 1975 г. Родилась “Micro. Soft Corp. ” 1976 г. Персональный компьтер Apple С. Возняка и С. Джобса на базе микропроцессора 6800. 1981 г. На рынке персональных компьютеров появляется компания IBM. 1983 г. IBM PC/XT (e. Xtended Technology). 1984 г. IBM PC/AT (Advanced Technology) 6
Поколения ЭВМ В соответствии с вышеизложенным насчитывается четыре поколения вычислительных машин, каждое из которых базируется на собственной элементной базе: 1. ламповые; 2. транзисторные; 3. на интегральных схемах; 4. на микропроцессорах. микропроцессор - это пpогpаммно-упpавляемое устройство в виде одной микросхемы. Построение любой вычислительной машины начинается с выбора системы счисления. 7
Системы счисления Под системой счисления понимается способ представления натуральных чисел в виде цифр. От системы счисления требуется наглядность представления чисел и сравнительная простота выполнения арифметических операций. Наиболее совершенным принципом представления чисел является позиционный. (В качестве непозиционной системы счисления можно привести пример Римской системы счисления). В позиционной системе счисления одна и та же цифра имеет разное значение, зависимое от места расположения цифры. К числу таких систем относится современная десятичная система. В общем случае любое число в позиционной системе счисления можно представить в виде: До запятой - целая часть числа, после запятой - дробная. S - основание системы, которое может принимать различные значения. 8
Системы счисления Название СС Основание S Значения цифр bi десятичная 10 0. . . 9 двоичная 2 0, 1 восьмиричная 8 0. . . 7 шестнадцатиричная 16 0. . . 9, A, B, C, D, E, F 9
Системы счисления Для представления чисел принято изображать только коэффициенты, позиция которых определяет их весовой множитель: пример позиционной системы. Цифры, отсчитываемые от запятой, называются разрядами. Каждый разряд отличается от соседнего в величину основания раз. Например, для десятичной системы счисления каждый соседний разряд отличается от другого в 10 раз. Любое десятичное число можно записать в виде: В ЭВМ используется двоичная форма исчисления информации, так каждый разряд принимает только два значения (0 или 1), что легко реализуется электронными схемами. 10
ЕДИНИЦЫ ИЗМЕРЕНИЯ ИНФОРМАЦИИ В ЭВМ Бит - наименьшая единица, равная одному двоичному разряду. Байт - восемь двоичных разрядов. Слово- кол-во информации, считываемое за одно обращение к оперативной памяти, длина слова кратна восьми (как правило или 2 или 4 байта). Файл- информационная единица измерения информации. Том - диск или лента с набором файлов. 11
ФОРМАТЫ ПРЕДСТАВЛЕНИЯ ДАННЫХ Есть два основных способа представления информации - числовой и символьный. 27 26 25 24 23 22 21 20 На каждый символ в оперативной памяти ЭВМ отводится 1 байт. Каждый символ имеет собственную кодовую комбинацию. С помощью одного байта можно получить 256 не совпадающих кодовых комбинаций Количество байт кодовых комбинаций 1 2=21 2 4=22 . . . 8 256=28 12
ФОРМАТ ПРЕДСТАВЛЕНИЯ ЦЕЛЫХ ЧИСЕЛ 15 8 7 0 Знаковые разряды Знак числа: 0 = «+» , 1 = «-» Каждое целое число в памяти ЭВМ занимает 2 байта. Диапазон представления целых чисел от -32768 до +32767, что соответствует от -215 до 215 -1. Целые числа в машине представлены всегда точно. 13
ПЛАВАЮЩИЙ ФОРМАТ 31 24 23 16 15 8 7 0 Порядок числа Мантисса Знак порядка: 0 = «+» , 1 = «-» Знак числа: 0 = «+» , 1 = «-» Используется для представления вещественных чисел, занимает 4 байта. В плавающем формате число записывается в виде , где мантисса Мантисса это дробная часть числа. Порядок “р” определяет диапазон представления чисел. 14
Вещественные числа представлены в ЭВМ дискретным рядом, т. е. не точно. Рассмотрим это на примере мантиссы, имеющей только три значащих разряда. Из таблицы видно, что увеличение мантиссы на единицу в младшем разряде, приводит к скачкообразному изменению десятичного числа. Величина скачка равна значению младшего разряда. Для увеличения точности представления чисел увеличивают количество значащих разрядов, отводимых на мантиссу. Мантисса Число 2 -1 2 -2 2 -3 0 0 0. 000 0 1 0. 125 0 1 0 0. 250 15
УСТРОЙСТВО ЭВМ Компьютер (ЭВМ) – система, предназначенная для приема информации от внешних источников, преобразования ее по задаваемым пользователем правилам и выдачи потребителям. Источниками и потребителями могут выступать технические устройства, биологические объекты, люди. Любая ЭВМ состоит из трех основных систем: процессор, память, устройства ввода/вывода. Процессор - основное устройство, предназначенное для обработки данных. Память предназначена для хранения программ и данных. Устройства ввода/вывода - группа устройств для связи ЭВМ с внешним миром. Через эти устройства осуществляется ввод информации в машину и вывод результатов из машины. 16
Процессор определяет три основные характеристики ЭВМ: Разрядность - количество информации, которое процессор обрабатывает за один такт, как правило, кратно восьми разрядам; Быстродействие - характеризуется тактовой частотой генератора; за один такт процессор выполняет одну простейшую операцию; Система команд - совокупность всех операций по обработке данных, выполняемых процессором. Система команд определяет программную совместимость ЭВМ. 17
ПАМЯТЬ Подсистема памяти компьютера предназначена для оперативного и долговременного хранения информации. С появлением больших (по размерам) компьютеров установилось деление памяти на внутреннюю и внешнюю. Под внутренней памятью подразумевалась память, расположенная внутри системного блока. Внешняя память представляла собой отдельные устройства с подвижными носителями - накопители на магнитных дисках и ленте. Со временем все устройства компьютера удалось поместить в один небольшой корпус, и прежнюю классификацию применительно к РС можно сформулировать так: Внутренняя - это электронная (полупроводниковая) память, устанавливаемая на материнской плате; Внешняя - память, реализованная в виде устройств с различными принципами хранения информации и обычно с подвижными носителями. Сюда входят устройства магнитной (дисковой и ленточной), оптической и магнитооптической памяти. 18
Иерархия памяти Основная, или оперативная, память компьютера используется для оперативного обмена информацией (командами и данными) между процессором, внешней памятью (диски) и периферийными подсистемами (графика, ввод-вывод, коммуникации). Ее другое название - ОЗУ (оперативное запоминающее устройство) примерно соответствует английскому термину RAM (random access memory) - память с произвольным доступом. Произвольность доступа означает возможность операций чтения и записи с любой ячейкой ОЗУ в произвольном порядке. Требования, предъявляемые к основной памяти: • большой объем, исчисляемый единицами или десятками мегабайт; • быстродействие, позволяющее реализовать вычислительную мощность современных процессоров; • высокая надежность хранения данных. 19
Кэш-память (cashe memory) - сверхоперативная память (СОЗУ) - буфер между ОЗУ и процессором и другими абонентами системной шины. Кэш хранит копии данных тех областей ОЗУ, к которым осуществлялись последние обращения. Поэтому весьма вероятно, что последующие обращения к тем же данным будет обслужено кэш-памятью существенно быстрее, чем оперативной. Кэш в современных компьютерах строится по двухуровневой схеме. Первичный кэш, или L 1 cashe (lavel 1 cashe) - кэш первого уровня, внутренний кэш процессора. Имеется у всех процессоров класса 486 и выше. Быстродействие его таково, что он работает на внутренней частоте процессора. Объем его невелик: 8 -32 Кб. Вторичный кэш, или L 2 cashe (lavel 2 cashe) - кэш второго уровня. Обычно это внешний кэш, установленный на системной плате. Его быстродействие обеспечивает работу на внешней тактовой частоте процессора - частоте системной шины (Host Bus Clock). Типичным считается объем 128 -512 КБ. 20
Память Постоянная память (ПЗУ) используется для энергонезависимого хранения системной информации - BIOS. Энергонезависимая - это значит сохраняет информацию при выключении питания. Эта память при обычной работе компьютера только считывается, запись в нее осуществляется однократно специальными устройствами (программаторами). Отсюда и название памяти ROM (Read Only Memory - память только для чтения). Требуемый объем невелик - у современных компьютеров типовое значение - 128 КБ. Флэш-память (Flash Memory) можно использовать и как оперативную и как постоянную, ибо данные в ней сохраняются и при выключении питания. В настоящее время она часто выступает для хранения BIOS. В переносных РС используется в качестве электронных дисков. Видеопамять используется для построения растрового изображения и его постоянного вывода на дисплей (регенерация изображения). Специфика работы видеопамяти заключается в необходимости обращения к ней со стороны центрального процессора или графического процессора одновременно с процессом регенерации изображения. 21
ОРГАНИЗАЦИЯ ПАМЯТИ Информация в памяти хранится в двоичных кодах, каждый бит - элементарный элемент памяти - может принимать значение “ 0” или “ 1”. Память имеет байтовую структуру - это значит, что при каждом обращении к памяти одновременно записываются или считываются 8 бит информации. Каждая ячейка памяти имеет собственный адрес. Таким образом, байт является наименьшим адресуемым элементом памяти. Например, слово "машина" будет представлено в памяти следующим образом (см. таблицу слава): т. е. каждый символ записан в свою ячейку и символ адрес байта к каждому символу слова “машина” можно м 2001 адресоваться, указав адрес ячейки. Естественно в памяти машины хранится не сам а 2002 символ, а его кодовый эквивалент. ш 2003 Память измеряется в байтах. и . . . Производные единицы килобайты и н . . . мегабайты 1 Кб = 210=1024 байта. а 2006 1 Mб =1024 Kбайта. 22
Программное обеспечение 23
Программное обеспечение Под программой понимают описание воспринимаемое машиной. Традиционно все программное обеспечение (ПО) делится на системное и прикладное. Системное ПО используется: • для предоставления пользователю определенных услуг; • для разработки и выполнения программ. Прикладные ПО - используется для решения целевых задач пользователя (любые программы пользователя, в том числе и игровые программы). 24
ОС Операционные системы (ОС) - неотъемлемая, обязательная часть ЭВМ. Осуществляет взаимодействие пользователя с оборудованием компьютера и выполнение программ. Соответственно, ОС поддерживает два уровня интерфейса: пользовательский интерфейс и программный интерфейс. Пользовательский интерфейс - это взаимодействие пользователя с оборудованием машины. Реализуется с помощью командного языка. Программный интерфейс - это взаимодействие программы с оборудованием машины. Реализуется путем вызова подпрограмм, выполняющих предопределенные действия. Сервисные системы (СС) - расширяют возможности ОС, предоставляя пользователю набор дополнительных услуг. Некоторые СС меняют облик ОС до неузнаваемости. Инструментальные системы (ИС) - предназначены для разработки ПО. Системы технического обслуживания - служат для тестирования технического оборудования и облегчают поиск неисправностей. 25
КЛАССИФИКАЦИЯ ОПЕРАЦИОННЫХ СИСТЕМ ОС - комплекс программ, предназначенных для управления компьютером. Ресурс - любой логический или физический компонент ПК. Процесс (задача) - последовательность действий, предписанных программой, и данные, используемые при вычислениях. В настоящее время существует большое разнообразие ОС. Они классифицируются по следующим признакам: • по количеству пользователей; • по числу процессов; • по типу доступа пользователя к ПК; • по способу управления ресурсами. По количеству пользователей различают однопользовательские и многопользовательские ОС. По числу процессов делятся на однозадачные и многозадачные (многопользовательские ОС всегда многозадачные, но не наоборот). 26
КЛАССИФИКАЦИЯ ОПЕРАЦИОННЫХ СИСТЕМ • По типу доступа ОС делят на: 1). Пакетные ОС - появились первыми. Все ресурсы принадлежали одной задаче. Пакетная ОС осуществляет автоматический процесс загрузки и выгрузки задачи. В этом случае пользователь непосредственно с ОС не взаимодействует. 2). ОС реального времени обеспечивает гарантированное время ответа на внешнее событие. Используются для управления оборудованием. Выполнение фоновой задачи постоянно прерывается для выполнения основной задачи управления оборудованием. Под прерыванием понимают возникновение события, требующего реакции процессора. Обработка прерывания заключается в том, что приостанавливается выполнение текущей задачи (программы) и процессор приступает к выполнению другой задачи, по завершении которой продолжается выполнение исходной. Очевидно, что разным событиям (прерываниям) соответствуют разные ПРОГРАММЫ ОБРАБОТКИ ПРЕРЫВАНИЙ. 27
КЛАССИФИКАЦИЯ ОПЕРАЦИОННЫХ СИСТЕМ ОС с разделением времени. Основное назначение - работа в многопользовательском режиме, делит время между многими пользователями. Все задачи выполняются последовательно за определенный интервал времени. 28
КЛАССИФИКАЦИЯ ОПЕРАЦИОННЫХ СИСТЕМ По способу управления ресурсами делятся на однопроцессорные, многопроцессорные, сетевые и распределенные. Многопроцессорные ОС рассчитаны на работу с вычислительными системами, в состав которых входит два и более процессоров. Задача выполняется параллельно одновременно всеми процессорами, но каждый из процессоров выполняет только свои вычисления. Сетевые ОС используются для работы многих машин, объединенных линией связи. Она поддерживает межмашинный обмен информации. Для поддержки перечисленных типов существуют следующие типы ОС: • однопользовательские однозадачные; • однопользовательские многозадачные; • многопользовательские многозадачные. 29
Информатика ИНСТРУМЕНТАЛЬНЫЕ СРЕДСТВА ПРОГРАМИРОВАНИЯ 30
Алгоритм - это совокупность правил, определяющих процедуру решения задачи. Алгоритм обладает четырьмя основными свойствами: 1) Определенность - это такое свойство алгоритма, которое не дает иного толкования. 2) Массовость - это возможность использования любых данных из некоторого допускаемого множества. 3) Результативность - это возможность получения искомого результата при любых допустимых данных. 4) Дискретность - это возможность представления алгоритма в виде последовательности элементарных действий. 31
Способы описания алгоритма: Описать алгоритм можно словесно, что не подходит для ввода в машину. Графический способ. Последовательность действий изображается в виде геометрических фигур, соединенных линиями. С помощью алгоритмического языка. Действия, используемые для описания алгоритма называются операторами. Операторы имеют символьное обозначение. В графическом способе используют геометрические фигуры: 32
Графический способ Начало Блок начала программы Блок обработки Блок предопределенной обработки (подпрограмма) да нет Блок условия Блок ввода - вывода конец Блок конца программы 33
Графический способ Начало Ввод «Х» да нет Х>=0 Y=X Y=-X Ввод «Х» Пример: Схема алгоритма вычисления Y=|X| конец 34
Алгоритм Любой алгоритм можно представить в виде простейших алгоритмов: линейного, ветвящегося, циклического. Место любого предопределенного блока может занять любой из представленных алгоритмов. 35
АЛГОРИТМИЧЕСКИЕ ЯЗЫКИ Запись алгоритма можно осуществить с помощью алгоритмического языка. 1). Машинный язык - реализуется машиной. Оператор машинного языка называется командой. Он состоит из операционной (выполняемой машиной) части и адресной части (способ вычисления адреса ячейки памяти). Для упрощения создания программ на машинном языке используются машинно-зависимые языки: 1). Ассемблер - система обозначений, представляющая в удобной форме программы, написанные на машинном языке, причем один оператор языка соответствует одной команде. Например: MOV R 1, R 2 - переслать данные из регистра R 1 в регистр R 2. ADD R 2, R 3 - сложить содержимое регистров R 2 и R 3. 2). Макроассемблер - машинно-зависимый язык, основанный на принципе программного моделирования операций. Позволяет с помощью команд ассемблера описать макрооперацию и в дальнейшем использовать ее как оператор языка. 36
ПРОБЛЕМНО-ОРИЕНТИРОВАННЫЕ ЯЗЫКИ В них структура алгоритма максимально приближена к структуре решаемой задачи (проблемы). Для упрощения их приближают к разговорной речи. Различают: 1) Процедурно-ориентированные языки Программа записывается в виде процедур, каждая из которых может вызывать другие процедуры. Выполнение программы сводится к последовательному выполнению процедур. К ним относятся Паскаль, С, С++. 2) Функциональное программирование. Роль основной конструкции играет выражение. К выражениям относятся константы, объекты, функции и вызовы функций. Причем понятие функции полностью соответствует понятию функции в математике. Программа представляет собой совокупность описаний функций. Функции вычисляются посредством редукции, т. е. серии последовательных упрощений. Перечисленные свойства характеризуют функциональные языки как языки программирования сверхвысокого уровня. Самым первым функциональным языком является LISP (List Processing - обработка списков) 37
4) Объектно-ориентированные языки Суть стиля данного программирования выражается формулой “объект = данные + формула”. Таким образом объект интегрирует в себя структуру данных и, доступные только ему правила манипулирования этими данными. Объединение данных и процедур в объекте называется инкапсуляцией. Данные называются полями, а процедуры работы с данными - методами. В объектно-ориентированных языках широко используется полиморфизм и наследование. Наследование позволяет на основе базовых объектов создавать свои программные объекты, которые наследуют все свойства своих родителей (все поля и методы). Например, описывается объект "точка ": Объект "точка" (X, Y) { X, Y - координаты точки экрана } Инициализация (X, Y) { создать объект точка } Показать { процедура показать точку } Спрятать { процедура спрятать точку } А затем на базе этого объекта создается объект "прямоугольник", который наследует все свойства объекта родителя "точка « + добавляются новые. 38
4) Объектно-ориентированные языки Полиморфизм - возможность использования методов с одинаковыми именами в различных объектах. В объектно-ориентированных языках используют объектно-ориентированные библиотеки с описанием базовых объектов. Представители языка SIMULA и SMALLTALK 39
Трансляция языков высокого уровня Для преобразования языка высокого уровня в машинный язык используют трансляцию - операцию перевода программы на машинный языке, которая проводится с помощью транслятора. Трансляция бывает двух видов: 1. Компиляция - преобразование программы языка высокого уровня в программу, написанную на машинном языке с помощью компилятора (программы, преобразующей текст с языка высокого уровня или в Ассемблер, или в машинный код от начала до конца); (Pascal, C, C++) Основная программа Исполняемая Транслятор Компановщик программа Модули 40
Трансляция языков высокого уровня 2. Интерпретация текста программы с помощью интерпретатора, совмещающего построчный перевод программы с ее выполнением, осуществляющаяся только тогда, когда в памяти машины есть и исходная программа интерпретатора; такой режим называется интерактивным. (Basic) 41
ВОЗНИКНОВЕНИЕ И РАЗВИТИЕ ЯЗЫКОВ ПРОГРАМИРОВАНИЯ Фортран появился в 1956 г. Появление фортрана позволило переложить задачи программирования на плечи пользователей. Был создан для научных целей (его название - сокращение от англ. "FORmular TRANslater"). Фортран 4 и Фортран 77 - последующие модификации Фортрана. Кобол был создан для коммерческих целей. Предназначался в основном для обработки строковых данных. Алгол - 60 (1958) - европейский язык, в котором впервые появляются операторные скобки "begin" и "end". Бейсик был создан для обучения программированию непрофессиональных программистов, а именно студентов гуманитарных вузов. Симула язык имитационного моделирования. Паскаль является модификацией Алгола 68. Турбо Паскаль - модификация Паскаля. Ада - язык реального времени. Является модификацией Алгола 68. Создан по заказу министерства обороны США. С и С++ возникли из языка Симула. 42

