Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lab_PS.doc
Скачиваний:
11
Добавлен:
12.11.2019
Размер:
10.92 Mб
Скачать

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

Тема: Циклічні програми , які містять розгалуженя.

Мета: Формування умінь створення циклічних програм, які містять розгалуження на алгоритмічній мові високого рівня GW-Basiс.

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

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

Залежно від того , коли перевіряється умова, тобто який буде порядок виконання трьох етапів ,розрізняють цикли:

- цикли з передумовою

- цикли з післяумовою

- цикли з параметром (FOR -NEXT)

- цикли з параметром(WHILE – WEND)

. Цикл складається із заголовка і тіла циклу. Заголовок циклу мовою GW Basic описується оператором циклу FOR. В цьому операторі задається початкове значення параметра циклу, крок його зміни і перевірка досягнення параметром циклу кінцевого значення. Тіло циклу являє собою послідовність операторів, які виконуються в циклі. Закінчується цикл оператором NEXT. Цикл мовою Pascal може бути організований за допомогою оператора for...do, але параметром циклу в цьому операторі повинна бути тільки цілочисельна змінна. Ця змінна набуває значеня від 1 до N з кроком зміни на одиницю, де N - кінцева кількість циклів. Тіло мовою Pascal може складатись з одного або послідовності операторів, обмежених словами begin i end. Такі цикли називаються циклами за лічильником

2. Хід роботи

Приклад. Обчислити добуток та кількість усіх від’ємних значень функції y=fi+8(x)= проміжку [0;i] з кроком h=0.1·і де і=16 -номер варіанту..

Розв’язок задачі.

1. Графічний алгоритм показаний на рис.2.1

2. Ідентифікація змінних

Змінна

x

Y

k

d

h

Ідентифікатор

X

Y

K

D

H

Рис 2.1

3. Програма мовою GW- Basic

10 REM

20 H=.1*16

30 K=0:D=1:XP=H:XK=16:DX=H

40 FOR X=XP TO XK STEP DX

50 Y=10.8*ABS(COS(X^2/1.13))*SIN(X+1.4)

60 IF Y<0 THEN K=K+1:D=D*Y

70 NEXT X

80 PRINT "d=";D,"k=";K

90 END

4. Результати обчислень

d= .8159141 k= 4

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

  1. Напишіть програму без застосування оператора циклу.

  1. Чи може розгалуження не входити до тіла циклу?

  2. Як побудувати програму мовою GW Basic за допомогою неповного умовного оператора, використовуючи цикл з післяумовою чи передумовою?

  3. Побудуйте програму з використання циклічних структур з передумовою та післяумовою.

  4. Змініть програми таким чином, щоб перед виведенням результатів обчислень було надруковано повідомлення “РЕЗУЛЬТАТИ ОБЧИСЛЕННЯ”.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]