Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Мітки. Оператор переходу. Застосування оператора переходу для дострокового виходу з циклу.




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

Оператор має вид:

Goto < мітка >

Мітка представляє собою ціле число без знака, що складається не більш ніж з 4 цифр. У розділі операторів кожна мітка може зустрічатися тільки перед одним оператором. Кожна мітка, що зустрічається в розділі операторів, повинна бути описана в розділі міток.

 

Розділ міток визначений наступною діаграмою:

 

Розділ міток

 

 

Після мітки, що відмічає оператор, треба ставити двокрапку. Наприклад:

1995: х:= х +I;

1: read(Y);

 

Увага! Дія оператора переходу усередину складного оператора ззовні не визначено.

 

Оператор переходу слід використати у незвичайних, виняткових ситуаціях, коли доводиться порушувати природну структуру алгоритму. Треба пам’ятати, що будь-який алгоритм може бути реалізований без застосування Goto без втрати ефективності. Цей факт має принциповий характер. Саме тому структурний стиль програмування іноді називають “Програмування без Goto ”.

У якості єдиного приклада програми з Goto розглянемо задачу пошуку елемента в одномірному масиві.

 

Приклад 8.

Program Search_in_Array;

Label 1;

Const n = 100;

Var A: Array[1..n] of Real;

b: Real;

Flag: Boolean;

i: Integer;

Begin

{Блок читання масиву A і елемента b}

Flag:= true;

For i:= 1 to n do

If A[i] = b then begin

Flag:= false; goto1

end; { переривання циклу }

1:If Flag

then Writeln(‘ Елемент ‘,b,’ у масиві відсутній ’)

else Writeln(‘ елемент ‘,b,’ стоїть на ’,i,’-тому місці ’);

End.

Вишуканий (елегантний) розв’язок цієї задачі без застосування Goto буде розглянуто нижче.

Хід роботи.

 

1. Скласти програму табулювання функції z = f (x, y) в прямокутнику [a, b]x[c, d] з кроком табуляції h (див. завдання №1 – свій варіант).

2. Зберегти її.

3. Відкомпілювати її і запустити на виконання для кількох значень. У зошити записати текст програми, вихідні дані, та результати роботи програми.

4. Написати в редакторі програми (виконати свій варіант із завдання № 2).

5. Зберегти їх.

6. Відкомпілювати їх і запустити на виконання для кількох значень. У зошити записати текст програм, вихідні дані та результати роботи програми.

 

 


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

 

1. Дати поняття оператору циклу з параметром.

2. Дати поняття операторів повторення While і Repeat.

3. Визначити поняття обмеженого типу.

4. Визначити складні типи даних.

5. Чим вiдрiзняються i що спiльного у циклiчних операторах?

6. Визначити поняття iтерацiйного циклу.

7. Описати структуру циклічних програм.

8. Визначити синтаксис оператору переходу. Застосування оператора переходу для дострокового виходу з циклу.

Завдання 1.

Скласти програму табулювання функції z = f (x, y) в прямокутнику [a, b]x[c, d] з кроком табуляції h.

 

№ п/п f (x, y) a b c d h
1. 1/(x+Öy)         0.1
2. exp(-x2-y2)         0.1
3. ln(x+Ö(x2+y2))         0.05
4. ln(x+Ö(x+y))         0.1
5. Ö(x2+y2+1)         0.05
6. sin(x-y)   p/2   p/2 0.20
7. tg(1/(x2+y2))   p/4     0.05
8. cos(x+y)   p/2   p/2 0.20
9. sin x + cos 2y   p/4   p/8 0.04
10. cos x + sin 3y   p/4   p/9 0.04
11. exp (1+x-y)         0.05
12. exp(-x+Öy)         0.1
13. exp(-(x-y)2)         0.05
14. ln(y+Ö(x-y))         0.1
15. sin x * cos 2y   p/4   p/4 0.05
16. cos x * sin 2y   p/4   p/4 0.20
17. 1/(1+x2+y)   ½     0.03
18. lg(1+Ö(x2+y2))         0.20
19. lg(x+y+Ö(x2+y2))         0.20
20. exp(-x-y)×ln x         0.2

 


Завдання 2.

  1. Дано натуральне число n. Скласти програму обчислення значення виразу: 2n .
  2. Дано натуральне число n. Скласти програму обчислення значення виразу: . Результат округлити до тисячних.
  3. Дано натуральне число n. Скласти програму обчислен­ня значення виразу: . Результат округлити до сотих.
  4. Дано натуральне ч­исло n. Скласти програму обчислення значення виразу: . Результат округлити до тисячних.

5. Скласти програму обчислення суми парних чисел у інтервалі від 0 до 10 включно.

6. Підрахувати кількість цифр у десятинному запису цілого додатного числа.

7. Дано ціле число. Знайти всі його дільники.

8. Скласти програму обчислення суми непарних чисел у інтервалі від a до b.

9. Підрахувати n-й елемент арифметичної прогресії, перший елемент якої 1, а крок дорівнює 2.

  1. ­Визначити просте чи складне дане число.

11. Знайти суму перших n елементів геометричної прогресії, перший елемент якої 1, а крок дорівнює 2.

  1. Дано дійсне число a, натуральне число n. Скласти програму обчислення значення виразу: . Результат округлити до тисячних.

13. Знайти перший від'ємний член послідовності cos(ctg m), при m = n, n+1, n+2, n+3, …. Причому n вимірюється у градусах. Результат вивести у радіанах з точністю до тисячних.

  1. Дано натуральне число n, дійсне число x. Скласти програму обчислення значення виразу: . Результат округлити до тисячних.

15. ­Розробити програму, яка за даним натуральним числом N та дійсним числом x в єдиному арифметичному циклі обчислює суми

C(N, x) = 1/0! - x2/2! + x4 /4!... + (-1)N* x 2N/(2N)!.

S(N, x) = x/1! - x3/3! + x5 /5!... + (-1)N* x 2N+1/(2N+1)!.

16. Дано натуральне число n. Ск­ласти програму обчислення значення виразу: . Результат округлити до тисячних.

 

Поделиться:





Читайте также:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...