Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Омарова

.docx
Скачиваний:
13
Добавлен:
26.02.2016
Размер:
350.89 Кб
Скачать

Линейным

Ветвящимся

циклическими.

22) Структуры данных

Структура данных относится, по существу, к "пространственным" понятиям: ее можно свести к схеме организации информации в памяти компьютера.

Структуры данных, применяемые в алгоритмах, могут быть чрезвычайно сложными

Понятие "физическая структура данных" отражает способ физического представления данных в памяти машины и называется еще структурой хранения, внутренней структурой или структурой памяти.

Различаются простые (базовые, примитивные) структуры (типы) данных и интегрированные (структурированные, композитные, сложные). Простыми называются такие структуры данных, которые не могут быть расчленены на составные части большие, чем биты

Интегрированными называются такие структуры данных, составными частями которых являются другие структуры данных - простые или в свою очередь интегрированные

23) Типы данных

Тип - относительно устойчивая, независимая совокупность элементов, которую можно выделить во всем рассматриваемом множестве (предметной области} Типы данных бывают следующие:

Простые.

Перечислимый тип может хранить только те значения, которые прямо указаны в его описании:

-числовые. Хранятся числа, могут применяться обычные арифметические операции;

-целочисленные: со знаком, то есть могут принимать как положительные, так и отрицательные значения, и без знака, то есть могут принимать только неотрицательные значения;

-вещественные: с запятой и с плавающей запятой;

-числа произвольной точности, обращение с которыми происходит посредством длинной арифметики;

-символьный тип. Хранит один символ, могут использоваться различные кодировки;

-логический тип: имеет два значения: истина и ложь, могут применяться логические операции.

-множество. В основном совпадает с обычным математическим понятием множества.

Составные (сложные).

- массив — упорядоченный набор данных, для хранения данных одного типа, идентифицируемых с помощью одного или нескольких индексов.

- строковый тип. Хранит строку символов. Аналогом сложения в строковой алгебре является конкатенация

- запись (структура). Набор различных элементов (полей записи), хранимый как единое целое

- файловый тип. Хранит только однотипные значения, доступ к которым осуществляется только последовательно

24) Алгоритмы сортировки и поиска

Поиск — обработка некоторого множества данных с целью выявления подмножества данных, соответствующего критериям поиска.

Все алгоритмы поиска делятся на

поиск в неупорядоченном множестве данных;

поиск в упорядоченном множестве данных

Сортировка - упорядочение (перестановка) элементов в подмножестве данных по какому-либо критерию. Чаще всего в качестве критерия используется некоторое числовое поле, называемое ключевым.

Цель сортировки — облегчить последующий поиск элементов в отсортированном множестве при обработке данных.

Все алгоритмы сортировки делятся на

алгоритмы внутренней сортировки (сортировка массивов);

алгоритмы внешней сортировки (сортировка файлов).

Методы сортировки массивов можно разбить на три класса:

сортировка включениями;

сортировка выбором;

сортировка обменом.

25) Рекурсии, рекуррентности и итерации

Рекурсией называется такой способ организации обработки данных, при котором программа (или функция) вызывает сама себя или непосредственно, или из других программ (функций).

Функция называется рекурсивной, если во время ее обработки возникает ее повторный вызов, либо непосредственно, либо косвенно, путем цепочки вызовов других функций.

Итерацией называется такой способ организации обработки данных, при котором некоторые действия многократно повторяются, не приводя при этом к рекурсивным вызовам программ (функций).

Перед написанием рекурсивных функций на любом языке программирования, как правило, необходимо записать рекуррентное соотношение, определяющее метод вычисления функций. Рекуррентное соотношение должно содержать как минимум два условия:

I) условие продолжения рекурсии (шаг рекурсии);

II) условие окончания рекурсии.

26) Конечные автоматы. Машина Тьюринга и машина Поста

Машина Тьюринга - конечный автомат с подсоединенной к нему лентой бесконечной длины, на которую он может записывать выходные сигналы и которая является в то же время источником входных сигналов.

Чтобы управлять процессом считывания и записи, машина может передвигать ленту влево, вправо, либо оставлять на месте. Важная особенность этой модели - дискретность. Лента считается разделенной на клетки, в каждую из которых записывается только один символ. Лента машины Тьюринга является ее важнейшим элементом, она моделирует всю внешнюю среду

Машину Тьюринга можно описать:

с помощью таблицы (в таблице, кроме нового состояния и выходного символа, нужно описать еще и результат сдвига ленты).

в виде графа, при этом результат сдвига ленты можно записывать в вершину графа (дуги, соответствующие сохранению состояния и символа на ленте, когда входной символ,  считывающийся с ленты, совпадает с выходным символом, который пишется на ленту, можно опускать, чтобы не перегружать схему).

Машина Поста – это абстрактная (несуществующая реально) вычислительная машина, созданная для уточнения (формализации) понятия алгоритма. Представляет собой универсальный исполнитель, позволяющий вводить начальные данные и читать результат выполнения программы.

Текущее состояние машины Поста описывается состоянием ленты и положением каретки. Состояние ленты – информация о том, какие секции пусты, а какие отмечены. Шаг – это движение каретки на одну ячейку влево или вправо. Состояние ленты может изменяться в процессе выполнения программы.

27)Программирование на алгоритмических языках

Алгоритмический язык программирования — формальный язык, используемый для записи, реализации и изучения алгоритмов. В отличие от большинства языков программирования, алгоритмический язык не привязан к архитектуре компьютера, не содержит деталей, связанных с устройством машины.

служебные слова алгоритмического языка

алг (алгоритм)

арг (аргумент)

рез (результат)

нач (начало)

кон (конец)

цел (целый)

вещ (вещественный)

сим (символьный)

лит (литерный, строка)

лог (логический)

таб(таблица)

28) Парадигмы программирования

На сегодняшний день имеются четыре основные парадигмы языков программирования

императивная;

функциональная;

декларативная;

объектно-ориентированная

Императивные (процедурные) языки — это языки программирования, управляемые командами, или операторами языка

В языках функционального программирования (аппликативных языках) вычисления в основном производятся путем применения функций к заданному набору данных. Ключевым понятием в функциональных языках является выра­жение.

Декларативные языки программирования - это языки программирования, в которых операторы представляют собой объявления или высказывания в символьной логике

Объектно-ориентированное программирование базируется на трех ключевых концепциях — инкапсуляции, наследовании и полиморфизме

29)Обзор языков программирования

Компьютерная программа представляет собой логически упорядоченную последовательность команд, предназначен­ных для управления компьютером

Процессор компьютера — это большая интегральная схема.

Таким образом, процессор исполняет программы, представляющие собой последовательность чисел и называемые машинным кодом.

Сегодня практически все программы создаются с помощью язы­ков программирования.

Языки программированияэто формальные искусственные язы­ки. Как и естественные языки, они имеют алфавит, словарный запас, грамматику и синтаксис, а также семантику.

Алфавит — разрешенный к использованию набор символов, с помощью которого могут быть образованы слова и величины данного языка.

Словарный состав или лексика языка - это совокупность употребляемых в нем слов, т.е. правильных слов данного языка.

Грамматика - это конечная система правил, определяющих язык.

Грамматика определяет способы построения изменения и сочетания слов.

Синтаксис — система правил, определяющих допустимые конст­рукции языка программирования из букв алфавита.

Семантика - система правил однозначного толкования каждой языковой конструкции, позволяющих производить процесс обработ­ки данных.

30) Структура программ

Программа на языке Pascal всегда состоит из двух основных частей: описания последовательности действий, которые необходимо выполнить, и описания данных, с которыми оперируют действия. Действия представляются операторами языка, данные вводятся посредством описаний и определений. Кроме того, программа может быть снабжена заголовком, который задаст имя программы и ее параметры.

Описания данных текстуально предшествуют описанию действий и должны содержать упоминание всех объектов, используемых в действиях (операторах).

31) Основные конструкции языков

Языки программированияэто формальные искусственные язы­ки. Как и естественные языки, они имеют алфавит, словарный запас, грамматику и синтаксис, а также семантику

Синтаксис — система правил, определяющих допустимые конст­рукции языка программирования из букв алфавита.

Семантика - система правил однозначного толкования каждой языковой конструкции, позволяющих производить процесс обработ­ки данных.

Взаимодействие синтаксических и семантических правил опре­деляет основные понятия языка, такие как операторы, идентифика­торы, константы, переменные, функции, процедуры и т.д.

Языки программирования, имитирующие естественные, обладающие укрупненными командами, ориентированные «на человека», называют языками высокого уровня. Чем выше уровень языка, тем ближе структуры данных и конструкции, использующиеся в програм­ме, к понятиям исходной задачи

32)

33) Процедуры, подпрограммы, функции и методы

отдельные программные единицы — подпрограммы (процедуры)

Любая программа, готовая к самостоятельному исполнению, состоит из единственной головной (или главной) программы, с которой начинается работа, и некоторого количества подчиненных ей подпрограмм

Подпрограммы, поставляемые в составе системы программирования, обычно называют стандартными или системными

Подпрограммы решают три важные задачи:

избавляют от необходимости многократно повторять в тексте программы аналогичные фрагменты;

улучшают структуру программы, облегчая ее понимание;

повышают устойчивость к ошибкам программирования и непредвидимым последствиям при модификациях программы.

Стандартная подпрограмма (процедура или функция) - подпрограмма, включенная в библиотеку программ ЭВМ, доступ к которой обеспечивается средствами языка программирования.

34) тестирование и отладка программного кода.

Тестирование и отладка составляют заключительный этап разработки программы решения задач. Тестирование представляет собой совокупность действий, предназначенных для демонстрации правильности работы программы в заданных диапазонах изменений внешних условий и режимов эксплуатации программы.

Процессу тестирования сопутствует понятие отладка, которое подразумевает совокупность действий, направленных на устранение ошибок в программах

После завершения процесса тестирования и отладки программные средства вместе с сопроводительной документацией передаются пользователю для эксплуатации. Этап эксплуатации делится на экспериментальную (опытную) и промышленную эксплуатацию.

35) основные концепции операционных систем

Одной из составляющей информатики является — программное обеспечение (ПО)

На низшем уровне находятся комплексы программ, осуществля­ющих интерфейсные функции

Следующий уровень — это служебное программное обеспечение

Инструментальное программное обеспечение представляет комп­лексы программ для создания других программ.

Прикладное программное обеспечение — самый большой по объе­му класс программ, это программы конечного пользователя

Центральное место в структуре ПО занимает операционная система (ОС)

Операционная система (англ. operating system) — базовый комплекс компьютерных программ, обеспечивающий интерфейс с пользователем, управление аппаратными средствами компьютера, работу с файлами, ввод и вывод данных, а также выполнение прикладных программ и утилит.

Операционная система – программа, которая загружается при включении компьютера. Она осуществляет диалог с пользователем, управление компьютером,

Основные функции (простейшие ОС):

загрузка приложений в оперативную память и их выполнение;

стандартизованный доступ к периферийным устройствам (устройства ввода-вывода);

управление оперативной памятью (распределение между процессами, виртуальная память);

управление доступом к данным на энергонезависимых носителях (таких как жесткий диск, компакт-диск и т.д.), как правило с помощью файловой системы;

пользовательский интерфейс;

сетевые операции, поддержка стека протоколов

Дополнительные функции:

параллельное или псевдопараллельное выполнение задач (многозадачность);

взаимодействие между процессами: обмен данными, взаимная синхронизация;

защита самой системы, а также пользовательских данных и программ от злонамеренных действий пользователей или приложений;

разграничение прав доступа и многопользовательский режим работы (аутентификация, авторизация).

36) Функционирование типичной операционной системы.

Функционирование - это поддержание жизнедеятельности, сохранение функций, определяющих целостность операционной системы и ее существенные характеристики

Развитие - это приобретение операционной системой нового качества, укрепляющего жизнеспособность в условиях внешней среды, изменяется

Функционирование и развитие теснейшим образом взаимосвязаны и отражают единство основных тенденций операционных систем любого вида и типологии Эта связь обеспечивается режимом функционирования (ре ежим - установленный график работы).

Режим функционирования - это совокупность параметров и условий функционирования, обеспечивающие предусмотрено технологией создания продукта, а также сохранение и текущее воспроизведение элементов операционной систе ем.

37) Управление процессами .

Понятие процесса играет ключевую роль и вводится применительно к каждой программе отдельного пользователя

Процессом называют програм­му в момент ее выполнения

Все современные компьютеры могут выполнять одновременно несколько операций

Процессы могут создаваться не только в момент загрузки систе­мы. Так текущий процесс может создать один или несколько новых процессов

Процесс является независимым объектом со своим счетчиком команд и внутренним состоянием, однако существует необходимость взаимодействия с другими процессами

Модель процессов упрощает представление о внутреннем пове­дении системы.

Процесс — выполнение пассивных инструкций компьютерной программы на процессоре ЭВМ

Для описания состояний процессов используется несколько моделей. Самая простая модель - это модель трех состояний. Модель состоит из:

состояния выполнения

состояния ожидания

состояния готовности

38) управление памятью

Память является важнейшим ресурсом, требующим тщательного управления со стороны мультипрограммной операционной системы. Распределению подлежит вся оперативная память, не занятая операционной системой. Обычно ОС располагается в самых младших адресах, однако может занимать и самые старшие адреса. Функциями ОС по управлению памятью являются: отслеживание свободной и занятой памяти, выделение памяти процессам и освобождение памяти при завершении процессов, вытеснение процессов из оперативной памяти на диск, когда размеры основной памяти не достаточны для размещения в ней всех процессов, и возвращение их в оперативную память, когда в ней освобождается место, а также настройка адресов программы на конкретную область физической памяти.

39) Файловые системы

При наличии большого числа программ и данных необходим строгий их учет и систематизация

Организовать упорядоченное управление всеми этими объектами позволяет файловая система.

файловая система - это система управления данными

Файловая система — еще одно базовое понятие, поддерживаемое виртуально всеми ОС

Файловая система характеризует способ хранения и поиска ин­формации на внешнем носителе — жестком диске

Данные в ПК размещены по иерархическому принципу: на верхнем уровне — логический диск, на втором уровне — папки (ка­талоги), на третьем - файлы/папки

Логический диск — это логическая единица жесткого диска ПК

Папки (каталоги, директории) - элементы файловой структуры, отвечающие за систематизацию информации в файловой системе

Файл — это поименованная область на носителе информации (диске), содержащая данные

40) Утилиты, их типы. Драйвера , их типы.

Утилиты предоставляют пользователю дополнительные услуги (не требующие разработки специальных программ) в основном по обслуживанию дисков и файловой системы.

Утилиты чаще всего позволяют выполнять следующие функции:

обслуживание дисков (форматирование, архивация, сжатие, обеспечение сохранности информации, возможности ее восстановления в случае сбоя и т.д.);

обслуживание файлов и каталогов (аналогично оболочкам);

создание и обновление архивов;

предоставление информации о ресурсах компьютера, о дисковом пространстве, о распределении ОЗУ между программами;

печать текстовых и других файлов в различных режимах и форматах;

защита от компьютерных вирусов.

Утилиты - это служебные программы, которые предоставля­ют пользователю ряд дополнительных услуг

К утилитам относят следующие программные средства: дисковые компрессоры; дисковые дефрагментаторы; программы резервного копирования данных; архиваторы; программы, опти­мизирующие использование оперативной памяти; программы за­щиты и восстановления данных; антивирусные программы и др

У контроллера каждого устройства есть набор регистров, исполь­зуемых для того, чтобы давать управляемому устройству команды и считывать состояние устройства. Такая программа управления каждым устройством ввода-вывода, подключенным к компьютеру, называется драйвером устройства

Операционная система обычно классифицирует драйверы по нескольким категориям в соответствии с типами обслуживаемых ими устройств. К наиболее общим категориям относятся блочные и символьные устройства, такие как клавиатуры и принтеры, формирующие или принимающие поток символов.

Драйвер устройства выполняет несколько функций:

1) обработку абстрактных запросов чтения и записи независи­мого от устройств и расположенного над ними программного обес­печения;

2) инициализацию устройства;

3) управление энергопотреблением устройства и регистрацией событий;

4) проверку входных параметров. Если они не удовлетворяют оп­ределенным критериям, драйвер возвращает ошибку. В противном случае драйвер преобразует абстрактные термины в конкретные. На­пример, дисковый драйвер может преобразовывать линейный номер блока в номера головки, дорожки и секторы;

5) проверку использования устройства в данный момент. Если ус­тройство занято, запрос может быть поставлен в очередь

41) Системы растровой и векторной графики

Системы программирования ­­­– это комплекс инструментальных программных средств, предназначенных для работы с программами на одном из языков программирования.

В настоящее время разработка любого системного и прикладного программного обеспечения осуществляется с помощью систем программирования, в состав которых входят: Трансляторы с языков высокого уровня; Средства редактирования, компоновки и загрузки программ; Макроассемблеры (машинно-ориентированные языки); Отладчики машинных программ.

Системы программирования, как правило, включают в себя: Текстовый редактор (Edit), осуществляющий функции записи и редактирования исходного текста программы; Загрузчик программ(Load), позволяющий выбрать из директория нужный текстовый файл программы; Запускатель программ (Run), осуществляющий процесс выполнения программы; Компилятор (Compile), предназначенный для компиляции или интерпретации исходного текста программы в машинный код с диагностикой синтаксических и семантических (логических) ошибок; Отладчик (Debug), выполняющий сервисные функции по отладке и тестированию программы; Диспетчер файлов (File), предоставляющий возможность выполнять операции с файлами: сохранение, поиск, уничтожение и т.п.

42) Обзор современного прикладного программного обеспечения.

Прикладное программное обеспечение предназначено для разработки и выполнения конкретных задач (приложений) пользователя.

Пакет прикладных программ (ППП) – это комплекс программ, предназначенный для решения задач определенного класса. Различают следующие виды ППП:

общего назначения (универсальные),

методо-ориентированные,

проблемно-ориентированные,

глобальных сетей,

организации вычислительного процесса.

Универсальные программные продукты являются функциональными пакетами сбора, хранения, обработки, отображения и транспортировки

К этому классу ППП относятся:

редакторы текстовые и графические,

электронные таблицы,

системы управления базами данных (СУБД),

интегрированные пакеты,

CASE-технологии,

оболочки экспертных систем и систем искусственного интеллекта.

Редакторы – ППП, предназначенные для создания и изменения текстов документов, графических данных и иллюстраций

Интегрированные пакеты ППП - это объединяющие в себе функционально-различные программные компоненты ППП общего назначения. Современные интегрированные пакеты могут включать в себя:

текстовый редактор,

электронную таблицу,

графический редактор,

СУБД,

коммуникационный модуль.

Методо-ориентированные ППП имеют в своей основе какой-либо экономико-математический метод решения задачи

Проблемно-ориентированные пакеты - это программные продукты, предназначенные для решения какой-либо задачи в конкретной функциональной области

43) Табличные процессоры.

Табли́чный проце́ссор — категория программного обеспечения, предназначенного для работы с электронными таблицами. Изначально табличные редакторы позволяли обрабатывать исключительно двухмерные таблицы, прежде всего с числовыми данными, но затем появились продукты, обладавшие помимо этого возможностью включать текстовые, графические и другие мультимедийные элементы

Электро́нные табли́цы (или табличные процессоры) - это прикладные программы, предназначенные для проведения табличных расчетов. В электронных таблицах предусмотрен также графический режим работы, который дает возможность графического представления (в виде графиков, диаграмм) числовой информации, содержащейся в таблице.

44) системы растровой и векторной графики.

Различают три вида компьютерной графики: растровую графику, векторную графику и фрактальную графику

Растровое изображение представляет собой сетку, или растр, ячейки которой называются пикселями. Каждый пиксел в рас­тровом изображении имеет строго определенное положение и цвет

Растровые изображения обеспечивают достаточно высокую точность передачи градаций цветов и полутонов, поэтому они являются оптимальным средством представления тоновых ори­гиналов

Векторное представление изображения кардинально отличается от растрового. Его принцип состоит в том, что описываются только основные точки изображения, а промежуточные достраиваются между ними по определенным математическим законам.

Для описания векторного графического объекта существует множество способов. Самый удобный и распространенный из них — так называемые кривые Безье. Придумал эту модель в 1968 году французский инженер-математик Пьер Безье

Программные средства для работы с фрактальной графикой предназначены для автоматической генерации изображений путем математических расчетов

45) графические редакторы.

Для работы с графическими изображениями существует большое количество различных программ и пакетов, которые называются графическими редакторами.

Редакторы растровой графики

Microsoft Paint - простой (или лучше сказать - простейший) редактор, входящий в стандартную поставку операционных систем Microsoft

Adobe Photoshop - на сегодняшний день это самый мощный пакет для профессиональной обработки растровой графики

PhotoPaint - еще один не менее известный графический редактор (из пакета Corel Draw) для обработки растровой графики

Painter - редактор предоставляет великолепные возможности для эмуляции реальных инструментов рисования: графит, мел, масло и т.д

Редакторы векторной графики

Adobe Illustrator - пакет позволяет создавать, обрабатывать и редактировать векторную графику

CorelDraw - безусловно, такой известный графический пакет не мог обойтись без средств для обработки векторной графики

Трёхмерная графика (3D, 3 Dimensions, измерения) - раздел компьютерной графики, охватывающий алгоритмы и программное обеспечение для оперирования объектами в трёхмерном пространстве

Последние годы устойчивыми лидерами в этой области являются коммерческие продукты: такие как Autodesk 3DS Max, Maya, Newtek LightWave, SOFTIMAGE XSI и сравнительно новые Rhinoceros 3D, Cinema 4D или ZBrush

46)Мультимедийные приложения

Мультимедиа –технология, описывающая порядок разработки, функционирования и применения средств обработки информации различных видов ;

Мультимедиа –компьютерное аппаратное обеспечение (наличие в компьютере CD-Rom Drive – устройства для чтения компакт-дисков, звуковой и видеоплаты, с помощью которых возможно воспроизведение звуковой и видеоинформации, джойстика и других специальных устройств) ;

Мультимедиа – это объединение нескольких средств представления информации в одной системе. Обычно под мультимедиа подразумевается объединение в компьютерной системе таких средств представления информации, как текст, звук, графика, мультипликация, видеоизображения и пространственное моделирование

Если говорить о мультимедиа как о некоторой технологии представления информации, то необходимо упомянуть два аспекта – аппаратный и программный.

Мультимедийные приложения: энциклопедии, интерактивные курсы обучения по всевозможным предметам, игры и развлечения, работа с Интернет, тренажёры, средства торговой рекламы, электронные презентации,

Анимация – технология мультимедиа; воспроизведение последовательности картинок, создающее впечатление движущегося изображения. Эффект движущегося изображения возникает при частоте смены видеокадров более 16 кадров в секунду