Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 20.09.2018
Сообщений: 2
GraphABC

Запрограммировать букву 'О'

20.09.2018, 18:05. Показов 911. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите исправить код для буквы "O". Нужно либо в два массва либо сделать так чтобы не было перехода от внутреннего круга к внешнему.
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
program letter_O; 
 
uses GraphAbc; 
type 
r_u = record 
r, u: real;
end; 
 
var 
x, y, s: integer; 
z, ms: real; 
p1: array of point; 
p2: array of r_u; 
//вычисление угла между лучом и осью Х 
function Ugol(x0, y0, x, y: integer): real; 
begin 
if (x > x0) and (y <= y0) then Ugol := arctan((y0 - y) / (x - x0))//I четверть 
else if (x > x0) and (y > y0) then Ugol := arctan((y0 - y) / (x - x0)) + 2 * pi//IV четверть 
else if x < x0 then Ugol := arctan((y0 - y) / (x - x0)) + pi//II-III четверти 
else if x = x0 then 
begin 
if y < y0 then Ugol := pi / 2//вертикально вверх 
else if y > y0 then Ugol := 3 * pi / 2//вертикально вниз 
end; 
end; 
 
procedure drrect; 
begin 
SetPenColor(clblack); 
 
for var i := 0 to 9 do 
begin 
p1[i].X := x + round(p2[i].r * cos(p2[i].u)); 
p1[i].Y := y - round(p2[i].r * sin(p2[i].u)); 
end; 
Polygon(p1); 
end; 
 
 
procedure MoveRect(Key: Integer); 
begin 
case Key of 
VK_Escape: halt; 
Vk_Left: if x > 55 then x := x - s; 
VK_Right: if x < Window.Width - 55 then x := x + s; 
VK_Up: if y > 55 then y := y - s; 
VK_Down: if y < window.Height - 55 then y := y + s; 
VK_T: 
for var i := 0 to 9 do 
p2[i].u := p2[i].u - 0.1; 
VK_R: 
for var i := 0 to 9 do 
p2[i].u := p2[i].u + 0.1; 
VK_Z: 
for var i := 0 to 9 do 
p2[i].r := p2[i].r * (1 + ms); 
VK_X: 
for var i := 0 to 9 do 
p2[i].r := p2[i].r * (1 - ms); 
end; 
clearWindow; 
drrect; 
UnlockDrawing; 
end; 
 
procedure input(var z: real; var ms: real; var s: integer); 
begin 
write('Введите угол вращение при каждом шаге: '); 
read(z); 
writeln('', z); 
z := z * pi / 180; 
write('Введите масштаб изменения: '); 
read(ms); 
writeln('', ms); 
writeln('Введите шаг буквы: '); 
read(s); 
writeln('', s); 
end; 
 
            
begin 
input(z, ms, s); 
OnKeyDown := MoveRect; 
setwindowsize(600, 600); 
CenterWindow; 
ClearWindow; 
x := Window.width div 2; 
y := window.Height div 2; 
setlength(p1, 10); 
p1[0].X := x ; p1[0].Y := y ; 
p1[1].X := x +50; p1[1].Y := y; 
p1[2].X := x + 50; p1[2].Y := y + 75; 
p1[3].X := x; p1[3].Y := y + 75 ; 
p1[4].X := x ; p1[4].Y := y ; 
p1[5].X := x - 25; p1[5].Y := y - 25; 
p1[6].X := x + 75; p1[6].Y := y - 25; 
p1[7].X := x + 75; p1[7].Y := y + 100; 
p1[8].X := x - 25; p1[8].Y := y + 100; 
p1[9].X := x - 25; p1[9].Y := y -25; 
setlength(p2,10); 
for var i := 0 to 9 do 
begin 
p2[i].r := sqrt(sqr(x - p1[i].X) + sqr(y - p1[i].Y)); 
p2[i].u := Ugol(x, y, p1[i].X, p1[i].Y); 
end; 
drrect; 
end.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.09.2018, 18:05
Ответы с готовыми решениями:

Строки. Заменить в строке букву е на букву и, а букву и на е до первой точки
Задание 3. Дана строка символов. Замените в ней букву е на букву и, а букву и на е до первой точки.

я задал произвольный текст длинной 5 строк, и допустим что я ввел 5 раз букву "П" , какой цикл нужно создать чтобы пометять букву "П" на букву "Р" ?
я задал произвольный текст длинной 5 строк, и допустим что я ввел 5 раз букву &quot;П&quot; , какой цикл нужно создать чтобы пометять букву...

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

3
Почетный модератор
 Аватар для Puporev
64316 / 47612 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
20.09.2018, 20:54
Цитата Сообщение от ivan474847 Посмотреть сообщение
Нужно либо в два массива либо сделать
Так и сделайте.
0
Почетный модератор
 Аватар для Puporev
64316 / 47612 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
21.09.2018, 11:37
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
uses GraphAbc;
type 
r_u = record 
r, u: real;
end; 
 
var 
x, y, s: integer; 
z, ms: real; 
p1,p11: array of point;
p2,p22: array of r_u;
function Ugol(x0, y0, x, y: integer): real;
begin 
if (x > x0) and (y <= y0) then Ugol := arctan((y0 - y) / (x - x0))
else if (x > x0) and (y > y0) then Ugol := arctan((y0 - y) / (x - x0)) + 2 * pi
else if x < x0 then Ugol := arctan((y0 - y) / (x - x0)) + pi
else if x = x0 then 
begin 
if y < y0 then Ugol := pi / 2
else if y > y0 then Ugol := 3 * pi / 2
end; 
end; 
 
procedure drrect; 
begin 
SetPenColor(clblack); 
for var i:=0 to 4 do
 begin 
  p1[i].X := x + round(p2[i].r * cos(p2[i].u)); 
  p1[i].Y := y - round(p2[i].r * sin(p2[i].u)); 
  p11[i].X := x + round(p22[i].r * cos(p22[i].u));
  p11[i].Y := y - round(p22[i].r * sin(p22[i].u));
 end; 
PolyLine(p1);
PolyLine(p11);
end; 
 
 
procedure MoveRect(Key: Integer); 
begin 
case Key of 
VK_Escape: halt; 
Vk_Left: if x > 55 then x := x - s; 
VK_Right: if x < Window.Width - 55 then x := x + s; 
VK_Up: if y > 55 then y := y - s; 
VK_Down: if y < window.Height - 55 then y := y + s; 
VK_T: 
for var i := 0 to 4 do
 begin 
  p2[i].u := p2[i].u-0.1; 
  p22[i].u:=p22[i].u-0.1;
 end; 
VK_R: 
for var i:=0 to 4 do 
 begin
  p2[i].u:=p2[i].u+0.1; 
  p22[i].u:=p22[i].u+0.1; 
 end; 
VK_Z: 
for var i:=0 to 4 do 
 begin
  p2[i].r:=p2[i].r*(1+ms); 
  p22[i].r:=p22[i].r*(1+ms); 
 end; 
VK_X: 
for var i:=0 to 4 do 
 begin
  p2[i].r:=p2[i].r*(1-ms);
  p22[i].r:=p22[i].r*(1-ms);
 end; 
end; 
clearWindow; 
drrect; 
UnlockDrawing; 
end; 
 
procedure input(var z: real; var ms: real; var s: integer); 
begin 
write('Введите угол вращение при каждом шаге: '); 
read(z); 
writeln('', z); 
z := z * pi / 180; 
write('Введите масштаб изменения: '); 
read(ms); 
writeln('', ms); 
writeln('Введите шаг буквы: '); 
read(s); 
writeln('', s); 
end; 
            
begin 
input(z, ms, s); 
OnKeyDown := MoveRect; 
setwindowsize(600, 600); 
CenterWindow; 
ClearWindow; 
x := Window.width div 2; 
y := window.Height div 2; 
setlength(p1,5); 
p1[0].X := x-40 ; p1[0].Y := y+50 ; 
p1[1].X := x -40; p1[1].Y := y-50; 
p1[2].X := x+40; p1[2].Y := y-50; 
p1[3].X := x+40; p1[3].Y := y+50 ; 
p1[4]:=p1[0];
setlength(p11,5); 
p11[0].X:=x-30; p11[0].Y:=y+40; 
p11[1].X:=x-30; p11[1].Y:=y-40; 
p11[2].X:=x+30; p11[2].Y:=y-40; 
p11[3].X:=x+30; p11[3].Y:=y+40 ; 
p11[4]:=p11[0];
setlength(p2,5); 
setlength(p22,5); 
for var i :=0 to 4 do 
 begin 
  p2[i].r:=sqrt(sqr(x-p1[i].X)+sqr(y-p1[i].Y)); 
  p2[i].u:=Ugol(x,y,p1[i].X,p1[i].Y); 
  p22[i].r:=sqrt(sqr(x-p11[i].X)+sqr(y-p11[i].Y)); 
  p22[i].u:=Ugol(x,y,p11[i].X, p11[i].Y); 
 end; 
drrect; 
end.
0
0 / 0 / 0
Регистрация: 20.09.2018
Сообщений: 2
22.09.2018, 00:43  [ТС]
Спасибо большое за помощь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.09.2018, 00:43
Помогаю со студенческими работами здесь

В заданном списке фамилий найти фамилии, начинающиеся на букву «к» и оканчивающиеся на букву «а»
В заданном списке фамилий найти фамилии, начинающиеся на букву «к» и оканчивающиеся на букву «а».

Зашифровать текст, заменив каждую букву на букву, отстоящую от нее на n букв
Помогите пожалуйста написать прогу в си вот код паскаля задание Зашифровать заданный текст, записанный с помощью русских букв и...

Вывести из текстового файла на экран слова, начинающиеся на букву 'а' и заканчивающиеся на букву 'в'.
Вывести из текстового файла на экран слова, кот. начинаются на букву 'а' и заканчивается на букву 'в'.

Ввести букву и вывести на печать следующую за ней букву в алфавитном порядке
Помогите, пожалуйста, сделать консоль) нужно вывести сообщение &quot;Введите букву&quot;, после чего вводим одну букву латинского алфавита и...

Дана строка символов. Замените в ней букву а на букву о до первой точки
Дана строка символов. Замените в ней букву а на букву о до первой точки.


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru