Тема: циклические алгоритмы. Цикл с предусловием. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Тема: циклические алгоритмы. Цикл с предусловием.



 

Абракадабра на странице


 

Занятие II

Тема: Цикл с предусловием в графике.

Задача. Построить множество концентрических окружностей (с общим центром), удовлетворяющих следующим условиям:

а) радиус следующей окружности на m меньше предыдущей;

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

Итак, для решения задачи в программе мы должны запросить у пользователя значения переменных m и а, затем инициализировать графический режим и в цикле выполнять построение окружностей, меняя при этом радиус. Для наиболее красочного построения окружностей применим процедуру установки текущего цвета с применением случайных чисел.

Program Krugi;

Uses

Crt, Graph;

Var

i,

m,

R,

a,

DV,

DM: integer;

Begin

ClrScr;

Randomize;

write (‘Введите шаг изменения радиуса окружностей ‘);

readln (m);

write (‘Введите радиус большей окружности ‘);

readln (R);

write (‘Введите радиус меньшей окружности ‘);

readln (а);

write (‘Введите координаты центра ‘);

readln (X, Y);

DV:=detect;

InitGraph (DV, DM, ‘..\BGI’);

SetBkColor (7);

while R>=a do

begin

SetColor (Random(15));

Circle (X, Y, R);

R:=R-m;

end;

readln;

CloseGraph;

End.

Примечание. Здесь применена процедура Randomise, которая инициализирует генератор случайных чисел. Значения же случайных чисел можно получить с помощью функции Random (Х), где Х - параметр, указывающий диапазон значений случайного числа. Оно изменяется в пределах [0,Х[. Результат в этом случае будет типа Word. Если параметр Х не задан, то результат буде типа real в пределах [0.0,1.0[.

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

1. Составить программу, перемещающую отрезок заданной длины слева направо. Имитация движения осуществляется закраской цветом фона линии на предыдущем шаге и построением ее по новой координате Х на следующем шаге.

2. Составить программу, перемещающую отрезок заданной длины сверху вниз.

3. Составить программу, перемещающую отрезок заданной длины из левого верхнего угла в правый нижний, постепенно его увеличивая.

4. Нарисовать веер, состоящий из секторов круга, разукрашенных разным цветом.

5. Нарисовать окружность, меняющую цвет заданное число раз.

6. Изобразить движущуюся окружность заданного радиуса и цвета.

7. Изобразить движение выбранной Вами фигуры.

8. Изобразить движение грузовика.

9. Используя процедуру очистки экрана, постройте изображение надувающегося мыльного пузыря, который должен лопнуть, когда его радиус станет в 3 раза больше первоначального.

10. Нарисуйте последовательность вложенных квадратов с общим центром в центре экрана так, чтобы расстояние между сторонами уменьшалось до тех пор, пока не стало меньше трех точек.

11. Составьте программу “Растущая ель”. Рост ели имитируется добавлением к нижнему основанию треугольника (кроне ели) линии на одну точку шире основания как слева, так и справа. К основанию ствола добавляется прямая линия. Программа прекращает работу при увеличении высоты дерева вдвое.

12. Составьте программу “Рост лиственного дерева”. Рост кроны изображается добавлением окружностей.

13. Нарисуйте действующую модель часов с кукушкой. Часы должны тикать, кукушка куковать.

14. Нарисуйте движение маятника.

15. Нарисуйте движение фигуры, используя уже имеющийся файл с программой из темы “Операторы графики”.


 

Анятие III

Тема. Контрольная работа

1. Запишите конструкцию цикла с предусловием. В каких случаях применяется цикл с предусловием?

2. Запишите правильную структуру последовательности операторов:

a:=1; b:=1;

while a+b<8 do begin a:=a+1; b:=b+2 end; s:=a+b

Сколько раз будет повторен цикл и какими будут значения переменных a, b, s после его завершения?

3. Запишите правильную структуру последовательности операторов. Какими будут значения переменных а и b после выполнения операторов:

a:=1; b:=1;

while a<=8 do а:=a+1; b:=b+1

4. Запишите правильную структуру последовательности операторов. Определите значение переменной s после их выполнения.

а) s:=0; i:=0; while i<5 do Inc(i);s:=s+100 Div i;

b) s:=0; i:=0; while i>1 do begin s:=s+100 Div i; Dec(i) End;

5. Дана последовательность операторов, вычисляющих факториал f числа n, которая содержит пять ошибок. Найдите эти ошибки, предварительно записав операторы в правильном виде.

k:=1; f:=0;

while k<n do f=f*k

k:=k+1,

Примечание. Факториалом натурального числа называется произведение всех натуральных чисел от 1 до этого числа,

т.е. n!=1*2*3*...*(n-2)*(n-1)*n

6. Найдите и исправьте ошибки в следующем фрагменте программы, определяющей для заданного натурального числа n число, записанное цифрами числа n в обратном порядке.

p:=n;

while p>=0 do

begin

a:=a+p Mod 10;

p:=p Div 10

end;

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

8. Каким условиям должны удовлетворять значения переменной k, чтобы следующие циклы были бесконечны:

while c<0 do c:=c+k;

while k<>0 do k:=1+k;

while k<>0 do k:=k-2;

Подготовьтесь объяснить учителю их решения.


 

Занятие IV



Поделиться:


Последнее изменение этой страницы: 2016-12-30; просмотров: 317; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.219.86.155 (0.007 с.)