Пример программы циклической структуры

1 ЦЕЛЬ РАБОТЫ: приобретение практических навыков в составлении алгоритмов и программ циклической структуры.

ОСНОВНЫЕ СВЕДЕНИЯ

Операторы циклов

В языке Си существует 3 вида циклов: 1) цикл с параметром или цикл типа for; 2) цикл с предусловием или цикл типа while, 3) цикл с постусловием или цикл типа do . while. Во всех этих циклах условие продолжения цикла заключается в круглые скобки.

В циклах типов for и while повторяющаяся часть состоит из одного оператора, если требуется выполнить в цикле несколько операторов, они заключаются в фигурные скобки, образуя составной оператор. В цикле с постусловием тело цикла помещается между словами do и while. В отличие от цикла с предусловием, цикл с постусловием выполнится хотя бы один раз. Все перечисленные циклы продолжаются, если условие продолжения истинно.

Цикл с параметром

Для цикла типа for заголовок состоит из трех разделов: инициализации (присваивания начальных значений), проверки условия повторения, модификации (изменения параметров). Разделителем между разделами заголовка служит запятая.

СОЗДАНИЕ ПСЕВДОКОДА И ПРОГРАММЫ ЦИКЛИЧЕСКОЙ СТРУКТУРЫ

Пример вычисления суммы квадратов натурального ряда чисел от 1 до n.

S= = 1 2 + 2 2 + . . . + n 2 .

// сумма квадратов натурального ряда

// В заголовке оператора цикла запятая может использоваться как разделитель

S+=i*i; // соответствует S=S+i*i

printf (“n=%d S=%d ”,n,S);

В разделе инициализации присваиваются начальные значения переменным S и i. При i, не превышающем n, цикл повторяется, иначе выполняется выход из цикла. Оператор инкремента i++ (или декремента i—), эквивалентен i=i +1 (i=i-1). Для досрочного выхода из цикла и перехода на следующий оператор после цикла используется оператор break. Для пропуска всех операторов, оставшихся до конца тела цикла и перехода к следующему повторению цикла используется оператор continue.

Циклы с неизвестным количеством повторений

Изменим условие в предыдущем примере: Определить число n, при котором сумма чисел S предыдущего ряда не превысит величину K, введенную с клавиатуры. Такую программу можно реализовать с помощью циклов предусловия или постусловия следующим образом:

// циклы while и do…while

clrscr(); // очистка экрана перед выводом

printf (“Введите К ”); scanf (“%d”,

// цикл с предусловием //цикл с постусловием

printf (“n=%d S=%dn”, i, S);

ВЫПОЛНЕНИЕ РАБОТЫ

Составить 3 варианта программ циклической структуры типа for и while, сравнить полученные результаты.

Варианты заданий

КОНТРОЛЬНЫЕ ВОПРОСЫ

4.1. Какой алгоритм является алгоритмом циклической структуры?

4.2. Типы циклов в языке Си.

4.3. Какой цикл выполнится хотя бы один раз? А какой — ни разу?

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

Обработка статических массивов

1 ЦЕЛЬ РАБОТЫ:приобретение практических навыков в составлении программ с массивами.

ОСНОВНЫЕ СВЕДЕНИЯ

Массивы — структурированный тип данных с элементами одного типа, имеющий одно имя и определенное количество элементов. Количество элементов определяет размер массива. Порядковый номер элемента массива называется его индексом. Число индексов называется размерностью массива, например, массив с двумя индексами называется двумерным массивом.

Читайте также:
Айрен программа тестирования инструкция

Пример программной реализации алгоритма циклической структуры на языке С++

Строка символов является массивом символов, вектор – массив чисел, матрица – массив векторов. Обработка массивов выполняется следующим образом: описание, ввод или инициализация элементов массива, преобразование и вывод.

При описании массивов после имени в квадратных скобках указывается число его элементов (если массив сразу инициализируется, число элементов можно не указывать). В языке Си индекс элемента массива начинается с нуля, поэтому индекс последнего элемента массива на 1 меньше числа элементов в данном массиве.

ТОП 5 статей:

Экономическая сущность инвестиций — Экономическая сущность инвестиций – долгосрочные вложения экономических ресурсов сроком более 1 года для получения прибыли путем.
Тема: Федеральный закон от 26.07.2006 N 135-ФЗ — На основании изучения ФЗ № 135, дайте максимально короткое определение следующих понятий с указанием статей и пунктов закона.
Сущность, функции и виды управления в телекоммуникациях — Цели достигаются с помощью различных принципов, функций и методов социально-экономического менеджмента.
Схема построения базисных индексов — Индекс (лат. INDEX – указатель, показатель) — относительная величина, показывающая, во сколько раз уровень изучаемого явления.
Тема 11. Международное космическое право — Правовой режим космического пространства и небесных тел. Принципы деятельности государств по исследованию.

Источник: pdnr.ru

3.4 Программирование алгоритмов циклической структуры

Цикл — это алгоритмическая структура, при помощи которой реализуется многократное повторение блоков операторов. Операторы, повторяющиеся в цикле, называются телом цикла. Существует два основных вида циклов: цикл со счётчиком и цикл с условием.

1) Цикл со счётчиком используется в том случае, когда количест­во повторов заданного блока операторов известно заранее. Для организации цикла с известным числом повторений используется оператор For. Next. Синтаксис этого оператора таков:

For СчетчикЦикла= НачальноеЗначение То КонечноеЗначение [Step Шаг]

Операторы тела цикла

Next [СчетчикЦикла]

— числовая переменная, используемая как счетчик повторений цикла;

— начальное значение счетчика цикла;

— конечное значение счетчика цикла;

— приращение счетчика при каждом шаге цикла (если параметр Step не указан, то по умолчанию значение приращения равно 1);

Операторы тела цикла

— операторы, выполнение которых нужно повторить определенное количество раз.

Оператор Next увеличивает значение счетчика (параметра) цикла на заданный шаг и передает управление на продолжение цикла, то есть на оператор For, где анализируется полученное значение счетчика цикла: текущее значение счетчика цикла сравнивается с конечным значением. Если текущее значение параметра цикла больше конечного его значения, то происходит выход из цикла на оператор, следующий за оператором Next.

Читайте также:
Как работать в программе сап

2) Цикл с условием применяется тогда, когда число по­вторений операторов тела цикла заранее неизвестно. Рассмотрим две разновидности данной конструкции, основанных на операторе цикла с условием Do. While, с предусловием и с постусловием.

Синтаксическая конструкция оператора Do … While:

цикл с предусловием

цикл с постусловием

Do While Условие

Loop While Условие

Do — ключевое слово, обозначающее начало цикла;

While — ключевое слово, указывающее тип цикла;

Условие – логическое выражение, принимающее значение True или False;

Loop — ключевое слово, указывающее на окончание цикла.

В пункте 2.6.3 были построены математические модели и блок-схемы алгоритмов циклической структуры. Рассмотрим примеры программ, где алгоритм решения является циклическим.

Листинг 5. Табулирование функции с постусловием

Dim a, b As Single

Dim h As Single

Dim x, y As Single

a=InputBox(«Введите начальное значение аргумента», «Окно ввода»)

b=InputBox(«Введите конечное значение аргумента», «Окно ввода»)

h = InputBox(«Введите шаг изменения аргумента», «Окно ввода»)

Debug.Print «Аргументы», «Значения»

y = x * Sin(x) ‘здесь f(x)=x*sin(x)

Примечание. В данной программе для того, чтобы заголовки таблицы не выводились при каждом повторе цикла (рис. 24), оператор вывода заголовков Debug.Print «Аргументы», «Значения» записан перед началом работы цикла.

Рис. 24 Результаты работы цикла при а=-5, b=5, h=2

Листинг 6. Табулирование функции с циклом For

Фрагмент программы примера 5 по алгоритму с блоком модификации без описания переменных и оператора ввода исходных данных:

Debug.Print «Аргументы», «Значения»

For x = a To b Step h

Листинг 7. Табулирование функции при помощи цикла со счетчиком

Фрагмент программы примера 5 без описания переменных и оператора ввода исходных данных:

Debug.Print «Аргументы», «Значения»

n = Abs((b — a) / h) + 1

Листинг 8. Ежегодное начисление амортизации

Фрагмент программы примера 6 без описания переменных и оператора ввода исходных данных:

Debug.Print «Год», «Стоимость оборудования»

R0 = Round(R0 * (1 — P / 100) + D, 2)

Источник: studfile.net

Лекция: Пример программы циклической структуры

Найти сумму положительных значений функции f(x) на заданном интервале. Формула для расчета шага изменения аргумента:

writeln(‘Сумма положительных значений s=’,s:8:3);

Вопросы для самоконтроля

  1. Что такое цикл?
  2. Какие циклы можно организовать на языке Паскаль?
  3. В каких случаях предпочтительней использовать оператор for …to … do для организации циклов?
  4. Какой тип должна иметь переменная, которая является параметром цикла в операторе for …to … do ?
  5. Сколько циклов будет пройдено, если в операторе while … do условие не выполнилось с первого раза?
  6. Сколько циклов будет пройдено, если в операторе repeat … until условие выполнилось с первого раза?
  7. Что такое вложенные циклы?
  8. Как можно досрочно прервать цикл?

10.6. Методические указания для выполнения практического задания №6. «Циклы»

Читайте также:
Виды компьютерных вирусов антивирусные программы

Цель работы: Ознакомиться с алгоритмами циклической структуры, операторами цикла с параметром, с предусловием, с постусловием.

Задание:

1. В приложении 7 выбрать вариант задания.

2. Выполнить практическое задание, используя пример программы циклической структуры.

3. Составить блок-схему алгоритма.

4. Написать программу и отладить ее по заранее подготовленному тесту.

5. Оформить задание в тетради для практических заданий.

6. Результат выполнения программы предъявить преподавателю.

7. Ответить на вопросы самоконтроля.

8. Защитить выполненную работу у преподавателя.

Приложение 7. Таблица вариантов заданий

Выбрать функцию по варианту из таблицы. Составить программу расчета таблицы значений функции f(x) на интервале a
Вариант Функция
Найти сумму всех положительных значений функции f(x) в расчетных точках.
Найти сумму всех отрицательных значений функции f(x) в заданном интервале.
Найти произведение вычисленных значений функции f(x), целая часть которых кратна 2.
Найти среднее арифметическое положительных значений функции f(x).
Найти количество положительных значений функции f(x) на заданном интервале.
Найти произведение всех отрицательных значений функции f(x) на заданном интервале.
Найти произведение всех положительных значений функции f(x) на заданном интервале.
Найти сумму вычисленных значений функции f(x), целая часть которых кратна 2.
Найти среднее арифметическое отрицательных значений функции f(x).
Найти сумму вычисленных значений функции f(x), дробная часть которых > 0.5.
Найти количество положительных значений функции f(x).
Найти сумму вычисленных значений функции f(x), дробная часть которых < 0.5
Найти произведение вычисленных значений функции f(x), абсолютные значения которых > 1.
Найти сумму вычисленных значений функции f(x).
Найти произведение вычисленных значений функции f(x).
Найти произведение вычисленных значений функции f(x), дробная часть которых < 0.5
Найти сумму вычисленных значений функции f(x), дробная часть которых > 0.5
Найти количество положительных значений функции f(x), на заданном интервале.
Найти количество значений функции f(x), абсолютная величина целой части которых > 1.
Найти наибольшее значение функции f(x), на заданном интервале.
Найти среднее значение функции f(x).
Найти сумму значений функции f(x), абсолютная величина целой части которых < 1.
Найти произведение вычисленных значений функции f(x), абсолютные значения которых >1.
Найти произведение вычисленных значений функции f(x), целая часть которых кратна 2.
Найти наименьшее значений функции f(x) на заданном интервале.
Найти произведение значений функции в расчетных точках с четными номерами.
Найти сумму значений функции в расчетных точках с нечетными номерами.
Найти наименьшее значений функции f(x) на заданном интервале в расчетных точках с четными номерами.
Подсчитать количество отрицательных значений функции на заданном интервале.
Вычислить произведение положительных значений функции в расчетных точках с нечетными номерами.

Источник: ronl.org

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru