- •Основы программирования
- •Содержание
- •Лабораторная работа №1 Линейные и разветвляющиеся вычислительные процессы
- •Краткие теоретические сведения
- •Классификация данных
- •Декларирование объектов
- •Структура программы
- •Константы
- •Операции Операции выражения
- •Арифметические операции
- •Операция присваивания
- •Сокращенная запись операции присваивания
- •X##; - постфиксную.
- •Преобразование типов операндов арифметических операций
- •Операция приведения типа
- •Операции сравнения
- •Логические операции
- •Побитовые логические операции, операции над битами
- •Операция «,» (запятая)
- •Функции вывода информации
- •Функции ввода информации
- •Ввод - вывод потоками
- •Стандартные математические функции
- •Синтаксис операторов языка Си
- •Операция присваивания
- •Условные операторы
- •If (условие ) оператор1;
- •If (условие1) оператор1;
- •Условная операция "? :"
- •Оператор выбора switch
- •Варианты индивидуальных заданий
- •Контрольные вопросы
- •Циклические операторы while и do–while
- •Вложенные циклы
- •Варианты индивидуальных заданий
- •Контрольные вопросы
- •Строки, как одномерные массивы символов
- •Указатели и операции над адресами
- •Операции над указателями (адресная арифметика)
- •Связь указателей и массивов
- •Пример 1: Упорядочить по алфавиту массив строк (не более 20) длиной не более 10 символов в каждой:
- •Варианты индивидуальных заданий
- •Контрольные вопросы
- •Лабораторная работа №4 Многомерные массивы, динамическое распределение памяти
- •Краткие теоретические сведения
- •Массивы указателей
- •Указатели на указатели
- •Динамическое размещение данных
- •Проверить, является ли введенная строка полиндромом (справа-налево читается также как и слева-направо).
- •Варианты индивидуальных заданий
- •Контрольные вопросы
- •Вызов функции.
- •Изменение значений параметров.
- •Область действия переменных
- •Классы памяти.
- •Рекурсивные функции.
- •Операция typedef
- •Указатели на функции
- •Примеры работы с функциями
- •Варианты индивидуальных заданий
- •Контрольные вопросы
- •Декларация структурного типа данных
- •Создание структурных переменных
- •Обращение к полям структур
- •Вложенные структуры
- •Использование typedef
- •Массивы структур
- •Размещение структурных переменных в памяти
- •Пример на использование структур
- •Варианты индивидуальных заданий
- •Контрольные вопросы
- •Лабораторная работа № 7 Файлы в языке с
- •Краткие теоретические сведения
- •Варианты индивидуальных заданий
- •Контрольные вопросы
- •Лабораторная работа № 8 Графический режим работы
- •Kраткие теоретические сведения
- •Варианты индивидуальных заданий
- •Контрольные вопросы
- •Команды вставки и удаления (под блоком понимается выделенное подсветкой подмножество символов)
- •Команды работы с блоками
- •Набор текста программы
- •Компиляция, редактирование связей, запуск программы на выполнение
- •Многофайловая компиляция
- •Отладка программы
- •Использование глобальных переменных, объявленных вне файла
- •Литература
Варианты индивидуальных заданий
Составить программу для определения значения функции у. Предусмотреть вывод сообщения о том, по какой ветви происходило вычисление значения аргумента функции х.
, где
где
где
где
где
где
где
где
где
где
где
, где
, где
, где
, где
, где
Определить значение функции F. Предусмотреть вывод сообщения о том, по какой ветви происходило вычисление.
,
,
,
,
,
Даны 3 точки А(х1,y1), B(х2,y2), C(х3,y3).
Определить положение этих точек относительно прямой y=kx+1 (на прямой, под или над прямой).
Определить расстояние между каждой из точек и началом координат. Вывести точки в порядке возрастания полученных значений.
Определить положение точек на плоскости. Вывести сообщение какой четверти плоскости они принадлежат.
Определить, можно ли построить треугольник по заданным точкам; если да, то вывести его тип (равнобедренный, равносторонний).
Определить положение точек относительно круга с радиусом r, центр которого совпадает с началом координат.
Контрольные вопросы
Какие типы переменных применяются в алгоритмическом языке С?
Перечислите основные отличия функций printf() и scanf().
Какие формы записи операторов if применяются в языке С?
Чем отличается оператор if от оператора switch?
Лабораторная работа №2
Программировапние циклических вычислительных процессов
Цель работы:
Изучить циклические операторы for, while, do – while, научиться составлять и программировать циклические алгоритмы.
Краткие теоретические сведения
Операторы циклов применяют, когда надо повторить некоторые действия (операторы и операции) несколько раз, и такие участки алгоритмов называют циклы.
Оператор цикла for
Основная форма оператора цикла for имеет вид:
for (выражение_1; выражение_2; выражение_3 )
оператор;
где выражение_1 – инициализация начального значения параметра цикла;
выражение_2 – проверка условия на продолжение цикла;
выражение_3 – изменение параметра цикла (коррекция параметра);
оператор – простой или составной оператор языка С.
Схема работы оператора следующая: только один раз вначале вычисляется выражение_1, затем проверяется выражение_2, и если оно - «истина», то выполняется циклический участок программы, затем производится коррекция параметра, и так до тех пор, пока выражение_2 не примет значение «ложь».
Например: for (k=1; k<5; k++)
printf(“\n %d”, k);
В результате выполнения этого оператора печатаются в столбик цифры от 1 до 4.
В качестве параметра цикла можно использовать переменную любого базового типа.
Например: for(ch=’a’; ch<=’z’; ch++) /* вывод на экран БУКВ */
printf(“ %c”,ch); /* латинского алфавита */
Необходимо тщательно контролировать структуру циклов for в программе, чтобы не получился бесконечный цикл (из которого нет выхода).
Например: for(k=10; k>6;k++)
printf(“бесконечный цикл\n”);
Выйти из цикла досрочно можно следующими способами:
- по дополнительному условию;
- используя операторы:
break; - завершения работы цикла, в котором находится break, управление передается на первый после цикла выполняемый оператор;
exit(int Kod); - происходит выход из программы;
return; - осуществляется выход из функции;
с помощью оператора безусловного перехода goto <метка>;
Досрочное завершение текущего циклического шага возможно при помощи дополнительного условия или оператора continue, который прерывает выполнение текущего шага цикла, т.е. пропускает операторы оставшейся части цикла и передает управление в головной оператор цикла для коррекции параметра и проверки условия.
Передавать управление извне вовнутрь цикла запрещается.
Любое из выражений цикла for в круглых скобках может отсутствовать, но символ «;» опускать нельзя.
Например: int i=0;
for(; i<3; i++)
puts(“Hello!”);