Циклические и рекурсивные алгоритмы. Операторы циклов for, do, while. — КиберПедия 

Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...

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

Циклические и рекурсивные алгоритмы. Операторы циклов for, do, while.

2019-12-26 190
Циклические и рекурсивные алгоритмы. Операторы циклов for, do, while. 0.00 из 5.00 0 оценок
Заказать работу

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

Простейший из циклов имеет вид:

while (условие)

{

операторы;

}

Такой цикл повторяется многократно до тех пор, пока значение условия истина. Как только это значение становится ложным, выполнение цикла прекращается.

Имеется аналогичный вариант цикла, но с проверкой в конце

do

{

операторы;

} while (условие);

Если необходимо создать цикл с известным числом повторений, то используется следующий оператор:

for(инициализация; проверка_условия; коррекция)
{
операторы;
}

В таком цикле сначала выполняется инициализация. Обычно – это присвоение начального значения переменной цикла. Инициализация выполняется только один раз. Далее происходит проверка условия. Если она дает истину, то выполняются операторы внутри цикла. После этого выполняется коррекция и повторяется проверка.

В следующем примере складываются первые пять целых чисел:

int sum=0;

for(int i=1;i<5;i++)

{

sum+=i;

}

Внутри циклов можно использовать оператор break; для принудительного завершения цикла и оператор continue; для пропуска оставшихся в цикле операторов и перехода к повторению цикла.

Практическое задание №2.

При выполнении второго задания студенты должны изучить и применить на практике приемы работы с операторами цикла и ветвления.

Вариант 1.

Напишите программу возведения целого числа a в целую степень n. Разработайте интерфейс, позволяющий пользователю вводить а и n  с клавиатуры. Вычислите и распечатайте таблицу степеней числа 2:  при n =0..20.

Вариант 2.

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

             Даны два целых положительных числа x и y.

Шаг 1: Из большего числа вычесть меньшее. Результат поместить в переменную c.

Шаг 2:  Положить большее число равным c.

Шаг 3:  Если , то повторить шаги 1 и 2.

Шаг 4:  Если , то НОД=x=y.

Разработайте интерфейс, позволяющий ввести два числа с клавиатуры и получить их НОД.

Контрольные примеры:

НОД(30030, 2380) = 70,    НОД(4200, 660) = 60,

НОД(462,819)=21,             НОД(10465, 8778) = 7

Вариант 3.

Разработайте программу решения квадратного уравнения . Пользователь должен иметь возможность ввести с клавиатуры коэффициенты a, b, с и получить корни уравнения  и . Обработайте особые случаи (,  и т.д.).

Контрольные примеры:

;

;   

;

; нет корней

 

Вариант 4.

Вычислите число e путем вычисления следующей суммы:

,              где

Вычисления обрывайте по достижении условия . Для вычисления  воспользуйтесь рекуррентными соотношениями. Разработайте интерфейс, позволяющий пользователю вводить параметр  с клавиатуры. Сравните результат суммирования с точным значением числа e. Проанализируйте поведение суммы при различных .

Вариант 5.

Определите значение машинного нуля для чисел с плавающей запятой у используемого Вами типа компьютера. Для этого определите число  такое, что  (в смысле компьютерных вычислений. Разработайте интерфейс, позволяющий пользователю вводить начальное значение  с клавиатуры.

Вариант 6.

Определите количество значащих цифр для чисел с плавающей запятой у используемого Вами типа компьютера. Для этого определите число  такое, что    (в смысле компьютерных вычислений. Разработайте интерфейс, позволяющий пользователю вводить начальное значение  с клавиатуры.

Тема 3. Функции.

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

Определение функции.

В общем случае функция имеет следующий формат:

<возвращаемый тип> ИмяФункции (параметры)
{

//Здесь следует тело функции,

//состоящее из операторов
}

Тип возвращаемого значения может быть одним из рассмотренных нами типов. Тип void означает, что функция не возвращает никакого значения. Кроме того, функция может возвращать и другие типы, например определенные пользователем. Если тип возвращаемого значения не указан, то по умолчанию он предполагается целочисленным (int).

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

Обратите внимание, что знак «точка с запятой» не ставится после списка параметров.

Прототипы функций.

Прежде, чем какая-либо функция будет использоваться в программе, она должна быть описана или определена. Описание (прототип функции) информирует компилятор о существовании функции, о типе параметров и типе возвращаемого значения. Оно имеет вид:

<возвращаемый тип> ИмяФункции (параметры);

В конце списка параметров стоит знак «точка с запятой», это и указывает на то, что мы имеем дело не с описанием функции, а с ее прототипом.

Функции, которые не используют параметров, обычно описываются прототипом с ключевым словом void на месте списка параметров.


Поделиться с друзьями:

Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...

Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...

Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.008 с.