Автор работы: Пользователь скрыл имя, 16 Сентября 2014 в 11:37, шпаргалка
Работа содержит ответы на вопросы для экзамена по дисциплине "Информатика".
Структуры данных формируются с помощью типов данных, ссылок и операций над ними в выбранном языке программирования.
Различные виды структур данных подходят для различных приложений; некоторые из них имеют узкую специализацию для определённых задач. Например, B-деревья обычно подходят для создания баз данных, в то время как хеш-таблицы используются повсеместно для создания различного рода словарей, например, для отображения доменных имён в интернет-адреса компьютеров.
При разработке программного
обеспечения сложность реализации и качество
работы программ существенно зависит
от правильного выбора структур данных.
Это понимание дало начало формальным
методам разработки и языкам программирования, в которых именно
структуры данных, а не алгоритмы, ставятся
во главу архитектуры программного средства.
Большая часть таких языков обладает определённым
типом модульности, позволяющим структурам
данных безопасно переиспользоваться в различных приложениях. Объектно-
Многие классические
структуры данных представлены в стандартных
библиотеках языков программирования
или непосредственно встроены в языки
программирования. Например, структура
данных хэш-таблица встроена в языки программирования Lua, Perl, Py
Фундаментальными
строительными блоками для большей части
структур данных являются массивы, записи (stru
Информационное моделирование
Табличные модели. Одним из наиболее часто используемых типов информационных моделей является таблица, которая состоит из строк и столбцов.
Построим, например, табличную информационную модель, отражающую стоимость отдельных устройств компьютера. Пусть в первом столбце таблицы содержится перечень объектов (устройств), входящих в состав компьютера, а во втором – их цена.
Рисунок 9.2. Информационная табличная модель
С помощью таблиц создаются информационные модели в различных предметных областях. Широко известно табличное представление математических функций, статистических данных, расписаний поездов и самолетов, уроков и т. д.
Табличные информационные модели проще всего формировать и исследовать на компьютере посредством электронных таблиц и систем управления базами данных.
Иерархические модели
Нас окружает множество различных объектов, каждый из которых обладает определенными свойствами. Однако некоторые группы объектов имеют одинаковые общие свойства, которые отличают их от объектов других групп.
Группа объектов, обладающих одинаковыми общими свойствами, называется классом объектов. Внутри класса могут быть выделены подклассы, объекты которых обладают некоторыми особенными свойствами, в свою очередь, подклассы можно делить на еще более мелкие группы и т. д. Такой процесс называется процессом классификации.
При классификации объектов часто применяются информационные модели, которые имеют иерархическую (древовидную) структуру. В иерархической информационной модели объекты распределены по уровням, причем элементы нижнего уровня – входят в состав одного из элементов более высокого уровня. Например, весь животный мир рассматривается как иерархическая система (тип, класс, отряд, семейство, род, вид), для информатики характерна иерархическая файловая система и т. д.
Рисунок 9.3. Информационная иерархическая модель
На рисунке 9.3 изображена информационная модель, которая позволяет классифицировать современные компьютеры. Полученная информационная структура напоминает дерево, которое растет сверху вниз (именно поэтому такие информационные модели называют иногда древовидными). В структуре четко просматриваются три уровня: от первого, верхнего, имеющего один элемент Компьютеры, мы спускаемся до третьего, нижнего, имеющего три элемента Настольные, Портативные, Карманные.
Сетевые информационные модели
Сетевые информационные модели применяются для отражения систем со сложной структурой, в которых связь между элементами имеет произвольный характер.
Рисунок 9.4. Сетевая информационная модель
6.
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ЭВМ. ОБЩАЯ ХАРАКТЕРИСТИКА, СОСТАВ И НАЗНАЧЕНИЕ ОСНОВНЫХ ВИДОВ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ КОМПЬЮТЕРА
Программное обеспечение — это совокупность программ, позволяющих осуществить на компьютере автоматизированную обработку информации. Программное обеспечение делится на системное (общее) и прикладное (специальное).
Системное программное обеспечение обеспечивает функционирование и обслуживание компьютера, а также автоматизацию процесса создания новых программ. К системному программному обеспечению относятся: операционные системы и их пользовательский интерфейс; инструментальные программные средства; системы технического обслуживания.
Операционная система — обязательная часть специального программного обеспечения, обеспечивающая эффективное функционирование персонального компьютерра в различных режимах, организующая выполнение программ и взаимодействие пользователя и внешних устройств с ЭВМ.
Пользовательский интерфейс (сервисные программы) — это программные надстройки операционной системы (оболочки и среды), предназначенные для упрощения общения пользователя с операционной системой.
Программы, обеспечивающие интерфейс, сохраняют форму общения (диалог) пользователя с операционной системой, но изменяют язык общения (обычно язык команд преобразуется в язык меню). Сервисные системы условно можно разделить на интерфейсные системы, оболочки операционных систем и утилиты.
Интерфейсные системы — это мощные сервисные системы, чаще всего графического типа, совершенствующие не только пользовательский, но и программный интерфейс операционных систем, в частности, реализующие некоторые дополнительные процедуры разделения дополнительных ресурсов.
Оболочки операционных систем предоставляют пользователю качественно новый по сравнению с реализуемым операционной системой интерфейс и делают необязательным знание последнего.
Утилиты автоматизируют выполнение отдельных типовых, часто используемых процедур, реализация которых потребовала бы от пользователя разработки специальных программ. Многие утилиты имеют развитый диалоговый интерфейс с пользователем и приближаются по уровню общения к оболочкам.
Инструментальные программные средства (системы программирования) — обязательная часть программного обеспечения, с использованием которой создаются программы. Инструментальные программные средства включают в свой состав средства написания программ (текстовые редакторы); средства преобразования программ в вид, пригодный для выполнения на компьютере (ассемблеры, компиляторы, интерпретаторы, загрузчики и редакторы связей), средства контроля и отладки программ.
Текстовые редакторы позволяют удобно редактировать, формировать и объединять тексты программ, а некоторые — и контролировать синтаксис создаваемых программ.
Программа, написанная на алгоритмическом языке, должна быть преобразована в объектный модуль, записанный на машинном языке (в двоичных кодах). Подобное преобразование выполняется трансляторами (ассемблером — с языка Assembler и компиляторами — с языков высокого уровня). Для некоторых алгоритмических языков используются интерпретаторы, не создающие объектный модуль, а при каждом очередном выполнении программы переводящие каждую ее отдельную строку или оператор на машинный язык. Объектный модуль обрабатывается загрузчиком — редактором связей, преобразующие его в исполняемую машинную программу.
Средства отладки позволяют выполнять трассировку программ (пошаговое выполнение с выдачей информации о результатах исполнения), производить проверку синтаксиса программы и промежуточных результатов в точках останова, осуществлять модификацию значений переменных в этих точках.
Системы технического и сервисного обслуживания представляют собой программные средства контроля, диагностики и восстановления работоспособности компьютера, дисков и т. д.
Прикладное программное обеспечение обеспечивает грешение пользовательских задач. Ключевым понятием здесь является пакет прикладных программ.
Пакет прикладных программ — это совокупность программ для решения круга задач по определенной тематике или предмету. Различают следующие типы пакетов прикладных программ:
общего назначения — ориентированы на автоматизацию широкого круга задач пользователя (текстовые процессоры, табличные редакторы, системы управления базами данных, графические процессоры, издательские системы, системы автоматизации проектирования и т. д.);
методо-ориентированные — реализация разнообразных экономико-математических методов решения задач (математического программирования, сетевого планирования и управления, теории массового обслуживания, математической статистики и т. д.);
проблемно-ориентированные — направлены на решение определенной задачи (проблемы) в конкретной предметной области (банковские пакеты, пакеты бухгалтерского учета, финансового менеджмента, правовых справочных систем и т. д.).
К прикладному программному обеспечению относятся сервисные программные средства, которые служат для организации удобной рабочей среды пользователя, а также для выполнения вспомогательных функций (информационные менеджеры, переводчики и т. д.).
7.
Что такое парадигма вообще? Можно сказать, что это определенный взгляд на явления окружающего мира и представление о возможных действиях с ними. В программировании под парадигмой принято понимать обобщение о том, как должна быть организована работа программы.
Среди прочего выделяют такие
парадигмы программирования какдирективное (структурное), объектно-
Структурное программирование
Некоторые представители: Fortran, Pascal, C.
Директивная программа предписывает, как достичь результата, пошагово описывая действия. Поэтому такое программирование является достаточно легким для понимания.
В структурном программировании от входных данных полностью зависит последовательность выполнения команд.
В директивном программировании в свое время возникла концепция локализации части кода в так называемые подпрограммы (функции, методы), с последующим их вызовом из разных мест основной программы. При вызове в подпрограмму могут передаваться какие-либо данные в виде аргументов; а подпрограмма, в свою очередь, может возвращать в главную программу результат (т.е. полученные в ходе ее выполнения данные).
Функциональное и логическое программирование
Представители функциональных языков: List, Haskell.
Представитель логических языков: Prolog.
Декларативная программа заявляет (декларирует), что должно быть достигнуто в качестве цели. Важным является точная формулировка задачи. Программист не задает алгоритм для ее решения.
Функциональное программирование основано на математическом понятии функции, которая не изменяет свое окружение; это отличие функционального программирования от функций в структурных языках. Функциональная программа состоит из совокупности определений функций, которые в свою очередь представляют собой вызовы других функций и предложений, управляющих последовательностью вызовов. Каждая функция возвращает некоторое значение в вызвавшую его функцию, вычисление которой после этого продолжается; этот процесс повторяется до тех пор, пока не будет достигнут результат.
В логическом программировании программы выражены в виде формул математической логики, и решение задачи достигается путем вывода логических следствий из них.
Объектно-ориентированное программирование
Представители объектно-ориентированных языков: С++, Java, Python.
Особое внимание уделяется данным, которые представляются в программе в виде объектов. Объекты взаимодействуют между собой с помощью механизма передачи сообщений. Задача программиста - реализовать такие объекты, при взаимодействии которых можно будет получать желаемый результат.
ООП призвано решать более сложные и объемные задачи по сравнению с директивным программированием.
В основе ООП лежат такие понятия
как наследование, полиморфизм
Инкапсуляция предполагает, что малозначащие детали объекта скрыты. Объект, получая какую-либо команду, сам «знает» как ее обработать исходя из того, к какому классу он принадлежит.
Все объекты являются экземплярами классов, которые по отношению друг к другу могут выступать в роли родитель-потомок. Дочерние классы наследуют свойства родительского. В случае, когда 100% наследование не требуется, выручает так называемый полиморфизм, который предполагает переопределение методов родительского класса в дочерних классах.