17534

Дослідження операторів ітерації (циклів) в С++

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

Информатика, кибернетика и программирование

Лабораторна робота №3 Дослідження операторів ітерації циклів Мета Набути практичних навичок щодо використання циклів у програмного коду. Теоретичні відомості Цикл оператор ітерації це різновид керуючої конструкції яка призначена для організації багат

Украинкский

2013-07-04

58 KB

5 чел.

Лабораторна робота №3

Дослідження операторів ітерації (циклів)

Мета

Набути практичних навичок щодо використання циклів у програмного коду.

Теоретичні відомості

Цикл (оператор ітерації) - це різновид керуючої конструкції, яка призначена для організації багаторазового виконання набору інструкцій. Також циклом може називатися будь-яка послідовність інструкцій, яка багаторазово виконується.

Види циклів:

1. Безумовні цикли

2. Цикл з передумовою

3. Цикл з постумовою

4. Цикл з лічильником

Цикл з передумовою. Цикл, який виконується поки вірна (істинна) деяка умова, яка визначена перед початком циклу. Ця умова перевіряється до виконання тіла циклу, тому тіло може не виконуватись жодного разу(якщо умов аз самого початку хибна). В більшості процедурних мов програмування реалізується оператором while.

a=0; while(a<10)

    {

      cout<<a++;

     }

Цикл з постумовою. Цикл, у якому умова перевіряється після виконання тіла циклу. Звідси випливає, що тіло завжди виконується хоча б один раз. Реалізується оператором
do-while.

a=0; do

     {

      cout<<a++;

     } while(a<10);

Оператори while, do-while використовуються, коли невідомо наперед, скільки разів цикл буде виконуватись і перевіряють необхідність завершення при кожній ітерації.

Цикл з лічильником. Цикл, у якому деяка змінна змінює своє значення від заданого початкового значення до кінцевого значення з деяким кроком, і для кожного значення цієї змінної тіло циклу виконується один раз. У більшості процедурних мов програмування реалізується оператором for, в якому вказується: лічильник (змінна циклу), необхідна кількість проходів і крок, з яким змінюється лічильник.

Оператор for використовується, коли:

  1.  немає потреби керувати циклом із середини;
  2.  керування циклом полягає в інкременті та декременті (наприклад, при проході по елементам контейнера);
  3.  тоді, коли відомо, скільки ітерацій має виконати цикл.

Оператор for може містити декілька лічильників, від яких може залежати умова чи зміна лічильника:

for (int i=0, int j=0; i+j<100; i++, j++)

{…}

У циклі може існувати декілька умов виходу. При хибності будь-якої із заданих умов цикл завершується:

for(int a=0, b=5; a<10 && b>2; a++, b--)

{…} 

Умова виходу із циклу може залежати не тільки від змінної-лічильника, але будь-яких інших факторів (закінчення строк у потоці, тощо):

for (int i=0; (text=serlz.ReadLine())!=null; i++)

{…}

Якщо немає необхідності задавати якусь із частин оператору for її можна пропустити:

for(; i< node.Length; i++)

{…}

Якщо немає необхідності виконувати якісь операції в тілі циклу, то можна створити пустий оператор for:

for(int i=0; text[i]!=’\0’; i++);

Оператор переривання.  Оператор break забезпечує припинення виконання самого внутрішнього із об'єднуючих його операторів  break switch, do, for, while. Після виконання оператора break керування передається операторові, що іде за перерваним.

Оператор продовження continue

Оператор  continue, як і оператор  break, використовується тільки всередині операторів циклу, але на відміну від останнього виконання програми продовжується не з оператора, що іде за перерваним оператором, а з початку перерваного оператора.

Наприклад,

int main()

 { int a,b;

   for (a=1,b=0; a<100; b+=a,a++)

{ if (b%2) continue;

           ...    // обробка парних сум  

     }

   return 0;

 }

Коли сума чисел від 1 до а стає непарною, оператор continue передає керування на чергову ітерацію циклу  for, не виконуючи оператори обробки парних сум.

Оператор continue, як і оператор break, перериває самий внутрішній із об'єднуючих його циклів.

Завдання

Побудувати модель програмного коду відповідно до свого варіанту. ( див. таблицю варіантів).

Таблиця варіантів

1

Скласти на комп’ютері квадрат Піфагора - таблицю множення натуральних чисел.

2

Знайти суму членів послідовності  (кількість членів задається користувачем)

3

Знайти суму цифр у числі N.

4

Cкласти програму табуляцій значень функції у = cos(x) для аргумента х, котрий змінюється від 0о до 180о із шагом 6о.

5

Визначити 20-те число Фібоначчі. Числа Фібоначчі вираховуються: перші два значення дорівнюють 0 та 1, а кожне наступне значення – це сума двох попередніх

6

Задано  20 випадкових елементів. Знайти суму додатніх елементів

7

За допомогою цикл з пост- або передумовою написати програму підрахунку факторіала заданого цілого числа.

8

Обчислити суму 5 елементів геометричної прогресії, що зменшується: початкове значення – 81, крок – 3

9

Сформувати послідовність з 10 чисел Фібоначчі: перші два значення дорівнюють 0 та 1, а кожне наступне значення – це сума двох попередніх

10

Обчислити добуток елементів арифметичної прогресії, що зростає: початкове значення – 2, кінцеве – 30, крок – 4

11

За допомогою цикла з передумовою або цикла з постумовою написати програму піднесення числа А до цілого степеня N.

12

Створити програму, що вираховує для заданого х суму: (кількість членів задається користувачем)

13

Обчислити суму елементів арифметичної прогресії, що убуває: початкове значення – 3, кінцеве – -4, крок – /2

14

Обчислити спільний дільник для двох цілих десяткових чисел.

15

Cкласти програму табуляцій значень функції у = sin(x) для аргумента х, котрий змінюється від 0 до 2,   із шагом /6,.

Примітка: аргументи функцій sin(x) та cos(x) визначаються в радіанах.
2 радіан = 360о,    1радіан = /180о .

Контрольні питання

  1.  Що таке цикл?
  2.  Які види циклів ви знаєте?
  3.  Опишіть конструкцію циклів з постумовою та передумовою, циклів з лічильником.
  4.  Коли використовується оператор for?
  5.  Чим характеризуються різні типи операторів повторення? За яким призначенням вони використовуються?
  6.  Як конструювати дострокове завершення циклів?


 

А также другие работы, которые могут Вас заинтересовать

24691. ПРИНЦИП ДЕЙСТВИЯ ПРОДОЛЬНОЙ ДИФФЕРЕНЦИАЛЬНОЙ ЗАЩИТЫ 122 KB
  Принцип действия продольных дифференциальных РЗ основан на сравнении значения и фазы токов в начале и конце защищаемой ЛЭП.1 а при внешнем КЗ в точке К токи I1 и I11 на концах ЛЭП АВ направлены в одну сторону и равны по значению а при КЗ на защищаемой ЛЭП рис. Следовательно сопоставляя значение и фазу токов I1 и I11 можно определять где возникло КЗ на защищаемой ЛЭП или за ее пределами.
24692. ЗАЩИТA ГЕНЕРАТОРОВ 41.5 KB
  Подобная защита начала также применяться и в отечественной практике. ЗАЩИТА ОТ МЕЖДУФАЗНЫХ КОРОТКИХ ЗАМЫКАНИЙ В ОБМОТКЕ СТАТОРА Назначение и общие принципы выполнения защиты. ЗАЩИТА ОТ ЗАМЫКАНИЙ МЕЖДУ ВИТКАМИ ОДНОЙ ФАЗЫ Защита от витковых замыканий имеет ограниченное применение вследствие отсутствия простых способов ее осуществления. В связи с этим чувствительность защиты должна быть очень высокой и защита должна действовать на отключение.
24693. МАКСИМАЛЬНЫЕ ТОКОВЫЕ ЗАЩИТЫ С РЕЛЕ ПРЯМОГО ДЕЙСТВИЯ 557.5 KB
  Выпускаются токовые реле прямого действия мгновенные типа РТМ и с ограниченно зависимой характеристикой РТВ.32 а и б показаны двухфазные схемы МТЗ с реле типа РТВ. Реле РТВ представляет собой электромагнитное реле с втягивающимся якорем рис.
24694. НЕСЕЛЕКТИВНЫЕ ОТСЕЧКИ 45 KB
  Такая отсечка применяется для быстрого отключения КЗ в пределах всей защищаемой ЛЭП. Неселективное действие отсечки при КЗ вне ЛЭП исправляется при помощи АПВ включающего обратно отключившуюся ЛЭП. При этом пускается устройство АПВ которое включает обратно неселективно отключившуюся ЛЭП W1 и восстанавливает питание подстанции В.
24695. УКАЗАТЕЛЬНЫЕ РЕЛЕ 101 KB
  20 показано указательное реле типа РУ21 сигнализирующее действие РЗ на отключение выключателя. При срабатывании РЗ по обмотке реле 3 проходит ток приводящий реле в действие. Ввиду кратковременности прохождения тока в обмотке указательных реле они выполняются так что сигнальный флажок и контакты реле остаются в сработанном состоянии до тех пор пока их не возвратит на место обслуживающий персонал.
24696. НЕОБХОДИМОСТЬ И СПОСОБЫ РЕЗЕРВИРОВАНИЯ 177 KB
  С ними нельзя не считаться поскольку отказ РЗ или выключателя означает неотключение КЗ а следовательно длительное прохождение токов КЗ и снижение напряжения в сети. Наряду с принятием мер по повышению надежности действия РЗ и выключателей особо важное значение приобретает резервирование отключения КЗ в случае отказа выключателя или действующей на него РЗ. Применяются два способа резервирования: дальнее осуществляемое РЗ и выключателями смежных участков установленными на соседних энергообъектах; ближнее осуществляемое РЗ и...
24697. НАЗНАЧЕНИЕ ЗАЩИТЫ ШИН 380.5 KB
  ДИФФЕРЕНЦИАЛЬНАЯ ЗАЩИТА ШИН Дифференциальная РЗ шин ДЗШ рис. Для питания ДЗШ на всех присоединениях устанавливаются ТТ с одинаковым коэффициентом трансформации К независимо от мощности присоединения. Тогда при внешних КЗ X 1пр = 0 и реле не будет действовать а при КЗ в зоне на шинах равна сумме токов КЗ притекающих к месту повреждения и ДЗШ работает. Вторичные токи направлены в обмотке реле одинаково поэтому ток в реле равен их сумме: Так както Выражение показывает что При КЗ на шинах ДЗШ реагирует на...
24698. 34 ЗАЩИТА АД 110 KB
  Наиболее просто токовая отсечка выполняется с реле прямого действия встроенными в привод выключателя. С реле косвенного действия отсечка выполняется с независимыми токовыми реле по схемам на рис.7; Iпуск пусковой ток электродвигателя; k0TC коэффициент отстройки Токовую РЗ электродвигателей мощностью до 2000 кВт следует выполнять как правило по наиболее простой и дешевой однорелейной схеме рис. На электродвигателях мощностью 20005000 кВт токовая отсечка выполняется двухрелейной.
24699. Основные особенности выполнения РЗ на блоках 88 KB
  2 отсутствие электрической связи между генератором и сетью имеющее место в блочных схемах облегчает решение вопросов селективности РЗ генератора от замыканий на землю вследствие высокой стоимости мощных генераторов и трансформаторов повышенные требования в части чувствительности быстродействия и надежности на блоках без поперечных связей необходимость действия на останов блока в целом; На блоках малой мощности до 30 МВт включительно в качестве РЗ от внешних КЗ применяется МТЗ с комбинированным пуском по напряжению. На блоках...