Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 20.02.2018
Сообщений: 6

GraphABC: как работает цикл while в конце кода?

20.02.2018, 17:51. Показов 1796. Ответов 1

Студворк — интернет-сервис помощи студентам
Не могу понять как работает цикл while в конце кода.
Пожалуйста объясните что и как со строчки
Pascal
1
while f<=2*pi do...
Pascal
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
36
37
uses graphABC;
var x0,y0,i,x,y:integer;
    r,a,m,f:real;
    s:string;
begin
a:=2;
x0:=windowwidth div 2;
y0:=windowheight div 2;
m:=(x0-50)/(a*sqrt(2));
line(0,y0,2*x0,y0);   // Линия ось абсцисс
line(x0,0,x0,2*y0);   // Линия ось ординат
for i:=1 to 2*(trunc(a*sqrt(2))+1) do
 begin
  line(x0+round(i*m/2),y0-3,x0+round(i*m/2),y0+3);    // Деления на
  line(x0-round(i*m/2),y0-3,x0-round(i*m/2),y0+3);    // оси абсцисс.
  line(x0+3,y0-round(i*m/2),x0-3,y0-round(i*m/2));    // Деления на   
  line(x0+3,y0+round(i*m/2),x0-3,y0+round(i*m/2));    // оси ординат.
  str(i/2:0:1,s);
  textout(x0+round(i*m/2),y0+10,s);       // Нумерация на 
  textout(x0-round(i*m/2),y0+10,'-'+s);   // оси абсцисс.
  textout(x0-20,y0-round(i*m/2),s);       // Нумерация на 
  textout(x0-25,y0+round(i*m/2),'-'+s);   // оси ординат.
 end;
 
f:=0;
while f<=2*pi do
 begin
  if cos(2*f)>=0 then
   begin
    r:=a*sqrt(2*cos(2*f));
    x:=x0+round(r*cos(f)*m);
    y:=y0-round(r*sin(f)*m);
    setpixel(x,y,clRed);
   end;
  f:=f+0.001;
 end;
end.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.02.2018, 17:51
Ответы с готовыми решениями:

Цикл FOR,WHILE и Цикл DO WHILE (DENWER+PHP)
Составить алгоритм и программу для вычисления произведения чисел: 13, 14.3, 15.6, 16.9, …, 40.3...

Придумайте свою задачу на графику (GraphABC) и решите её трёмя типами циклов (for, repeat, while)
Придумайте свою задачу на графику (GraphABC) и решите её трёмя типами циклов (for, repeat, while)...

Создать программу по всем 3 видам циклов...цикл с параметром,цикл с условием,цикл,и цикл с предусловием...
Найти сумму чисел 1 в квадрате до 10 c квадрате...операцию возведению в степень не использовать...

1
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
20.02.2018, 18:01
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
f:=0; //начальный угол=0
while f<=2*pi do//пока он не больше 2pi
 begin
  if cos(2*f)>=0 then //если косинус не отрицательный
   begin
    r:=a*sqrt(2*cos(2*f));//вычисляем полярный радиус по уравнению кривой
    x:=x0+round(r*cos(f)*m); //переводим точку конца радиуса
    y:=y0-round(r*sin(f)*m);  //в декартовы координаты с учетом масштаба
    setpixel(x,y,clRed);  //и рисуем в них красную точку
   end;
  f:=f+0.001;//увеличиваем угол
 end;
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.02.2018, 18:01
Помогаю со студенческими работами здесь

В целочисленном массиве найти первое с конца нечетное число (цикл while)
В целочисленном массиве найти первое с конца нечетное чило Через while

Цикл While переделать на цикл repeat until
как из While переделать на цикл repeat until

Отладить программу. Для повторения работы программы должен быть организован цикл while или цикл repeat
Отладить программу. Для повторения работы программы должен быть организован цикл while или цикл...

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

Переделать код содержащий в себе цикл с параметром, в код с циклом с ПРЕДУСЛОВИЕМ (while do)
Program Sum_Del; Var N, I, Sum_Max, Sum, K, Ch : Integer; Begin Write('Введите число N: '); ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru