
- •2. Общие рекомендации к выполнению и требования к оформлению контрольной работы
- •3. Темы заданий для выполнения контрольной работы
- •4. 1. Базовые средства языка
- •Алфавит языка
- •Ключевые слова языка
- •Идентификаторы
- •Комментарии
- •4.1.5. Типы данных Си
- •Логический тип
- •4.1.8. Операции и выражения
- •Операции присваивания
- •Арифметические операции
- •Логические операции
- •Операции отношения
- •Условная операция
- •Операция преобразования типа
- •Операция определения размера
- •4.1.9. Стандартные функции
- •4.1.10. Структура программы
- •4.1.11. Ввод и вывод данных
- •Функции ввода- вывода
- •Объектно-ориентированные средства ввода-вывода.
- •4.2. Операторы управления
- •4.2.1. Понятие алгоритма
- •4.2.2. Изображение алгоритма в виде блок-схемы
- •2.3. Составной оператор
- •2.4. Операторы ветвления
- •If (выражение) оператор;
- •4.2.5. Примеры программ
- •4.2.6. Оператор варианта
- •4.2.7. Алгоритмы циклической структуры
- •Оператор цикла с предусловием
- •Оператор цикла с постусловием
- •Оператор цикла с параметром
- •Операторы передачи управления
- •4.2.8. Решение задач с использованием циклов
- •4.3. Обработка массивов
- •4.3.1. Описание массивов
- •4.3.2. Основные операции над массивами
- •4.3.3. Ввод-вывод элементов массива
- •4.3.4. Вычисление суммы элементов массива
- •4.3.5. Вычисление произведения элементов массива
- •4.3.6. Поиск максимального элемента и его номера
- •4.3.7. Сортировка элементов в массиве
- •4.3.8. Удаление элемента из массива
- •4.3.9. Решение задач с использованием массивов
- •4.4. Обработка матриц
- •4.4.1. Ввод-вывод матрицы
- •4.4.2. Примеры алгоритмов обработки матрицами
- •4.5.1. Передача параметров в функцию
- •4.5.2. Возврат результата с помощью оператора return
- •4.6. Указатели и динамические массивы
- •4.6.2. Операции * и & при работе с указателями
- •4.6.3. Операция присваивания указателей
- •4.6.4. Арифметические операции над адресами
- •4.6.5. Динамические массивы
- •4.6.6. Использование указателей в качестве аргументов функций
- •Литература
4.2. Операторы управления
Решение любой задачи на ЭВМ разбивают на следующие этапы:
разработка алгоритма;
составление программы на алгоритмическом языке;
ввод программы в ЭВМ;
отладка программы;
выполнение программы;
анализ результатов.
4.2.1. Понятие алгоритма
Алгоритм – четкое описание последовательности действий, которые необходимо выполнить при решении задачи (иначе, алгоритм – описание процесса преобразования исходных данных в результаты). Разработка алгоритма решения задачи – это разбиение задачи на последовательно выполняемые этапы. Алгоритм можно представить на естественном языке и в виде блок-схемы;
4.2.2. Изображение алгоритма в виде блок-схемы
Блок-схемой называется наглядное графическое изображение алгоритма. В блок-схеме отдельные этапы алгоритма изображают при помощи различных геометрических фигур – блоков. Последовательность выполнения этапов указываются при помощи стрелок, соединяющих эти фигуры. Блоки сопровождаются надписями. Типичные действия алгоритма изображаются геометрическими фигурами представленными в табл. 7.
Таблица 7. Изображение основных действий алгоритма.
Название блока |
Изображение блока |
Надпись на блоке |
Начало (конец) алгоритма |
|
«начало» («конец») |
Ввод – вывод данных |
|
«ввод» («вывод») и список переменных. |
Решение (арифметический) |
|
операция или группа операций |
Условный блок |
|
логическое условие |
2.3. Составной оператор
Это группа операторов, отделенных друг от друга точкой с запятой, начинающихся с открывающей фигурной скобки { и заканчивающихся закрывающейся фигурной скобкой }.
{
оператор_1;
...
оператор_n
}
Транслятор воспринимает составной оператор как один оператор.
2.4. Операторы ветвления
Алгоритмы разветвленной структуры (рис. 4) применяются, когда в зависимости от некоторого условия необходимо выполнить либо одно, либо другое действие.
Рис. 4. Блок-схема алгоритма разветвляющейся структуры
Условный оператор, соответствующий приведенной блок-схеме, имеет вид:
if (выражение) оператор_1;
else оператор_2;
Вычисляется выражение. Если оно не равно нулю, т.е. имеет значение true, выполняется оператор_1, в противном случае (выражение равно нулю, т.е. false) – оператор_2.
Если в зависимости от некоторого условия выполняется некоторое действие, а в противном случае ничего не происходит, то алгоритм имет вид (рис. 5):
Рис. 5. Блок-схема алгоритма разветвляющейся структуры, без альтернативного действия
Условный оператор в этом случае имет конструкцию:
If (выражение) оператор;
Эту запись можно назвать «пропуск оператора else». Здесь оператор либо выполняется, либо пропускается, в зависимости от значения выражения.
Если в какой-либо ветви условного процесса требуется выполнить несколько операторов, следует использовать составной оператор.
Распространенные ошибки при программировании условных процессов:
1. Неверное использование операций проверки равенства (==) и присваивания (=). Например,
if (a=1) b=0; //НЕ ВЕРНО4
if (a==1) b=0; //ВЕРНО
2. Запись проверки на принадлежность диапазону. Например,
if if (0<x<1)… //НЕ ВЕРНО
if (0<x && x<1)… //ВЕРНО