
- •Вопросы к экзамену по информатике
- •1.Кодирование текстовой информации.
- •2.Понятие файла. Файловый принцип организации данных. Операции с файлами.
- •3. Кодирование графической информации. Растровая и векторная графика. Средства и технологии работы с графикой. Форматы графических файлов. Способы сжатия.
- •Векторное и фрактальное изображения
- •4. Кодирование звуковой информации.
- •5.Архитектура современных компьютеров. Основные устройства компьютера, их функции и взаимосвязь. Магистрально-модульный принцип построения компьютера.
- •6.Классификация и характеристика программного обеспечения компьютера. Взаимосвязь аппаратного и программного обеспечения компьютера. Многообразие операционных систем.
- •7.Компьютерные вирусы и антивирусные программы. Специализированное программное обеспечение для защиты программ и данных.
- •8.Основные понятия и операции формальной логики. Законы логики. Логические переменные. Логические выражения и их преобразования. Построение таблиц истинности.
- •9.Логические элементы и схемы. Типовые логические устройства компьютера, полусумматор, сумматор, триггеры, регистры.
- •10.Операционная система: понятие, основные функции. Примеры операционных систем.
- •11.Понятие информации. Виды информационных процессов. Поиск и систематизация информации. Основные информационные процессы: храпение, передача и обработка информации.
- •2. Сбор информации
- •3. Передача информации
- •12.Вероятностный и алфавитный подходы к измерению информации. Единицы измерения информации. Скорость передачи информации. Пропускная способность канала связи.
- •13. Характеристики процессора и внутренней памяти компьютера (быстродействие, разрядность, объем памяти и др.).
- •14. Внешняя память компьютера. Носители информации (гибкие диски, жесткие диски, сd-rом диски, магнитооптические диски и пр.) и их основные характеристики.
- •15. Технологии работы с текстовыми документами. Текстовые редакторы и процессоры.
- •16. Технологии работы с графической информацией.
- •17. Электронные таблицы. Назначение и основные возможности.
- •18. Позиционные и непозиционные системы счисления. Алгоритмы перевода из десятичной системы счислении в произвольную и наоборот.
- •19. Понятие о кодировании информации. Выбор способа представления информации в соответствии с поставленной задачей. Универсальность дискретного (цифрового) представления информации.
- •20. Компьютерные сети, Аппаратные средства компьютерных сетей. Топология локальных сетей. Характеристики каналов (линий) связи.
- •Топологии компьютерных сетей
- •21. Понятие алгоритма. Свойства алгоритмов, исполнители алгоритмов. Автоматическое исполнение алгоритма. Способы описания алгоритмов.
- •Базовые алгоритмические структуры
- •22.Язык программирования. Типы данных. Реализация основных алгоритмических структур на языке программирования. Основные этапы разработки программ.
- •Основные этапы разработки программ
- •23.Технология нисходящего программирования. Разбиение задачи на подзадачи. Процедуры и функции.
- •24.Структуры данных. Обработка массивов. Поиск в массиве. Основные алгоритмы сортировки массивов.
- •26,29. Табличные базы данных (бд): основные понятия (поле, запись, первичный ключ записи); типы данных. Системы управления базами данных и принципы работы с ними.
- •Глобальная компьютерная сеть Интернет.
- •Поиск информации в Интернет
- •30. «Линейная» алгоритмическая структура. Команда присваивания. Привести примеры.
- •31. Алгоритмическая структура «ветвления». Команда ветвления. Привести примеры.
- •32. Алгоритмическая структура «цикл». Команда повторения. Привести примеры.
Основные этапы разработки программ
Разработка законченного программного продукта в виде компьютерной программы — длительный и трудоемкий процесс. Чтобы окончательный вариант программы работал правильно и содержал как можно меньше ошибок, программисты придерживаются полного цикла разработки программы, состоящего из шести базовых этапов:
1.Постановка и анализ задачи. Четкое определение задачи и наборов входных и выходных данных.
2.Разработка алгоритма. Определение зависимости между входными и выходными данными, создание процедуры их преобразования.
3. Разработка пользовательского интерфейса. Определение того, что пользователь должен видеть на экране, как будут вводиться данные, где и в каком формате будут представлены выходные данные.
4. Написание программного кода. Преобразование алгоритма в компьютерную программу на языке высокого уровня.
5. Тестирование и отладка программы. Тестирование -— прогон программы на наборе тестов, для которых известен результат, с целью проверки правильности ее работы. Отладка (debug) — процесс выявления и устранения ошибок в программе.
6. Составление документации. Подготовка документов, содержащих описание программы, включая техническое задание, блок-схемы, предположения, список входных и выходных переменных (часто совмещается с программным кодом), руководства пользователя.
23.Технология нисходящего программирования. Разбиение задачи на подзадачи. Процедуры и функции.
Под алгоритмом, в случае, когда исполнителем является компьютер, можно понимать последовательность команд для процессора. В узком смысле слова, программирование рассматривается как кодирование — реализация одного или нескольких взаимосвязанных алгоритмов на некотором языке программирования. В более широком смысле, программирование — процесс создания программ, т. е. разработка программного обеспечения. Существуют различные технологии программирования. Технология восходящего программирования («снизу вверх») реализуется так:
1. Вначале создаются и отлаживаются самые элементарные подпрограммы (скорее всего используя созданные ранее, хранимые в модулях-библиотеках).
2. Реализуется более крупный блок задачи путем вызова таких подпрограмм.
3. Повторяется пункт 2 до тех пор, пока не реализуется вся задача.
Достоинства этого подхода — уменьшается общий объем работы за счет ранее созданных участков кода.
Недостатки — уже реализованные, отлаженные и протестированные модули иногда приходится разрабатывать заново (так как головной модуль разрабатывается на завершающем этапе).
Технология нисходящего программирования — это создание программы «сверху вниз». Сначала разрабатывается основная программа (общая структура) и в ней записываются обращения к пока еще не написанным вспомогательным подпрограммам; и так далее — до самых простых «неделимых» подпрограмм. Существенный этап такой разработки — определить основные структуры данных и правила их обработки. То есть определить, с какими данными подпрограммы будут работать и что должно быть ими сделано в результате выполнения. При этом для ускорения процесса работы над задачей руководитель может разрабатывать основную программу, а другие сотрудники — подпрограммы.
Этапы решения сложной задачи X сверху вниз:
1.Разбиваем задачу X на несколько функциональных подзадач XI, Х2, ХЗ и т. д., т. е. выполняем ее декомпозицию.
2. Предполагаем, что впоследствии эти части будут разработаны, создаем их спецификации:
вид подпрограммы (процедура или функция);
ее имя; имена и типы формальных параметров, их порядок;
для функции — тип возвращаемого значения;
комментарии, описывающие назначение подпрограммы.
3. Пишем программу решения задачи X, заменив каждую из подпрограмм XI, Х2, ХЗ «заглушками», и отлаживаем ее в таком виде.
Проводим комплексную отладку постепенно, по одной заменяя заглушки на автономно отлаженные подпрограммы.
Достоинства метода программирования «сверху вниз» — серьезные ошибки с большой вероятностью отыскиваются уже на ранних стадиях проекта; тестирование систематично. Недостаток — при отладке поглощается больше машинных ресурсов. Необходимо снижать трудоемкость тестирования и отладки программы.
Процедуры и функции
Подпрограмма - именованная последовательность операторов языка, предназначенная для решения некоторой подзадачи. Часто подпрограмма имеет свои переменные, не пересекающиеся с переменными других подпрограмм или самой программы (если только переменные не были объявлены специальным образом или переданы подпрограмме). Каждая подпрограмма имеет имя, по которому к ней можно обратиться. Основное назначение процедуры — выполнение самостоятельных действий, а функции — возврат значения для использования в выражениях основной программы. Подпрограммы вводятся в основную программу с помощью соответствующего описания, затем к ним можно выполнять обращение. Создание подпрограмм облегчает программирование, так как: 1) не требует многократно повторять в тексте программы аналогичные фрагменты; 2) улучшает структуру, облегчая ее понимание; 3) уменьшает вероятность появления ошибок (отлаживается отдельно); позволяет очень длинную программу разбить на части; позволяет использовать подпрограммы в других программах.
Процедура начинается с заголовка, за ним следует имя, а в круглых скобках — список формальных параметров. Процедура может получить из основной программы несколько переменных (фактических параметров) для изменения их значений. Чтобы выполнить процедуру, к ней следует обратиться из основной программы с фактическими параметрами. Количество, тип и порядок следования формальных и фактических параметров должны совпадать.
Функция предназначена для того, чтобы возвращать одно значение, оно и является ее результатом. Описание функции начинается с заголовка, за ним следует имя, а в круглых скобках — список формальных параметров: Функция или процедура — самостоятельная часть программы, имеющая собственные переменные, которым отводится отдельное, не зависящее от основной программы, место в памяти компьютера.