- •Лабораторная работа № 1
- •Далее создадим файл:
- •Задания1
- •Лабораторная работа № 2
- •Консольный ввод-вывод
- •Чтение и запись символов
- •Чтение и запись строк
- •Форматированный консольный ввод-вывод
- •Форматированный вывод
- •Форматированный ввод
- •7. Варианты задания
- •Лабораторная работа № 3
- •5.2 Оператор if
- •Лабораторная работа № 4
- •Содержание отчета
- •Постановка задачи.
- •Общие сведения
- •Лабораторная работа № 5
- •Оператор for
- •Вариации цикла for
- •Бесконечный цикл
- •Циклы for без тела
- •Задание 2. Циклический вычислительный процесс конечные суммы и произведения
- •Лабораторная работа № 6
- •Оператор цикла while
- •Оператор do … while
- •Оператор break
- •Оператор continue
- •Лабораторная работа № 7
- •5.1 Одномерный массив
- •Создание указателя на массив
- •5.3 Индексация с помощью указателей
- •Сортировка
- •Методические указания.
- •Лабораторная работа № 8
- •Двухмерные массивы
- •Лабораторная работа № 9
- •Лабораторная работа № 11
- •Задача 2. Параметры функции
- •Лабораторная работа № 12
- •Варианты заданий
- •Лабораторная работа № 13
- •Некоторые операции над матрицами
- •Методические указания
- •Варианты заданий
- •Лабораторная работа № 14
- •Решение уравнения методом деления отрезка пополам (бисекций)
- •Методические указания
- •Лабораторная работа № 15
- •Вычисление определенного интеграла
- •6.2.1 Метод средних прямоугольников
- •6.2.1 Метод трапеций
- •Методические указания
- •Варианты заданий
- •Лабораторная работа № 10
- •Структуры (struct)
- •Лабораторная работа № 16
- •Директива #include
- •7. Методические указания
- •8. Варианты заданий.
- •Лабораторная работа № 17
- •Указатель на файл
- •Открытие файла
- •Перенаправление потока
- •Чтение из потока и запись в поток
- •Закрытие потока
- •Использование функций feof() и ferror()
- •Варианты заданий
- •Лабораторная работа № 18
- •Функции обработки символов
- •Функции обработки строк
- •Варианты заданий
- •Лабораторная работа № 19
- •Структуры
- •6.1.1 Доступ к элементам структуры
- •6.1.2 Присваивание структур
- •Массивы структур
- •Передача структур в функции
- •Передача членов структур в функции
- •Передача всей структуры в функцию
- •Указатели на структуры
- •Объявление указателя на структуру
- •Использование указателей на структуру
- •Массивы и структуры в структурах
- •Функции fread () и fwrite ()
- •Варианты заданий
- •Лабораторная работа № 20
- •Например, формула
- •Задание на программирование
Задание 2. Циклический вычислительный процесс конечные суммы и произведения
Вычислить значение конечной суммы: .
Вычислить значение конечной суммы: .
Вычислить значение конечной суммы: .
Вычислить значение конечной суммы: .
Вычислить значение конечной суммы: .
Вычислить значение конечной суммы: .
Вычислить значение конечного произведения: .
Вычислить значение конечного произведения: .
Вычислить значение конечного произведения: .
Вычислить значение конечного произведения: .
Вычислить значение конечного произведения: .
Вычислить значение конечного произведения: .
Вычислить значение конечного произведения: .
Вычислить значение конечного произведения: .
Вычислить значение конечного произведения: .
Лабораторная работа № 6
Тема «Операторы цикла while и do … while. Построение таблиц функций.»
Цель работы
Получение навыков в использовании оператора цикла for.
Знакомство с итерационными процессами.
Техническое обеспечение
Персональная ЭВМ IBM PC/286 и более поздних моделей.
Клавиатура.
Дисплей.
Печатающее устройство.
Программное обеспечение
Операционная система Windows
Система программирования Visual C++ версия 6.0 или Borland C++ версия 3.1 и более поздние версии.
Постановка задачи
Составить таблицу значений функции, используя ее разложение в степенной ряд. Значение функции считать с точностью . Результат вывести на экран.
Содержание отчета
5.1. Тема и цель работы.
5.2. Схема алгоритма решения задачи.
5.3. Текст программы.
5.4. Результаты выполнения программы.
Оператор цикла while
Следующий итерационный оператор, доступный в С, - это while. Его стандартный вид следующий:
while (условие) оператор;
где оператор – это или пустой, или простой, или составной оператор. Условием может быть любое выражение, имеющее в качестве истины ненулевое значение. Цикл выполняется, пока условие истинно. Когда условие становится ложным, выполняется строка, следующая за циклом.
Следующий пример показывает процедуру, обрабатывающую ввод с клавиатуры, работающий, пока не будет введен символ А:
void wait_for_char(void);
{
char ch;
ch = ‘\0’; /* инициализация ch */
while (ch!=’A’) ch = getchar();
}
Сначала ch устанавливается в 0. Цикл while начинается с проверки ch на равенство А. Поскольку ch инициализирован нулем, проверка условия выдаст истину и цикл начнется. При каждом нажатии клавиши на клавиатуре условие проверяется повторно. Если введено А, условие становится ложным и цикл прекращается.
Как и цикл for, цикл while сначала выполняет проверку, то есть тело цикла может вообще не выполняться. Благодаря этому можно не выполнять отдельные проверки перед циклом. Иллюстрацией этого является функция pad(), добавляющая пробелы к концу строки до достижения предопределенной длины. Если строка уже имеет необходимую длину, то пробелы не будут добавляться:
void pad(char *s, int length)
{
int l;
l = strlen(s); /* определение длины */
while (l<length) {
s[l] = ‘ ‘; /* вставка пробела */
}
s[l] = ‘\0’; /* строки должны заканчиваться нулем */
}
Аргументами pad() являются s – указатель на удлиняемую строку и length – желаемая длина строки s. Если строка s имеет длину, равную или больше length, то код внутри цикла выполняться не будет выполняться. Если длина строки s меньше чем length, то pad() добавляет требуемое число пробелов к строке. Стандартная функция strlen() возвращает длину строки.
Когда необходимо несколько различных условий для окончания цикла while, как правило, используют одну переменную, являющуюся результатом действия этих условий, причем значение этой переменной может устанавливаться в различных частях цикла. Например:
void func1(void)
{
int working;
working = 1; /* т. е. истина */
while (working) {
working = process1();
if (working)
working = process2();
if (working)
working = process3();
}
}
Здесь любая из трех подпрограмм может вернуть ложь и вызвать остановку цикла.
В теле цикла может и не быть никаких операторов. Например:
while ((ch = getchar()) != ‘A’;
просто зацикливается до тех пор, пока с клавиатуры не введется буква А..