17107

Циклічні алгоритми

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

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

Лабораторна робота № 3 Тема: Циклічні алгоритми. Мета: навчитися складати схеми циклічних алгоритмів. Обладнання: інструкція до практичної роботи олівець лінійка. Хід роботи. Правила Т/Б в кабінеті комп'ютерної техніки. Методичні вказівки. Базова ст...

Украинкский

2013-06-29

61.5 KB

3 чел.

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

Тема: Циклічні алгоритми.

Мета: навчитися складати схеми циклічних алгоритмів.

Обладнання: інструкція до практичної роботи, олівець лінійка.

Хід роботи.

  1.  Правила Т/Б в кабінеті комп'ютерної техніки.
  2.  Методичні вказівки.

Базова структура „цикл". Забезпечує багаторазове виконання деякої сукупності дій, яка називається тілом циклу. Основні різновиди циклів приведені в таблиці:

алгоритмічна мова

мова блок-схем

Цикл типу ПОКА.

Наказує виконувати тіло циклу до тих пір, поки виконується умова, записана після слова пока

нц пока условие

тело цикла (последовательность действий )

Цикл типу ДЛЯ.

Наказує виконувати тіло циклу для всіх значень деякої змінної (параметра циклу) в заданому

діапазоні

нц для і от і 1 до І2

тело цикла

(последовательность действий)

кц

Примеры структури ЦИКЛ

Алгоритмічний язик

Мова блок-схем

нц пока і<=5

S:=S+A[i]

i:=i+1

кц

нц для і от 1 до 5

Х[і]:=i*і*і

Y[i]:=X[i]/2

кц

3.   Скласти алгоритм ітераційного циклу.

Скласти алгоритм обчислення нескінченної суми з

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

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

що число доданків заздалегідь невідомо. Тому виконання циклу повинне завершитися в

момент потрібної точності.

При складанні алгоритму потрібно врахувати, що знаки доданків чергуються і ступінь

числах в чисельниках доданків зростає.

Розв'язуючи задачу „в лоб" шляхом обчислення на кожному i-му кроці часткової суми

S := S + ((-1)**(/-1))*(х**/)//,   ми   отримаємо   дуже   неефективний   алгоритм,   що

потребує виконання великого числа операцій. Набагато краще організувати обчислення

наступним чином: якщо позначити чисельник якого-небудь доданку буквою р, то у

наступного доданку чисельник буде дорівнювати -/?*х (знак мінус забезпечує чергування

знаків доданків), а сам доданок т буде дорівнювати р/і, де i - номер доданку.

алгоритмічна мова

блок схема

алг Сумма (арг вещ х, Eps, рез вещ S)

дано [ 0<х<1

надо | S=x-x**2/2+x**3/3-...

нач цел і, вещ m, p

ввод х, Eps

S:=0; i:=l    | Начальные значення

m:=1; р:= -1

нц пока abs(m)>Eps

р:= -р*х | р - числитель очередного слагаемого

m:= р/і    | m - очередное слагаемое

S:-S+m   | S - частична сумма

і:= і+1     | і - номер очередного слагаемого

кц

вывод S

кон

Алгоритм у склад якого входить ітераційний цикл, називається ітераційним алгоритмом. Ітераційні алгоритми застосовують при реалізації ітераційних чисельних методів.

4.   Індивідуальне завдання. Скласти схему алгоритму. Варіанти.

  1.  Знайдіть значення виразу (для натуральних-m і п, т<п): S=l+2+...+n
  2.  Знайдіть значення виразу (для натуральних т і п, т<п): F= 1 *2*...*п
  3.  Знайдіть значення виразу (для натуральних т і п, т<п): A=m+(m+l)+...+(m+n)
  4.  Знайдіть значення виразу (для натуральних т і п, т<п): B=m*(m+l)*...*(m+n)

5.   Знайдіть значення виразу (для натуральних т і п, т<п):

6.   Знайдіть значення виразу (для натуральних m i n,  m<=n):

S=1+1*2+1*2*3+1*2*3*4+…+1*2*3*…n

7.   Знайдіть значення виразу (для натуральних т і п, т<п):

8.   Знайдіть суму S і добуток Р парних чисел від 1 до п.

9.   Знайдіть суму S і добуток Р непарних чисел від 1 до п.

10.  Знайдіть суму S і добуток Р чисел кратних 3, від 1 до п.

11.  Знайдіть суму квадратів перших п натуральних чисел.

12.  Знайдіть суму кубів перших п натуральних чисел.

13.   Знайдіть суму квадратів парних чисел з перших п натуральних чисел.

14.  Знайдіть суму кубів парних чисел з перших п натуральних чисел.

15.  Для послідовності a(n)=nsinn знайдіть суму і добуток п перших членів.

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

  1.  Накреслити схему простого циклу.
  2.  Що таке тіло циклу?
  3.  Для чого потрібна змінна циклу.

6. Захист роботи.


i=i1,i2

Тело цикла

i<=5

S:=S+A[i]     i:=ш+1

i=1,5

X[i]:=i3   Y[i]:=X[i]/2

початок

x,e

S:=0; i:=1;  m:=1;  p:=-1

|m|>e

P:=-p*x; m:=p/I; S:=S+m; i:=i+1

S

кінець


 

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

68978. Вказівники. Функції динамічного розподілу пам’яті 37 KB
  Кожна змінна в програмі - це об’єкт, який має ім’я і значення. За ім’ям можна звернутися до змінної і отримати (а потім, наприклад, надрукувати) її значення. Щоб отримати адресу в явному вигляді, в мові Сі застосовують унарну операцію. Вираз Е дозволяє отримати адресу ділянки пам’яті, виділеної на машинному рівні для змінної Е.
68979. Функції, їх параметри. Рекурсія. Прототипи функцій 35.5 KB
  Визначення функції Опис функції та її тип Рекурсивні функції Визначення функції. Синонімами цього іншого поняття в інших мовах програмування є процедури підпрограми підпрограми-функції процедури-функції. Всі функції в мові Сі мають рекомендуємий стандартами мови єдиний формат...
68980. Структури, об’єднання 36.5 KB
  Структура - це з’єднане в єдине ціле безліч поіменованих елементів (компонентів) даних. На відміну від масиву, який завжди складається з однотипних елементів, компоненти структури можуть бути різних типів і всі повинні мати різні імена.
68981. Рекурсивні функції і процедури, параметри-процедури 30 KB
  Тобто це є визначенням функції через цю саму функцію, У мові Паскаль рекурсивний опис функції полягає в тому, що в тілі такої функції міститься звертання до цієї ж функції. Наведемо рекурсивний опис функції п...
68982. Файли, робота з файлами 41 KB
  План заняття: Організація файлів Робота з файлами Підготовчі та завершальні операції Операції уведеннявиведення Пересування по файлу Організація файлів Є багато задач коли кількість компонентів певного типу будьякого з відомих уже нам наперед визначити неможливо то її визначають у процесі виконання програми.
68983. Текстові файли 36.5 KB
  В кінці кожного рядка є символ кінець рядка внутрішнє відображення якого залежить від реалізації. Звичайно кінець рядка це комбінація коду переведення каретки символ 13 за яким може бути код переведення рядка символ 10. Для програмування переважно немає потреби знати коди символів...
68984. Модулі. Модуль і його структура 49.5 KB
  Модуль - це сукупність сталих, типів даних, змінних, процедур і функцій, які можна використати у програмі або в іншому модулі. Сам модуль не є виконуваною програмою. Модульний підхід до проектування дає змогу розділити програму на частини, які компілюють окремо.
68985. Вказівники. Вказівний тип 35.5 KB
  У мові Паскаль для роботи з динамічними об’єктами передбачено спеціальний тип значень – вказівний. Це такий же простий тип, якими є цілий, дійсний, логічний. Однак для нього в мові не зарезервовано жодного стандартного ідентифікатора. Загальний вигляд опису вказівного типу такий...
68986. Операції над змінними вказівного типу 52 KB
  Оператор присвоєння записують так само як і для інших типів: S:=r; де 5 змінна вказівного типу r може бути змінною цього ж вказівного типу функцією тобто значенням якої є вказівник цього ж вказівного типу або порожній вказівник nil. Для введених нами раніше змінних вказівного типу...