
- •Общее представление об информации. Виды информации. Место и роль понятия «информация» в курсе информатики.
- •Применение информационных технологий в Гражданской авиации.
- •3)Кодирование информации. Понятие носителя информации. Виды носителей информации.
- •4. Формы представления и передачи информации. Представление и кодирование информации
- •5. Общая характеристика процессов сбора, передачи, обработки и накопления информации. Информационные процессы.
- •6. Основные операции с данными.
- •7. Свойства информации.
- •8. Методы оценки и виды информации.
- •9. Представление информации в компьютере. Единицы измерения информации.
- •10. Двоичная система счисления.
- •Перевод чисел из двоичной системы счисления в десятичную
- •Почему двоичная система счисления так распространена?
- •Перевод десятичного числа в двоичное
- •11. Типовая структура и состав эвм. Назначение элементов эвм.
- •12. Поколения эвм.
- •13. Общие принципы работы эвм. Принципы фон Неймана.
- •14. Принцип запоминаемой программы. Программа как последовательность действий компьютера.
- •15. Основные функциональные части компьютера. Взаимодействие процессора и памяти при выполнении программ.
- •16. Технические средства реализации информационных процессов. Эволюция персональных компьютеров.
- •17. Базовая конфигурация персонального компьютера. Основные характеристики пк.
- •18)Внешние устройства: накопители на гибких и жестких дисках, клавиатура, мышь, видеотерминал, принтер, сканер, стример, приводы для сд-двд.
- •Основные усредненные характеристики современных пэвм ibm pc
- •Основные блоки персонального компьютера и их назначение
- •20.Программные средства реализации инф. Процессов. Типовой состав по пк.
- •21. Организация хранения программ и данных. Файлы и файловая структура. Единица измерения данных.
- •22. Системное и прикладное по.
- •23.Понятие о ос. Назначение ос. Драйверы внешних устройств. Параметры ос.
- •24.Файлы и их имена. Файловая система. Файловая структура. Интерфейс пользователя. Запуск и выполнение программ
- •Пользовательский интерфейс
- •26.Понятие алгоритма. Свойства алгоритма, способы представления.
- •27.Базовые алгоритмические структуры.Линейные,ветвление и цикл.Построение алгоритмов из базовых структур.
- •28) Основные методы разработки алгоритмов.
- •29)Компьютер как исполнитель алгоритмов. Программа как изображение алгоритма в терминах команд, управляющих работой компьютера.
- •Компьютер как формальный исполнитель алгоритмов.
- •30) Коды, ассемблеры. Трансляция и компоновка. Исходный и объектный модули, исполняемая программа. Компиляция и интерпретация. Данные как объект обработки.
- •Виды программирования
- •Процедурные языки программирования
- •Используемые символы
- •Структура компилятора
- •37Варианты определения языка программирования .Синтаксис и семантика алгоритмического языка.
- •38)Основные понятия технологии программирования.
- •Основные этапы системного анализа
- •Этапы разработки программного обеспечения
- •41) Стратегии разработки программных средств.
- •42) Критерии качества программного средства.
- •43) Компьютерная поддержка разработки и сопровождения программных средств.
- •44)Понятие модели. Классификация моделей.
- •46)Этапы моделирования функциональных и вычислительных задач.
- •47) Общая схема компьютерного математического моделирования
- •48)Основные понятия компьютерной графики. Представление и обработка графической информации. Растровая и векторная графика. Фрактальная графика.
- •49) Форматы графических файлов
- •50)Представление изображения в цифровом виде
- •51)Современные графические редакторы. Классификация цифровых моделей.
- •52) Устройства ввода и отображения графической информации. Создание изображений и анимаций.
- •53) Классификация компьютерных сетей
- •54) Модель взаимодействия открытых систем
- •55) Методы доступа к передающей среде в современных локальных вычислительных сетях.
- •56) Аппаратно-программное обеспечение сетей
- •57)Корпоротивные компьютерные сети
- •58) Общие сведения о сети интернет. История развития. Техническое руководство Интернет. Интеграция мировых информационных ресурсов и создание глобального информационного пространства.
- •59)Протоколы общения компьютеров в сети.
- •60) Система адресации в Интернет.
- •61) Вариантыобщенияпользователя в интернет. Подключение к Интернет.Базовыепользовательскиетезнологииработы в Интернет.
- •62) Передача файлов с помощью протокола ftp.
- •63) Программа работы с удаленным компьютером, электронные доски объявлений, телеконференции.
- •64) Службы прямого общения пользователей.
- •65) База данных, банк данных, система управления базой данных, администратор базы данных.
- •66) Уровни представления данных:концептуальный,логический,физический,внешний.
- •67) Модели баз данных.
- •Инфологическая модель данных "Сущность-связь"
- •68) Этапы проектирования баз данных.
- •69) Системы управления базами данных(субд). Классификация субд. Основные функции субд.
- •70) Многопользовательские информационные системы. Технология клиент-сервер.
- •71) Задачи, решаемые с помощью бд
- •72) Технологическийпроцессобработкиинформации. Понятиеинформационнойтехнологии.Классификация ит. Средства ит.
- •73) Комптехнологииобработкиинформации. Экспертныесистемы и системыподдержкипринятиярешений.Понятиеискусственногоинтеллекта.
- •74) Информационные технологии образования. Автоматизированные системы управления. Информационные системы.
- •75) Законодательные акты рф, регулирующие правовые отношения в сфере иф и защиты гос тайны.
- •76) Защита информации в локальных комп сетях, антивирусная защита. Специфика обработки конфиденциальной информации в комп системах. Защита информации в локальных сетях
30) Коды, ассемблеры. Трансляция и компоновка. Исходный и объектный модули, исполняемая программа. Компиляция и интерпретация. Данные как объект обработки.
Когда вы пишете программу на ассемблере, вы просто пишете команды процессору. Команды процессору - это просто коды или коды операций или опкоды. Опкоды - фактически "читаемый текст"- версии шестнадцатеричных кодов. Из-за этого, ассемблер считается самым низкоуровневым языком программирования, все в ассемблере непосредственно преобразовывается в шестнадцатеричные коды. Другими словами, у вас нет компилятора, который преобразовывает язык высокого уровня в язык низкого уровня, ассемблер только преобразовывает коды ассемблера в данные.
Числа в ассемблере могут представляться в двоичной, десятеричной или шестнадцатеричной системе. Для того, чтобы показать в какой системе использовано число надо поставить после числа букву. Для бинарной системы пишется буква b (пример: 0000010b, 001011010b), для десятеричной системы можно ничего не указывать после числа или указать букву d (примеры: 4589, 2356d), для шестнадцатеричной системы надо указывать букву h, шестнадцатеричное число надо обязательно писать с нулём в начале (примеры: 00889h, 0AC45h, 056Fh, неправильно F145Ch, С123h).
Компоновка
Компоновка программы создает готовую для работы программу, которая называется также исполняемой программой или загрузочным модулем. При этом решаются две основные задачи:
если в программе используются функции, например, sin, exp и т.д., соответствующие им программные модули выбираются из библиотеки подпрограмм соответствующей системы программирования и вставляются в объектный модуль;
объектный модуль преобразуется в соответствии с реальными адресами основной памяти, куда будет размещаться программа для выполнения.
Трансляция
Процесс преобразования программы, написанной на одном языке программирования, в программу на другом языке.
Как правило, трансляция — это создание программы в машинных кодах, которую можно выполнять. Трансляция обеспечивает включение библиотечных подпрограмм, модулей, процедур в итоговую программу на машинном языке.
Различают два вида трансляции:
компиляцию, при которой результат получается в виде готовой программы, выполняемой независимо от исходного текста программы;
интерпретацию, при которой трансляция и выполнение программы происходит покомандно.
Исходный модуль - это текстовый файл части программы, написанный на каком-либо языке программирования. Исходный модуль обычно оформляется специальным образом для того, чтобы он мог быть оттранслирован (в объектный модуль).
Объектный модуль программы получается в результате трансляции исходного текста модуля. В состав объектного модуля программы помещается оттранслированный код модуля, информация для редактора связей, позволяющая объединять модули в единую программу, и отладочная информация (переменные, константы, метки и их адреса). Для объектного модуля по умолчанию используется имя файла, совпадающее с именем файла исходного модуля и с расширением obj.
Под трансляцией в самом широком смысле можно понимать процесс восприятия компьютером программы, написанной на некотором формальном языке. При всем своем различии формальные языки имеют много общего и, в принципе, эквиваленты с точки зрения потенциальной возможности написать одну и ту же программу на любом из них.
На самом деле сложно подвести под одну схему имеющееся многообразие языков программирования,
Компиляция - преобразование объектов (данных и операций над ними) с входного языка в объекты на другом языке для всей программы в целом с последующим выполнением полученной программы в виде отдельного шага.
Интерпретация - анализ отдельного объекта на входном языке с одновременным выполнением (интерпретацией).
Следовательно, компиляция и интерпретация отличаются не характером и методами анализа и преобразования объектов программы, а совмещением фаз обработки этих объектов во времени. То есть при компиляции фазы преобразования и выполнения действий разнесены во времени, но зато каждая из них выполняется над всеми объектами программы одновременно. При интерпретации, наоборот, преобразование и выполнение действий объединены во времени, но для каждого объекта программы.
Если посмотреть на эти различия несколько с другой стороны, то можно заметить, что интерпретатор непосредственно выполняет действия, связанные с определением или преобразованием объектов программы, а компилятор - переводит их на другой (не обязательно машинный язык). Отсюда можно сделать несколько выводов:
для выполнения программы, написанной на определенном формальном языке после ее компиляции необходим интерпретатор, выполняющий эту программу, но уже записанную на выходном языке компилятора;
процессор и память любого компьютера (а в широком смысле и вся программная среда, создаваемая операционной системой, является интерпретатором машинного кода);
в практике построения трансляторов часто встречается случай, когда программа компилируется с входного языка на некоторый промежуточный уровень (внутренний язык), для которого имеется программный интерпретатор. Многие языковые системы программирования, называемые интерпретаторами, на самом деле имеют фазу компиляции во внутренне представление, на котором производится интерпретация.
31) Паради́гмы программи́рования
Паради́гма программи́рования — это система идей и понятий, определяющих стиль написания компьютерных программ, а также образ мышления программиста.
Важно отметить, что парадигма программирования не определяется однозначно языком программирования; практически все современные языки программирования в той или иной мере допускают использование различных парадигм. Так на языке Си, который не является объектно-ориентированным, можно работать в соответствии с принципами объектно-ориентированного программирования, хотя это и сопряжено с определёнными сложностями; функциональное программирование можно применять при работе на любом императивном языке, в котором имеются функции (для этого достаточно не применять присваивание), и т.д. Своим современным значением в научно-технической области термин «парадигма» обязан, по-видимому, Томасу Куну
32)Объектно-ориентированное программирование. Логическое и функциональное программировании.
Объе́ктно-ориенти́рованное, или объектное, программи́рование (в дальнейшем ООП) — парадигма программирования, в которой основными концепциями являются понятия объектов и классов. В случае языков с прототипированием вместо классов используются объекты-прототипы.
ООП возникло в результате развития идеологии процедурного программирования, где данные и подпрограммы (процедуры, функции) их обработки формально не связаны
Основные понятия
Абстрагирование — это способ выделить набор значимых характеристик объекта, исключая из рассмотрения незначимые. Соответственно, абстракция — это набор всех таких характеристик.
Инкапсуляция — это свойство системы, позволяющее объединить данные и методы, работающие с ними, в классе и скрыть детали реализации от пользователя.
Наследование — это свойство системы, позволяющее описать новый класс на основе уже существующего с частично или полностью заимствующейся функциональностью. Класс, от которого производится наследование, называется базовым, родительским или суперклассом. Новый класс — потомком, наследником или производным классом.
Полиморфизм — это свойство системы использовать объекты с одинаковым интерфейсом без информации о типе и внутренней структуре объекта.
Прототип — это объект-образец, по образу и подобию которого создаются другие объекты. Объекты-копии могут сохранять связь с родительским объектом, автоматически наследуя изменения в прототипе; эта особенность определяется в рамках конкретного языка.
Целью логического и функционального программирования является вывод решений и они тесно связаны с задачами, решаемыми в искусственном интеллекте и экспертных системах (ЭС). На начальном этапе развития систем искусственного интеллекта (СИИ) и ЭС даже выделился целый класс специализированных языков программирования: языки логического и функционального программирования.
Процедурная программа состоит из последовательности операторов и предложений, управляющих последовательностью их выполнения. В основе такого программирования лежат взятие значения какой-то переменной, совершение над ним действия и сохранение нового значения с помощью оператора присваивания, и так до тех пор пока не будет получено желаемое окончательное значение.
Функциональная программа состоит из совокупности определений функций. Функции, в свою очередь, представляют собой вызовы других функций и предложений, управляющих последовательностью вызовов. Каждый вызов возвращает некоторое значение и вызвавшую ее функцию, вычисление которой после этого продолжается. Этот процесс повторяется до тех пор, пока запустившая процесс функция не вернет результат пользователю.
В логических языках программирования для решения задачи достаточно описания структуры и условий этой задачи. Поскольку последовательность и способ выполнения программы не фиксируется, как при описании алгоритма, программы могут в принципе работать в обоих направлениях, то есть программа может как на основе исходных данных вычислить результаты, так и по результатам - исходные данные.
Наиболее известными языками функционального программирования являются ЛИСП и РЕФАЛ, а логического - Пролог. Однако, с развитием языков программирования (в частности, с появлением объектно-ориентированных языков) и баз данных область их применения сузилась. Так ЛИСП используется как оболочка Автокад, а РЕФАЛ как средство для построения метаязыков и метакомпиляторов.
Поэтому в дальнейшем внимание будет уделено не рассмотрению конкретных языков функционального и логического программирования, а подходам, лежащим в основе их реализации и являющимися базовыми при создании систем принятия решений.
ЛИСП и Пролог в свое время являлись базовыми для создания экспертных систем. Поэтому, для того чтобы наглядно представить какой круг задач решается с помощью логического и функционального программирования, рассмотрим задачи, возникающие в ЭС. Прежде всего, это задачи прямого и обратного вывода