Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛАБ_ПРОГР.doc
Скачиваний:
8
Добавлен:
12.11.2019
Размер:
1.67 Mб
Скачать

Задание 2. Циклический вычислительный процесс конечные суммы и произведения

  1. Вычислить значение конечной суммы: .

  2. Вычислить значение конечной суммы: .

  3. Вычислить значение конечной суммы: .

  4. Вычислить значение конечной суммы: .

  5. Вычислить значение конечной суммы: .

  6. Вычислить значение конечной суммы: .

  7. Вычислить значение конечного произведения: .

  8. Вычислить значение конечного произведения: .

  9. Вычислить значение конечного произведения: .

  10. Вычислить значение конечного произведения: .

  11. Вычислить значение конечного произведения: .

  12. Вычислить значение конечного произведения: .

  13. Вычислить значение конечного произведения: .

  14. Вычислить значение конечного произведения: .

  15. Вычислить значение конечного произведения: .

Лабораторная работа № 6

Тема «Операторы цикла while и dowhile. Построение таблиц функций.»

  1. Цель работы

    1. Получение навыков в использовании оператора цикла for.

    2. Знакомство с итерационными процессами.

  1. Техническое обеспечение

    1. Персональная ЭВМ IBM PC/286 и более поздних моделей.

    2. Клавиатура.

    3. Дисплей.

    4. Печатающее устройство.

  1. Программное обеспечение

    1. Операционная система Windows

    2. Система программирования Visual C++ версия 6.0 или Borland C++ версия 3.1 и более поздние версии.

  2. Постановка задачи

Составить таблицу значений функции, используя ее разложение в степенной ряд. Значение функции считать с точностью . Результат вывести на экран.

  1. Содержание отчета

5.1. Тема и цель работы.

5.2. Схема алгоритма решения задачи.

5.3. Текст программы.

5.4. Результаты выполнения программы.

    1. Оператор цикла 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’;

просто зацикливается до тех пор, пока с клавиатуры не введется буква А..

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]