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

1 Блок - схемыспособ (цикл - пока) 2 способ (цикл - до)

Программы

Program a1;

Var x, y: real;

Begin

x := 1;

while x<=5 do

begin

y := sqr (x);

writeln (‘x=’, x, ‘_y=’, y);

x := x+0.5;

end;

end.

Program a2;

Var x, y: real;

Begin

x := 1;

Repeat

y: =sqr(x);

writeln (‘x=’, x, ‘_y=’, y);

x := x+0.5;

until x>5;

end.

ЗаданиеНайти значение функцииy=f(x), еслиxизменяется отAдоBс шагом 0,5 (или с шагом -0,5). Написать программу, алгоритм на алгоритмическом языке и блок – схему для решения задачи с помощью циклов с предусловием и постусловием (должно быть 2 программы, 2 алгоритма и 2 блок – схемы).

варианта

Функция

А

В

варианта

Функция

А

В

1

10

17

19

10

17

2

1

8

20

1

7

3

1

9

21

12

2

4

5

12

22

11

4

5

-12

-4

23

2

9

6

1

9

24

3

9

7

-2

7

25

12

7

8

5

-4

26

5

11

9

1

12

27

-4

3

10

1

7

28

12

1

11

10

3

29

14

9

12

6

13

30

2

7

13

4

12

31

15

10

14

10

5

32

16

4

15

1

8

33

5

12

16

8

17

34

12

9

17

12

5

35

6

12

18

4

9

Контрольные вопросы:

  1. Как записываются операторы While, Repeat?

  2. Как изображается циклы в блок-схемах?

Практическая работа 11

Тема:Составление программ циклических вычислительных процессов. Циклы Repeat и While

Цель: Научиться решать задачу с помощью циклов с предусловием и с постусловием.

ЗадачаВычислить значение функции

при x=a·sin a, значение a изменяется от –0,3 до 0,4 с шагом 0,1.

Решим задачу с помощью условного оператора и оператора безусловного перехода.

program prim;

uses crt;

label n;

var a, x, y: real;

begin

clrscr;

a:=-0.3;

n: x:=sin(a);

if x>=2 then y:=sqr(x) else y:=exp(x);

writeln ('y(',x:6:3,')=',y:6:3,' pri a=',a:6:3);

a:=a+0.1;

if a<=0.4 then goto n ;

readkey

end.

Решите задачу с помощью цикла с помощью операторов WhileиRepeatпо заданным блок-схемам.

Задание для самостоятельного решения.

Напишите программу решения задачи. Запишите решение задачи на алгоритмическом языке и составьте блок-схему для обоих видов циклов: цикла While и Repeat.

Вариант 1

Вычислить значение функции:

Вариант 2

Вычислить значение функции:

Вариант 3

Вычислить значение функции:

Вариант 4

Вычислить значение функции:

Вариант 5

Вычислить значение функции:

Вариант 6

Вычислить значение функции:

Вариант 7

Вычислить значение функции:

Вариант 8

Вычислить значение функции:

Вариант 9

Вычислить значение функции:

Вариант 10

Вычислить значение функции:

Вариант 11

Вычислить значение функции:

Вариант 12

Вычислить значение функции:

Вариант 13

Вычислить значение функции:

Вариант 14

Вычислить значение функции:

Вариант 15

Вычислить значение функции:

Вариант 16

Вычислить значение функции:

Вариант 17

Вычислить значение функции:

Вариант 18

Вычислить значение функции:

Вариант 19

Вычислить значение функции:

Вариант 20

Вычислить значение функции:

Вариант 21

Вычислить значение функции:

Вариант 22

Вычислить значение функции:

Вариант 23

Вычислить значение функции:

Вариант 24

Вычислить значение функции:

Вариант 25

Вычислить значение функции:

Вариант 26

Вычислить значение функции:

Вариант 27

Вычислить значение функции:

Вариант 28

Вычислить значение функции:

Вариант 29

Вычислить значение функции:

Вариант 30

Вычислить значение функции:

Вариант 31

Вычислить значение функции:

Вариант 32

Вычислить значение функции:

Вариант 33

Вычислить значение функции:

Вариант 34

Вычислить значение функции:

Вариант 35

Вычислить значение функции:

Контрольные вопросы:

  1. Опишите формат оператора цикла с предусловием.

  2. Опишите формат оператора цикла с постусловием.

  3. Как записывается оператор ветвления?

Практическая работа 12

Тема: Составление программ циклических вычислительных процессов. Цикл For - do, For - down

Цель: Научиться применять оператор цикла по параметру.

Теория

for i:=A to В do {для i от А до В выполнять (шаг равен 1)}

begin {начало цикла}

тело цикла {операторы}

end; {конец цикла}

for i:=A downto В do {для i от А до В выполнять (шаг равен -1)}

begin {начало цикла}

тело цикла {операторы}

end; {конец цикла}

Оператор цикла с параметром применяют тогда, когда известно число повторений одного и того же действия или когда заданы первоначальное и конечное значение цикла.

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

Рассмотрим, как выполняется оператор цикла с параметром вида For i:=A to В do. Сначала вычисляются значения выражений А и В. Если А <= В, то <параметр> последовательно принимает значения, равные А, А+1,..., В - 1, В, то есть с шагом 1, и для каждого из этих значений выполняется «тело цикла». Если А > В, то <тело цикла> не будет выполнен ни разу и выполнение цикла с параметром сразу же закончится.

For i:=A downto В do и выполняется аналогичным образом, но значение <параметра> изменяется с шагом, равным -1.

Пример.

Составить программу вычисления значений функции для x от 1 до 20 с шагом 1.

Решение.

Вданном случае целесообразно организовать цикл с парамет­ром, изменяющимся от 1 до 20, то есть шаг изменения параметраравен +1.

Алг пример1

арг x (цел)

рез y (вещ)

нач

для x от 1 до 20 выполнять

нц

вывод у

кц

кон

Program prim1; {название}

Var x: integer ; y : real; {список переменных}

Begin {начало}

for x:=1 to 20 do {параметры цикла}

begin {начало цикла}

y:= 1/x; {оператор тела цикла – расчет y}

writeln (‘y=’, y); {оператор тела цикла – вывод y}

end; {конец цикла}

end. {конец}

Задание на дом Найти и вывести на экран значения данной функции для х от А до В. Оформить в отчет задание, блок-схему, алгоритм, программы. Например, для 1 варианта:

Найти и вывести значения функции

для х от 10 до17.

№ варианта

Функция

А

В

№ варианта

Функция

А

В

1

10

17

18

4

9

2

1

8

19

1

7

3

1

9

20

12

2

4

5

12

21

11

4

5

-12

-4

22

2

9

6

1

9

23

12

7

7

-2

7

24

5

11

8

5

-4

25

-4

3

9

1

12

26

12

1

10

1

7

27

14

9

11

10

3

28

2

7

12

6

13

29

15

10

13

4

12

30

16

4

14

10

5

31

5

12

15

1

8

32

12

9

16

8

17

33

6

12

17

12

5

34

2

15

Контрольные вопросы:

  1. Как записывается цикл по параметру на языке Паскаль?

  2. В каком случае пишется слово to, в каком – downto при написании оператора цикла по параметру?

  3. Чему равен шаг в цикле по параметру в Паскаль?

Практическая работа 13

Тема. Вычисление суммы и произведения.

ЦЕЛЬ: Научиться вычислять сумму, произведение числовых рядов.

Теория

Задача: Вычислить значение функции приx=1.

Дан числовой ряд, каждый k-ый член ряда вычисляется по формуле: x+2k, где x заданное число (в нашем случае x=1, получается ряд чисел: 3, 5, 7, 9, 11, 13…). Найти сумму второго, третьего и четвертого члена ряда (т.е. y=5+7+9).

Заметим, что вычисление выражения m = x + 2k повторяется для k от 2 до 4. В ячейке памяти, выделенной для переменной Y, будем «накапливать» значение суммы. Сначала присвоим Y значение 0, так как 0 не влияет на сумму чисел. Затем к нему прибавим первое вычисленное значение m =x+2k (ячейка памяти для вычисления промежуточного значения – значения члена ряда), потом второе и т.д. Таким образом, переменной Y присвоим значение суммы числового ряда.

Frame11

алг вычисление суммы

вещ x, m, y

нат k

нач

ввод x

y:=0

для k:=2 до 4 выполнять

нц

m:=x+2k

y:=y+m

кц

вывод y

кон

Задание. Запишите y без знака и. Напишите программу нахождения суммы и произведения числовых рядов для своего варианта. Постройте блок – схему задачи и заполните таблицу исполнения одной из программ.

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

Шаг

В памяти

На экране

Действие компьютера

1

x=1

_1

Ввод x: с клавиатуры 1

2

y=0

-

присвоение

3

k=2

-

Начало цикла, k=2, 2≤4 (и)

4

m=1+2·2=5

-

Вычисление значения m

варианта

Задание

Контрольные вопросы:

  1. Как найти сумму сумму членов числового ряда?

  2. Как найти произведение членов числового ряда?

  3. Как можно упростить прорамму?

Практическая работа 14

Тема. Вложенные циклы

ЦЕЛЬ: Приобретение навыков программирования, используя вложенные циклы.

Теория

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