- •1)Появление и развитие информатики. Структура информатики. Появление и развитие информатики
- •Структура информатики
- •2)Информация и ее свойства. Формы представления информации. Единицы измерения информации. Информация и формы ее представления.
- •3)Понятие количества информации. Формулы Хартли и Шеннона. Методы измерения информации.
- •Формула Шеннона:
- •Вероятностный метод измерения информации
- •5)Понятие архитектуры и структуры. Основные блоки пк и их назначение
- •Элементы конструкции пк
- •7) Микропроцессор, его структура, и назначение. Основные параметры микропроцесора.
- •8) Классификация и назначения программного обеспечения пк
- •Классификация программных продуктов
- •9)Системное программное обеспечение пк. Понятия операционной системы и операционных оболочек. Функции ос.
- •10) Классификация прикладных программных продуктов (в виде пакетов прикладных программ).
- •Проблемно-ориентированные ппп.
- •Ппп автоматизированного проектирования.
- •Ппп общего назначения.
- •5. Офисные ппп - охватывает программы, обеспечивающие организационное управление деятельностью офиса:
- •Настольные издательские системы.
- •9. Системы искусственного интеллекта.
- •11)Инструментальное по.
- •Средства для создания приложений.
- •12. Назначение и основные функции ос
- •Прочие функции операционных систем
- •13) Файловая система, понятия файла и каталога, полного имени файла, пути к файлу, атрибутов файлов. Использование шаблонов в имени файла.
- •14)Физическое размещение данных на дисках. Организация доступа к файлу. Назначение fat-таблицы при поиске файлов.
- •2.2 Файловая система fat
- •15)Файловая система ntfs. Сравнительная характеристика fat 32 и ntfs Файловая система ntfs.
- •Сравнительная характеристика fat 32 и ntfs
- •16)Взаимодействие с аппаратными средствами. Служебные программы: дефрагментация диска, проверка состояния диска, уплотнение диска, форматирование дисков. Средства управления памятью.
- •Средства проверки дисков
- •3.2 Средства «сжатия» дисков
- •3.3 Средства управления виртуальной памятью
- •3.4 Средства кэширования дисков
- •3.5 Средства резервного копирования данных
- •17) Операционные системы Windows, Linux, Unix. Развитие графической системной среды.
- •Особенности
- •18)Офисные системы. Текстовые редакторы.
- •Режимы отображения документа
- •19) Приемы работы в процессоре Microsoft Word
- •2.3. Редактирование текста
- •2.3. Средства редактирования текста
- •2.4. Форматирование текста
- •2.5. Настройка шрифта
- •20) Приемы и средства автоматизации разработки документов
- •3.1. Использование шаблона для создания документа.
- •20) Этапы решения задач эвм
- •Модульное программирование
- •21) Языки программирования. Понятия языка низкого и высокого уровня. Классификация языков программирования
- •Язык ассемблер
- •Языки программирования высокого уровня
- •24)Язык программирования высокого уровня. Конструкции языка (константы, переменные, выражения, функции).
- •25) Структура программы. Операторы. Простые операторы, структурированные операторы. Структура программы
- •Алгоритмический язык
- •Паскаль
- •27) Основные понятия электронных таблиц: рабочая книга, рабочий лист, диапазон ячеек, ячейки и их адресация. Ввод, редактирование и форматирование данных.
- •Ввод, редактирование и форматирование данных
- •Ввод текста и чисел
- •Форматирование содержимого ячеек
- •Числовые форматы.
- •Текстовые форматы.
- •Изменение формата данных в ячейке.
- •28) Автоматизация ввода данных в Excel
- •Автозавершение
- •Автозаполнения числами
- •Заполнение прогрессией.
- •Автозаполнение формулами
- •29) Вычисления в электронных таблицах. Способы ввода формул. Абсолютная и относительная адресация. Встроенные функции Excel (использование мастера функций).
- •Ссылки на ячейки
- •3.2. Ссылки абсолютные и относительные
- •Относительная адресация.
- •Абсолютная адресация.
- •Использование стандартных функций
- •Палитра формул
- •Использование мастера функций
- •Ввод параметров функции
- •Суммирование
- •30) Построение диаграмм и графиков в электронных таблицах.
- •6.1. Выбор типа диаграммы
- •6.2.Выбор данных
- •6.3. Оформление диаграммы
- •6.4. Размещение диаграммы
- •6.5. Редактирование диаграммы
- •31) Основные понятия баз данных и субд. Классификация баз данных. Архитектура файл-сервер, клиент-сервер, основные особенности.
- •Классификация баз данных
- •32) Виды моделей данных (иерархическая, сетевая, реляционная)
- •Сетевая модель данных
- •Реляционная модель данных
- •33) Типы связей (один к одному, один ко многим, многие ко многим)
- •34) Построение информационно-логической модели. Архитектура субд. Понятие инфологической модели.
- •Архитектура субд
- •Понятие информационно-логической модели
- •35) Назначение и классификация компьютерных сетей.
- •36) Локальные вычислительные сети: назначение, состав, основы функционирования.
- •37) Понятие топологии сети и базовые топологии лвс
- •38) Методы доступа к передающей среде
- •39) Способы объединения локальных и глобальных вычислительных сетей.
- •40) Представление о структуре и системе адресации Internet.
- •41) Способы организации передачи информации
Язык ассемблер
Чтобы уйти от сухих и невыразительных машинных инструкций машинного языка, но при этом иметь возможность работать на самом низком уровне разработали машинно-ориентированные языки программирования. Представителем машинно-ориентированного языка является язык ассемблер.
Язык ассемблер – это символьная форма записи машинного языка. Его использование существенно упрощает написание машинных программ, так как каждая из команд ассемблера выражается мнемокодом и набором операндов.
Мнемокод – это служебное слово, записанное в символьной форме и указывающее, какую необходимо выполнить операцию над операндами. В ассемблере не используются цифровые коды операций, операции указываются только своими символьными названиями, которые, конечно, легче запомнить (слово "мнемонический" означает "легко запоминающийся").
Операнды – это данные, над которыми выполняются операции, заданные мнемокодом. В качестве операндов в языке ассемблер могут использоваться числа и имена переменных.
Символьная форма записи машинных команд позволяет ассемблеру избавиться от ряда недостатков, свойственных языку машинных команд. Язык становится более выразительным и понятным. Кроме того, в ассемблере сохраняются все достоинства машинного языка:
доступ ко всем ресурсам компьютера;
короткий и эффективный программный код;
программы, как правило, "быстрыми".
Вместе с тем, большинство из недостатков, связанных с аппаратно зависимым набором доступных команд, громоздкостью алгоритмов и программ, сложностью отладки больших приложений являются необъемлемой отличительной особенностью всех языков низкого уровня.
Языки программирования высокого уровня
Для устранения этих трудностей, а значит для облегчения работы программиста и повышения надежности создаваемых программ (т.е. для уменьшения вероятности допущения в ней ошибок), были созданы специальные языки для записи алгоритмов, более удобные для человека, которые получили название алгоритмические языки или языки программирования высокого уровня (по сравнению с машинным языком, который тоже является языком программирования).
Таким образом, языки высокого уровня созданы для облегчения преобразования алгоритмов в программный код. Кроме того, отличительной особенностью языков высокого уровня является то, что они максимально приближены к языку человеческого общения (исторически - английскому).
Примеры языков высокого уровня: Basic, Pascal, Fortran, C и др.
Классификация языков программирования
Для написания программы существуют различные языки программирования, которые подразделяются на языки низкого и высокого уровня.
Язык программирования - формализованный язык для описания алгоритма решения задачи на компьютере.
Определение. 5. Язык программирования низкого уровня близок к машинному коду и ориентирован на конкретный тип процессора.
Примером языка низкого уровня является язык АССЕМБЛЕР, созданный по принципу: «одна инструкция – одна строка».
Определение. 6 . Язык программирования высокого уровня ближе и понятен человеку и особенности архитектуры конкретных вычислительных систем в нем не учитываются.
С помощью языка программирования создается не готовая программа, а только ее текст, описывающий ранее разработанный алгоритм. Чтобы получить работающую программу, надо этот текст перевести в машинный код (для этого служат программы – компиляторы) и затем использовать отдельно от исходного текста, либо сразу выполнять команды языка, указанные в тексте программы (этим занимаются программы- интерпретаторы).
Языки программирования, если в качестве признака классификации взять синтаксис образования его конструкций, можно условно разделить на классы:
машинные языки- языки программирования, воспринимаемые аппаратной частью компьютера (машинные коды);
машинно-ориентированные языки- языки программирования, которые отражают структуру конкретного типа компьютера (ассемблеры);
алгоритмические языки - не зависящие от архитектуры компьютера языки программирования для отражения структуры алгоритма (Паскаль, Бейсик, Фортран и др.);
процедурно-ориентированные языки- языки программирования, где имеется возможность описания программы как совокупности процедур (подпрограмм);
проблемно-ориентированные языки- языки программирования, предназначенные для решения задач определенного класса (Лисп, РПГ, Симула и др.);
интегрированные системы программирования.
23) Компоненты, образующие алгоритмический язык. Отладка и тестирование программ, машинные коды. Трансляторы, компиляторы и интерпретаторы, их значение.
Отличительные особенности алгоритмических языков
Основные отличия алгоритмических языков от машинных языков состоят в следующем:
— алгоритмический язык обладает гораздо большими выразительными возможностями, т.е. его алфавит (набор используемых букв, цифр и знаков) значительно шире алфавита машинного языка, что существенно повышает наглядность текста программы;
— набор операций, допустимых для использования, не зависит от набора машинных операций, а выбирается из соображений удобства формулирования алгоритмов решения задач определенного класса;
— формат предложений достаточно гибок и удобен для использования, что позволяет с помощью одного предложения задать достаточно содержательный этап обработки данных;
— требуемые операции задаются в удобном для человека виде, например с помощью общепринятых математических обозначений;
— для задания операндов данным, используемым в алгоритме, присваиваются индивидуальные имена, выбираемые программистом, и ссылка на операнды производится главным образом путем их имен;
— в языке может быть предусмотрен значительно более широкий набор типов данных по сравнению с набором машинных типов данных.
Таким образом, алгоритмический язык в значительной мере является машинно-независимым.
Компиляторы и интерпретаторы
Из сказанного ясно, что алгоритм, записанный на алгоритмическом языке, не может быть непосредственно выполнен с помощью ЭВМ — для этого он должен быть предварительно переведен (оттранслирован) на язык той машины, на которой этот алгоритм будет исполняться. Выполнение такого перевода самим человеком потребовало бы от него больших затрат труда и времени, а к тому же — фактического умения программировать на языке машины, что свело бы на нет эффект использования алгоритмических языков.
Если же алгоритмический язык выбрать так, чтобы перевод любого алгоритма с этого языка на язык машины можно было осуществить по формальным правилам (а именно с учетом этого обстоятельства и создаются алгоритмические языки), то непосредственное выполнение такого перевода можно поручить самой машине. Для этого достаточно однажды составить специальную машинную программу, называемую транслятором, которая представляет собой не что иное, как записанный на языке машины алгоритм перевода текста с некоторого алгоритмического языка на язык какой-либо конкретной ЭВМ. Таким образом, исходными данными для транслятора является запись какого-либо алгоритма на исходном алгоритмическом языке, а результатом работы транслятора — тот же алгоритм, но записанный уже на машинном языке, пригодный для его непосредственного выполнения на соответствующей ЭВМ.
Трансляция программы может выполняться двумя способами:
методом компиляции,
методом интерпретации.
Если транслятор выполняет перевод всего текста программы в машинный код (с одновременной оптимизацией этого кода), то этот процесс называют компиляцией, а программы, выполняющие преобразование текста программы в машинный код называют компиляторами. Машинный код, полученный в результате компиляции, может храниться на любом накопителе в форме программы, которую можно в любой момент запустить на выполнение, как самостоятельное приложение.
В отличие от компилятора интерпретатор каждую отдельную команду программы преобразует в машинный код и сразу выполняет, т.е. программа интерпретирует (переводит на машинный язык) каждую команду программы. Получается, что все команды, содержащиеся в программе, в ходе работы интерпретатора выполняются последовательно друг за другом. Очевидно, что оптимизации машинного кода интерпретатор не производит.
Реальные трансляторы сочетают в себе технологии трансляции и интерпретации.
Три составляющие алгоритмического языка
При написании программ на языке программирования высокого уровня используются определенные правила, основанные на понятиях языка.
Эти понятия принято выражать тремя составляющими:
алфавитом;
синтаксисом;
семантикой.
Алфавит — это фиксированный для данного языка набор основных символов, т.е. "букв алфавита", из которых должен состоять любой текст на этом языке - никакие другие символы в тексте не допускаются.
Синтаксис - это система правил, определяющих допустимые конструкции из букв алфавита. С помощью "этих конструкций представляются отдельные компоненты алгоритма и алгоритм в целом, записанные на данном языке. Таким образом, для каждой цепочки (последовательности) символов синтаксис позволяет ответить на вопрос, является ли она текстом на данном языке или нет.
Семантика — это система правил истолкования отдельных языковых конструкций, позволяющих (при заданных исходных данных) однозначно воспроизвести процесс обработки данных по заданной программе.
Запись текста на любом алгоритмическом языке представляет собой строго линейную последовательность символов (литер), т.е. не допускается использование верхних и нижних индексов (записей типа х2 или ai, k), дробей вида а/b и т.п. Это требование связано, главным образом, с необходимостью ввода текста в память машины (в случае машинной его обработки, например с целью его редактирования или трансляции на какой-либо другой язык), а на современных ЭВМ любые вводимые данные должны быть представлены в виде линейной последовательности литер.
Каждый из алгоритмических языков имеет свои особенности в составе алфавита, синтаксиса и семантики.
Для представления алгоритма в виде, понятном компьютеру служат языки программирования.
В начале всегда разрабатывается способ решения задачи и по нему определяется алгоритм действия, а затем этот алгоритм записывается на одном из языков, понятном компьютеру. В итоге получается законченное и детальное описание алгоритма на языке программирования. Затем текст этой программы специальными служебными программами, которые называются ТРАНСЛЯТОРАМИ, переводится в машинный код и исполняется.
Определение 3. Язык программирования – это искусственный язык с ограниченным числом слов, значения которых строго и однозначно фиксированы транслятором и подчинены строгим правилам записи команд.
Совокупность таких требований по языку программирования составляет синтаксис языка, а смысл каждой команды представляет семантику языка. Любое нарушение формы записи программы приводит к тому, что транслятор не понимает назначение команды и выдает сообщение об ошибке.
Определение. 4. Процесс поиска ошибок в программе называется тестированием, а процесс устранения ошибок называется отладкой программы.
Перевод всего текста программы на машинный код и автоматический поиск ошибок в ней, а также ее оптимизация с целью повышения быстродействия осуществляется программой – компилятором.
Если программа не переводится в машинный код, сразу происходит исполнение ее команд, то для осуществления такой операции служат программы – интерпретаторы.
В реальных машинах технологии компиляции и интерпретации перемешаны или обобщены одной программой – транслятором
