Основные понятия. Требования. Инсталляция. Защита прав.Главное свойство компьютера: компьютер действует как автоматический формальный исполнитель алгоритмов обработки информации. Автоматизм в его работе означает, что некоторые действия он выполняет без участия человека в соответствии со следующими принципами:1. двоичное кодирование информации;2. программное управление работой компьютера (идея Чарльза Бэббиджа);3. программа хранится как число в одной из ячеек памяти (идея Джона фон Неймана).Замечание: Современный компьютер – это единство аппаратных и программных средств.Компьютерная программа – это закодированная информация о действиях, которые предписывается выполнить компьютеру – алгоритм для исполнения компьютером, записанный или на языке машинных кодов (язык 0 уровня), или на языке программирования (язык 1 уровня).Существуют несколько технологий работы компьютера:
КОМПИЛЯЦИЯ – при выполнении программы на алгоритмическом языке ЭВМ обрабатывает текст и преобразовывает его в эквивалентную программу в машинных кодах (последовательность байтов). Само такое преобразование называется компиляцией. Поскольку в результате компиляции получается программа в машинных кодах, то ее уже можно поместить в память ЭВМ и выполнить.
ИНТЕРПРЕТАЦИЯ – при выполнении программы в машинных кодах ЭВМ будет анализировать текст программы на алгоритмическом языке и сразу выполнять предписанные этой программой действия, не переводя ее в машинные коды. Такой способ выполнения программы называется интерпретацией.
Компьютерная программа – упорядоченная последовательность команд для решения задач.Задача – проблема, подлежащая решению в процессе создания программ.Команда- система. точно сформулированных правил Программное обеспечение – обеспечение компьютера программами.Программное обеспечение – совокупность программ для обработки данных.Программное обеспечение – это интеллектуальный труд разработчика, который требует защиты его прав.Требования к программам:1) Мобильность – независимость от технического комплекса системы.2) Надёжность.3) Эффективность.4) Дружественный интерфейс.5) Модифицированность.6) Коммунитативность - интеграция с другими программами.7) Защищенность.a. Пароль.b. Ключевые дискеты, диск, файл, аппаратные устройства.c. Привязка к номеру БИОСа, операционной системы.d. Лицензия. Для правильной работы программы на ЭВМ, она должна пройти ИНСТАЛЯЦИЮ (установку) — процесс установки программного обеспечения на компьютер конечного пользователя. Дистрибути́в (англ. distribute — распространять) — это форма распространения программного обеспечения, которая содержит программы для начальной инициализации системы, программу-установщик и набор специальных файлов (пакеты), содержащих отдельные части системы. Инсталлятор — это компьютерная программа, которая устанавливает приложения, драйверы, или другое ПО на компьютер.ДЕИНСТАЛЯЦИЯ – это процесс не просто удаления программы, но в идеале, деинсталляция должна привести компьютер к виду, в котором он был до инсталляции. Для этого программа инсталляции должна вести журнал инсталляции, в который должны быть занесены все действия, производимые этой программой: создание разделов в реестре, секций в .INI-файлах, копирование, переименование, регистрация ActiveX-компонентов и многое другое. Программа деинсталляции может, основываясь на этом журнале, произвести деинсталляцию продукта.Классификация ПО. Языки.Назначение алгоритмических языков программирования – описывать математические и логические выражения и операции таким образом, чтобы, следуя этому описанию, и человек, и ЭВМ однозначно и правильно могли решить задачу, представленную математической моделью.ЗАМЕЧАНИЕ: для разработки алгоритмического языка программирования необходимы и логика, знания, и творчество, искусство математика.ЗАМЕЧАНИЕ: многообразие языков программирования обусловлено многообразием машин и задач.ТРЕБОВАНИЯ К ЯЗЫКАМ:1. Абстракция выделяет существенные характеристики некоторого объекта, отличающие его от всех других видов объектов и, таким образом, четко определяет его концептуальные границы с точки зрения наблюдателя.2. Инкапсуляция – это процесс отделения друг от друга элементов объекта, определяющих его устройство и поведение; инкапсуляция служит для того, чтобы изолировать контрактные обязательства абстракции от их реализации. Инкапсуляция скрывает детали реализации объекта.3. Модульность – это возможность описания сложных алгоритмов в виде совокупности простых модулей; это разделение программы на фрагменты, которые компилируются по отдельности, но могут устанавливать связи с другими модулями.4. Иерархия – это упорядочение абстракций, расположение их по уровням.5. Типизация – это способ защититься от использования объектов одного класса вместо другого, или по крайней мере управлять таким использованием. Полиморфизм означает, что разные объекты могут описывать различные реализации одного и того же метода.6. Параллелизм позволяет различным объектам действовать одновременно.7. Сохраняемость – способность объекта существовать во времени, переживая породивший его процесс, и (или) в пространстве, перемещаясь из своего первоначального адресного пространства. При написании языков программирования идут на компромисс между достаточной УНИВЕРСАЛЬНОСТЬЮ, но сложностью языка и ПРОСТОТОЙ, но ограниченностью его возможностей (ПРОБЛЕМНО-ОРИЕНТИРОВАННЫЕ языки тяготеют в сторону алгоритмики, а МАШИННО-ОРИЕНТИРОВАННЫЕ языки тяготеют в сторону машинных кодов).Иерархия языков:
машинные языки (вся программа состоит из последовательностей нулей и единиц; при составлении программы, человек должен подробно представлять все детали структуры и работы ЭВМ);
автокоды (последовательность машинных команд, которые нужно переводить на машинный язык при помощи специальной программы – транслятора);
операторные языки (язык программирования, состоящие только из операторов).
Фортран — создан в период с 1954 по 1957 год группой программистов под руководством Джона Бэкуса в корпорации IBM. Фортран широко используется в первую очередь для научных и инженерных вычислений.Алгол — алгоритмический язык (Европа, 60е). Применяется при составлении программ для решения научно-технических задач на ЭВМ. Алгол сыграл большую роль в становлении основных понятий программирования;Кобол – (США, 1958-60), разработан для исследований в экономической сфере;.позволяет эффективно работать с большим количеством данных, он насыщен разнообразными возможностями поиска, сортировки и т.д.Паскаль —разработан Никлаусом Виртом в 1970 в качестве языка обучения структурному программированию для решения весьма сложных задач (написание трансляторов).Ада – язык программирования, созданный в 1979–1980x годах в результате проекта, предпринятого Министерством Oбороны США с целью разработать единый язык программирования для так называемых встроенных систем (то есть, систем управления автоматизированными комплексами, работающими в реальном времени).Бейсик – учебный язык, был придуман в 1963 году преподавателями Дартмутского Колледжа Джоном Кемени и Томасом Куртцом.Си — разработан в начале 1970-х годов сотрудниками Bell Labs Кеном Томпсоном и Денисом Ритчи и был создан для использования в операционной системе UNIX. С тех пор он был портирован на многие другие операционные системы и стал одним из самых используемых языков программирования. Классификация ПО. Системное ПО. ОПЕРАЦИОННАЯ СИСТЕМАОперационная система — это первый и основной набор программ, загружающийся в компьютер.Операционная система — комплекс программ, обеспечивающий управление аппаратными средствами компьютера, организующий работу с файлами и выполнение прикладных программ.Операционная система – служит для управления выполнением пользовательских программ и распределения ресурсов. (Unix, OS/2, Windows). ОПЕРАЦИОННАЯ ОБОЛОЧКАОперационная оболочка - интерпретатор команд ОС, обеспечивающий интерфейс для взаимодействия пользователя с функциями системы (Windows 3.11, Windows Explorer, KDE, Norton Commander). УТИЛИТЫУтилиты – программы, выполняющие ряд вспомогательных операций, обслуживающих ЭВМ. Почти все утилиты обладают средствами диагностики – специальные программы (или встроенные модули), способные определить проблемные места ОС и причины их неисправности. (AIDA, CheckIt, Norton Utilities). ОБСЛУЖИВАНИЕ ДИСКОВПрограммы обслуживания дисков занимаются поиском физических дефектов и логических неисправностей жестких дисков (Norton Disk Doctor, ScanDisk, Defrag, Chekit Pro, PC Tools). АНТИВИРУСАнтивирус занимается поиском и уничтожением программ-паразитов, снижающих работоспособность ЭВМ (AVP Касперского, Norton AVP, NOD и другие). АРХИВАЦИЯПрограммы архивации служат увеличения дискового пространства путем сжатия программ, находящихся на жестком диске (Zip, Rar, Arj, Hla и другие). ДРАЙВЕРЫ Драйвера – специальные программы, предназначенные для организации обмена данными с внешним устройством. Каждому внешнему устройству соответствует свой драйвер (MOUSE.drv – мышиный драйвер). Классификация ПО. Приложения. Для чего создан компьютер? Оказывается главный потребитель ресурсов ЭВМ – приложения. Не будет приложений – не нужна и ЭВМ. Приложения условно можно разделить по мере знакомства с ЭВМ:1. Игры. Их большое множество – рассматривать не будем. 2. МультимедиаАудио программыWindows Media Player, Amarok, Audacity, WinampВидео программыWMP, WMovie Maker, Totem, Xine, Miro, Light Alloy, BS PlayerЗапись СД, ДВДDVD-студия Windows, GnomeBaker, graverman, Nero 3. ИнтернетПочтовая пересылкаOutlook Express, Mozilla Thunderbird, The BatБраузерыInternet Explorer, Mozilla Firefox, OperaДокачка файловПроводник, axel, prozilla, DLM, Torrent 4. OfficeMS Office: Word, Excel, PowerPoint, Outlook, Access, PublisherOpenOffice: Writer, Calc, Impress, BaseKingsoft Office: Writer, Presentation и Spreadsheets