Содержание
- 2. Целью данной работы является моделирование объекта «часы» в среде программирования Turbo Pascal. Для реализации главной цели
- 3. ЭТАПЫ МОДЕЛИРОВАНИЯ I этап: Постановка задачи (под задачей понимается некая проблема, которую надо решить) III этап:
- 4. Постановка задачи Задача: Программа «Часы» должна выводить изображение циферблата с движущимися стрелками (часовой, минутной, секундной).
- 5. Выбор входных и выходных данных Входные данные: R — радиус циферблата; X0, Y0 — координаты центра
- 6. Математическая модель 1.Определение положения стрелок Положение стрелок на циферблате определяется следующими формулами: Шаг минутной и секундной
- 7. 2. Рисование циферблата. Для создания изображения циферблата необходимо нарисовать: Белую закрашенную окружность радиусом R+40; Синюю окружность
- 8. Координаты начала и конца каждого отрезка линии шкалы делений определяются по формулам: x1:=x0+0.96*r*cos(sec); y1:=y0-0.96*r*sin(sec); x:=x0+r*cos(sec); y:=y0-r*sin(sec);
- 9. 3. Рисование стрелок Длина часовой стрелки: Lh:=0,6*R Длина минутной стрелки: Lm:=0,8*R Длина секундной стрелки: Ls:=0,8*R Координаты
- 10. 4. Реализация анимированного изображения. Сначала рисуется циферблат, который в дальнейшем остается неизменным. 2. Создание эффекта движения
- 11. Компьютерный эксперимент Программа «Стрелочные часы» program chasy; uses graph, crt; {ОБЪЯВЛЕНИЕ ПЕРЕМЕННЫХ} var r,s,ss,m,h,x0,y0,x,y,x1,y1,x2,y2,n,t,tmax,d,driver,mode:integer; k: string[2];
- 12. {ПРОЦЕДУРА РИСОВАНИЯ СТРЕЛОК} Procedure strelka (ugol,dlina:real); Var x,y:integer; begin x:=Round(x0+dlina*cos(ugol*pi/180)); y:=Round(y0-dlina*sin(ugol*pi/180)); Line(x,y,x0,y0); end; {НАЧАЛО ОСНОВНОЙ ПРОГРАММЫ}
- 13. {РИСОВАНИЕ ЦИФЕРБЛАТА} setbkcolor(blue); setcolor(white); {циферблат – белая закрашенная окружность} setfillstyle(solidfill, white); fillellipse(x0,y0,r+40,r+40); {синяя окружность внутри белой
- 14. {рисование каждого пятого деления шкалы циферблата более длинным и с большей толщиной линии} if s mod
- 15. {временная задержка} delay(d); setcolor(white); setlinestyle(0,0,3); strelka(min,lm); strelka(hour,lh); setlinestyle(0,0,1); strelka(ssec,ls); setfillstyle(solidfill,blue); fillellipse(x0,y0,5,5); {задание нового значения секунд (минут,
- 16. Анализ результатов моделирования Написанная мной программа выводит на экран компьютера стрелочные часы. Но, чтобы данные часы
- 18. Скачать презентацию