Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка (Информатика).doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
3.12 Mб
Скачать

7.2. Примеры выполнения задания

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

где

Постановка задачи предполагает организацию цикла по Х и вычисление конечной суммы произведения anX. Структурограмма задачи и соответствующая ей программа приведены ниже.

Program LAB41;

Var

N, NK: Integer;

X, hx, a, b, hx, s, x0, xn, y: Real;

Begin

Write (‘Введите X0, HX, XN, NK’);

Read (X0, HX, XN, NK);

X:=X0;

{Начальная установка суммы}

S:=0;

{Внутренний цикл по параметру N}

Repeat

For N:=0 to NK do begin

If X<=0.4 then A:=2*N

else A:=N/2;

B:=A*Exp(N*Ln(X));

S:=S+B;

End; {Конец цикла по N}

Y:=(Sin(X)+2)*S/(3+Cos(X));

WriteLn(‘X=’, X, ‘ ’: 5, ‘Y=’, Y);

X:=X+HX

Until X>XN;

End.

Рис. 1

Результаты выполнения программы

Введите X0, HX, XN, NK 0.5 0.1 1 10

X= 5.0000000000E-01 Y= 6.3567896112E-01

X= 6.0000000000E-01 Y= 1.8855699590E+00

X= 7.0000000000E-01 Y= 4.3980391496E+00

X= 8.0000000000E-01 Y= 9.5858985882E+00

X= 9.0000000000E-01 Y= 2.0488822908E+01

Задача 2.Билет на городском транспорте имеет шестизначную нумерацию от 000000 до 999999. Билет считается "счастливым", если сумма трех левых первых цифр равна сумме трех правых цифр. Составьте алгоритм и напишите программу подсчета числа "счастливых" билетов.

Обозначим через A,B,C,D,E,F соответственно разряды шестизначного числа слева направо. Каждый из разрядов этого числа изменяется от 0 до 9. Все переменные A,B,C,D,E,F являются параметрами циклов. В целом алгоритм можно построить по схеме вложенных циклов. Внешний цикл организуем по переменно А, все другие по B,C,D,E и F будут соответственно вложенными. Самый внутренний цикл организован по F. Далее согласно задаче внутри цикла по F необходим логический блок проверки условия A+B+C=D+E+F. Если оно выполняется, то счетчик числа "счастливых" билетов k=k+1. После чего ветвь "нет" и выход линейного блока k=k+1 объединяются и процесс многократно повторяется. Структурограмма этого алгоритма приведен ниже.

Рис. 2

Program Bilet;

Var

a,b,c,d,e,f:integer;

k:longint;

Begin

For a:=0 to 9 do

For b:=0 to 9 do

For c:=0 to 9 do

For d:=0 to 9 do

For e:=0 to 9 do

For f:=0 to 9 do

If (a+b+c)=(d+e+f) then k:=k+1;

Writeln ('k=',k);

End.

Результаты выполнения программы

k=55252

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

  1. Дайте определение вложенного цикла.

  2. Основные правила построения вложенных циклов.

  3. Какова последовательность изменения параметров вложенного цикла?

  4. Какие синтаксические схемы используются при построении вложенных циклов?

  5. Чем определяется максимальная глубина вложенного цикла?

  6. Может ли итерационный цикл быть внешним?

  7. Чему равно значение параметра цикла при завершении внутреннего цикла?

  8. Могут ли быть внутри итерационного цикла разветвления?

  9. Приведите примеры вложенных циклов с глубиной вложения равной 4.

  10. Можно ли для вложенных циклов последовательно трижды записать REPEAT, REPEAT, REPEAT?

  11. Можно ли для вложенных циклов последовательно дважды записать WHILE X XK DO WHILE A AK DO?

  12. Как определить объём выводимых данных для вложенного цикла?