- •1 Семестр
- •Понятие информатики и ее роль в жизни общества.
- •Понятие информации. Источники, характеристики и формы существования информации. Процесс формирования информации.
- •Понятие и виды информационных процессов. Свойства информации.
- •Понятие количества информации. Способы измерения количества информации.
- •Понятие и виды систем счисления (сс). Правила перевода из 10-ой сс в другие позиционные системы счисления. Правила перевода из 2 сс в 8 или 16 сс.
- •Представление символьной информации. Кодовые таблицы.
- •Представление звука в памяти эвм. Способы хранения цифрового звука. Привести примеры форматов звуковых файлов.
- •Представление графической информации в памяти эвм: растровый и векторный способы Привести примеры основных растровых и векторных форматов файлов.
- •Эволюция эвм. Классификация эвм.
- •Понятие архитектуры и структуры эвм. Принципы Фон Неймана.
- •Принцип работы фон неймовской эвм.
- •Архитектура современных эвм.
- •Система команд эвм: понятие команды, формат команды, виды команд.
- •Способ поиска операндов в памяти эвм.
- •Понятие и классификация программного обеспечения эвм.
- •Понятие и виды системного программного обеспечения. Базовая система ввода-вывода.
- •Операционная системы: функции, базовые понятия (процесс, поток, память, разрядность).
- •Виды операционных системы (ос) и архитектура ос для персонального компьютера. Командный процессор ос.
- •Программы управления вводом-выводом.
- •Понятие и функции файловых систем.
- •Понятие файла, каталога, форматирования диска, кластера. Схема взаимодействия файловой системы с жестким диском.
- •Файловые системы для операционной системы Windows: fat16, fat32, ntfs.
- •Понятие и виды служебных программ. Программы архивации данных. Алгоритм Хаффмана.
- •Понятие, свойства и способы записи алгоритмов. Блок-схема алгоритма.
- •Типы алгоритмов.
- •Понятие и классификация структур данных. Понятие типа данных.
- •Переменные, константы и массивы.
- •Стек, очередь, дек.
- •Метод сортировки одномерного массива выбором.
- •Простая обменная сортировка одномерного массива (метод пузырька).
- •Метод сортировки одномерного массива Шелла.
- •Понятие программирования, языка программирования, алфавит, синтаксис, семантика языка.
- •Классификация языков программирования.
- •Операции над данными в языке с.
- •Оператора передачи управления: безусловные (goto) и условные (if, switch) языка с. Оператор goto
- •Условные операторы
- •I Рис.1. F (выражение)
- •I Рис.2. F (выражение)
- •If (выражение1)
- •If (выражение1)
- •If (выражение2)
- •Множественный выбор: оператор switch
- •Операторы организации циклов и continue, break языка с.
- •Оператор break
- •Оператор continue
- •Ввод/вывод данных в языке с.
- •Функции вывода данных библиотеки libс.Функции ввода данных библиотеки libс.
I Рис.2. F (выражение)
оператор1
else
оператор2
Если "выражение" истинно, то выполняется "оператор 1", если ложно, то выполняется "оператор 2".
Примеры:
if ( x > y ) printf (" Мы победили!\n");
else printf (" Мы проиграли!\n");
if ( n < 10 )
{
y = x – 1;
n++;
}
else
y = z;
3) Конструкция else – if, являющаяся расширением конструкции if – else, позволяет осуществлять выбор более чем из двух вариантов (см. рис.3).
If (выражение1)
оператор1
else if (выражение2)
о
Рис.3.
else
оператор3
Если "выражение 1" истинно, то выполняется "оператор 1". Если "выражение 1" ложно, но "выражение 2" истинно, выполняется "оператор 2". В случае, когда оба выражения ложны, выполняется "оператор 3".
Фактически конструкция else – if является видоизмененным способом задания оператора ветвления, описанного выше. По-другому эту структуру можно описать:
If (выражение1)
оператор1
else
If (выражение2)
оператор2
else
оператор3
Видно, что она состоит из оператора if – else, для которого часть else представляет собой другой оператор if – else. Про второй оператор if – else говорят, что он "вложен" в первый.
В одном операторе можно использовать столько конструкций else – if, сколько нужно, что иллюстрируется ниже:
if ( score < 1000 )
bonus = 0;
else if ( score < 1500 )
bonus = 1;
else if ( score < 2500 )
bonus = 2;
else
bonus = 10;
Не забывайте, что else соответствует ближайшему if, кроме тех случаев, когда имеются фигурные скобки.
Множественный выбор: оператор switch
Если в программе необходимо произвести выбор одного из нескольких вариантов, то удобнее применять оператор switch. Общая структура оператора:
switch (целое выражение)
{ case метка1:
операторы; (необязательные)
break; (необязательный)
case метка2:
операторы; (необязательные)
break; (необязательный)
...
default: (необязательный)
операторы; (необязательные)
}
Вначале вычисляется выражение в скобках, расположенное за ключевым словом switch. Затем программа просматривает список "меток" до тех пор, пока не находит "метку", соответствующую данному значению. Далее программа переходит к выполнению оператора, расположенного в этой строке. Если такой подходящей метки не найдется, то если существует строка с "меткой" default , то будет выполняться оператор, помеченный этой меткой. В противном случае произойдет переход к оператору, расположенному за оператором switch. Выполнение оператора break приводит к тому, что в программе происходит выход из оператора switch и осуществляется переход к следующему за ним оператору. При отсутствии оператора break будут выполнены все операторы, начиная с помеченного данной меткой до конца оператора switch. Метки, имеющиеся в операторе switch, должны быть константами или константными выражениями (выражение, операторы которого константы) целого типа (включая тип char). Запрещается использовать в качестве метки переменную. Значением выражения в скобках должна быть величина целого типа.
Операторы организации циклов и continue, break языка с.
Циклом называется последовательность операторов, которая выполняется несколько раз в процессе выполнения программы при различных значениях некоторой переменной или при выполнении какого-то условия.
В языке Си реализовано три вида циклов: while(), for() и do ... while(). С учетом этого, вместо приведенного выше примера можно привести следующие варианты реализации:
С использованием оператора for() |
С использованием оператора while() |
С использованием оператора do... while() |
С использованием операторов if и goto |
sum = 0; for (i=0; i<n; i++) { sum = sum + a[i]; } sr = sum/10; |
i = 0; sum = 0; while ( i < n ) { sum = sum + a[i]; i++; } sr = sum/10; |
i = 0; sum = 0; do { sum = sum + a[i]; i++; } while ( i < n ); sr = sum/10; |
i = 0; sum = 0; m: sum = sum + a[i]; i++; if ( i < n ) goto m; sr = sum/10; |
Оператор while
определяет операции, которые циклически
выполняются до тех пор, пока проверяемое
"выражение" не станет ложным, или
равным нулю, т.е. если "выражение"
истинно (или а общем случае не равно
нулю), то "оператор" (или "тело
цикла") выполняется один раз, а затем
"выражение" проверяется снова.
В операторе for
используются три выражения, управляющие
работой цикла; они разделены символами
"точка с запятой". Инициализирующее
выражение вычисляется только один раз
до начала выполнения какого-нибудь из
операторов цикла. Если проверяемое
выражение оказывается истинным (или не
равным нулю), тело цикла выполняется
один раз. Затем вычисляется величина
корректируемого выражения, и значение
проверяемого выражения определяется
вновь. Таким образом, тело цикла
выполняется до тех пор, пока проверяемое
условие не станет ложным, или равным
нулю.
Оператор do
while определяет
действия, которые циклически выполняются
до тех пор, пока проверяемое выражение
не станет ложным, или равным нулю (см.
рис.Error: Reference source not found). Оператор do
while – это
цикл с постусловием;
решением, выполнять или нет в очередной
раз тело цикла, принимается после его
прохождения. Поэтому тело цикла будет
выполнено по крайней мере один раз.
Вложенным
называется
цикл, находящийся внутри другого цикла
