Другие языки программирования и технологии
Пожалуйста помогите мне срочна нужно алгоритм рисования индекса города Новосибирск (630046),
На заборе или в Кумире?
Максат Шаймурат
В кумире
Максат Шаймурат
Можно алгоритм его рисования
Максат Шаймурат
спасибо
uses GraphABC;
begin
(Window.Width, Window.Height) := (950, 200);
var S := '630046'; // Цифры индекса для вывода;
var Точки := Arr(0,0, 0,0, 50,0, 0,50, 50,50, 0,100, 50,100); // координаты 8 точек (первые два нуля не используются);
var a: array of integer; // массив используемый для задания пути соединения точек
for var j := 1 to S.Length do //Перебор Цифр из S для вывода
begin
case strtoint(S[j]) of
0: begin setLength(a, 7); a := Arr(1, 2, 4, 6, 5, 3, 1); end;
1: begin setLength(a, 4); a := Arr(3, 2, 4, 6); end;
2: begin setLength(a, 5); a := Arr(1, 2, 4, 5, 6); end;
3: begin setLength(a, 5); a := Arr(1, 2, 3, 4, 5); end;
4: begin setLength(a, 6); a := Arr(1, 3, 4, 2, 4, 6); end;
5: begin setLength(a, 6); a := Arr(2, 1, 3, 4, 6, 5); end;
6: begin setLength(a, 6); a := Arr(2, 3, 5, 6, 4, 3); end;
7: begin setLength(a, 4); a := Arr(1, 2, 3, 5); end;
8: begin setLength(a, 8); a := Arr(3, 1, 2, 4, 3, 5, 6, 4); end;
9: begin setLength(a, 5); a := Arr(4, 3, 1, 2, 4, 5); end;
end;
var (x1, y1) := (Точки [a[0]*2], Точки [a[0]*2+1]);
for var k := 1 to a.Length - 1 do
begin
var (x2, y2) := (Точки [a[k]*2], Точки [a[k]*2+1]);
line(x1 + 80 * j, y1+40, x2 + 80 * j, y2 + 40);
(x1,y1) := (x2,y2);
end;
end;
end.
begin
(Window.Width, Window.Height) := (950, 200);
var S := '630046'; // Цифры индекса для вывода;
var Точки := Arr(0,0, 0,0, 50,0, 0,50, 50,50, 0,100, 50,100); // координаты 8 точек (первые два нуля не используются);
var a: array of integer; // массив используемый для задания пути соединения точек
for var j := 1 to S.Length do //Перебор Цифр из S для вывода
begin
case strtoint(S[j]) of
0: begin setLength(a, 7); a := Arr(1, 2, 4, 6, 5, 3, 1); end;
1: begin setLength(a, 4); a := Arr(3, 2, 4, 6); end;
2: begin setLength(a, 5); a := Arr(1, 2, 4, 5, 6); end;
3: begin setLength(a, 5); a := Arr(1, 2, 3, 4, 5); end;
4: begin setLength(a, 6); a := Arr(1, 3, 4, 2, 4, 6); end;
5: begin setLength(a, 6); a := Arr(2, 1, 3, 4, 6, 5); end;
6: begin setLength(a, 6); a := Arr(2, 3, 5, 6, 4, 3); end;
7: begin setLength(a, 4); a := Arr(1, 2, 3, 5); end;
8: begin setLength(a, 8); a := Arr(3, 1, 2, 4, 3, 5, 6, 4); end;
9: begin setLength(a, 5); a := Arr(4, 3, 1, 2, 4, 5); end;
end;
var (x1, y1) := (Точки [a[0]*2], Точки [a[0]*2+1]);
for var k := 1 to a.Length - 1 do
begin
var (x2, y2) := (Точки [a[k]*2], Точки [a[k]*2+1]);
line(x1 + 80 * j, y1+40, x2 + 80 * j, y2 + 40);
(x1,y1) := (x2,y2);
end;
end;
end.
Александр Казаков
Еще один вариант, чуть нагляднее
uses GraphABC;
begin
(Window.Width, Window.Height) := (950, 200);
var S := '630046'; // Цифры индекса для вывода;
// координаты соединения последовательно 8 точек
var Точки := Arr(50,0, 50,50, 50,100, 0,100, 0,50, 0,0, 50,0, 0,50, 50,50, 0,100);
var a := new integer[10]; // массив используемый для подсвечиваия линий цифры
Pen.Width := 5;
for var j := 1 to S.Length do //Перебор Цифр из S для вывода
begin
case strtoint(S[j]) of
0: a := Arr(1, 1, 1, 1, 1, 1, 0, 0, 0); // г-- 6 --i
1: a := Arr(1, 1, 0, 0, 0, 0, 1, 0, 0); // | / |
2: a := Arr(1, 0, 1, 0, 0, 1, 0, 0, 1); // 5 7 1
3: a := Arr(0, 0, 0, 0, 0, 1, 1, 1, 1); // | / |
(продолжение в следующем комментарии)
uses GraphABC;
begin
(Window.Width, Window.Height) := (950, 200);
var S := '630046'; // Цифры индекса для вывода;
// координаты соединения последовательно 8 точек
var Точки := Arr(50,0, 50,50, 50,100, 0,100, 0,50, 0,0, 50,0, 0,50, 50,50, 0,100);
var a := new integer[10]; // массив используемый для подсвечиваия линий цифры
Pen.Width := 5;
for var j := 1 to S.Length do //Перебор Цифр из S для вывода
begin
case strtoint(S[j]) of
0: a := Arr(1, 1, 1, 1, 1, 1, 0, 0, 0); // г-- 6 --i
1: a := Arr(1, 1, 0, 0, 0, 0, 1, 0, 0); // | / |
2: a := Arr(1, 0, 1, 0, 0, 1, 0, 0, 1); // 5 7 1
3: a := Arr(0, 0, 0, 0, 0, 1, 1, 1, 1); // | / |
(продолжение в следующем комментарии)
Александр Казаков
4: a := Arr(1, 1, 0, 0, 1, 0, 0, 1, 0); // |-- 8 --|
5: a := Arr(0, 1, 1, 0, 1, 1, 0, 1, 0); // | / |
6: a := Arr(0, 1, 1, 1, 0, 0, 1, 1, 0); // 4 9 2
7: a := Arr(0, 0, 0, 1, 0, 1, 1, 0, 0); // | / |
8: a := Arr(1, 1, 1, 1, 1, 1, 0, 1, 0); // |-- 3 --|
9: a := Arr(1, 0, 0, 0, 1, 1, 0, 1, 1);
end;
var (x1, y1) := (Точки [0], Точки [1]);
for var k := 1 to 9 do
begin
var (x2, y2) := (Точки [k * 2], Точки [k * 2 + 1]);
if a[k-1] = 0 then (Pen.Width, Pen.Style) := (1, psDot)
else (Pen.Width, Pen.Style) := (5, psSolid);
line(x1 + 80 * j, y1 + 40, x2 + 80 * j, y2 + 40);
(x1, y1) := (x2, y2);
end;
end;
end.
5: a := Arr(0, 1, 1, 0, 1, 1, 0, 1, 0); // | / |
6: a := Arr(0, 1, 1, 1, 0, 0, 1, 1, 0); // 4 9 2
7: a := Arr(0, 0, 0, 1, 0, 1, 1, 0, 0); // | / |
8: a := Arr(1, 1, 1, 1, 1, 1, 0, 1, 0); // |-- 3 --|
9: a := Arr(1, 0, 0, 0, 1, 1, 0, 1, 1);
end;
var (x1, y1) := (Точки [0], Точки [1]);
for var k := 1 to 9 do
begin
var (x2, y2) := (Точки [k * 2], Точки [k * 2 + 1]);
if a[k-1] = 0 then (Pen.Width, Pen.Style) := (1, psDot)
else (Pen.Width, Pen.Style) := (5, psSolid);
line(x1 + 80 * j, y1 + 40, x2 + 80 * j, y2 + 40);
(x1, y1) := (x2, y2);
end;
end;
end.
Похожие вопросы
- Пожалуйста,помогите решить!Очень нужно!
- Помогите решить задачу (Составление Алгоритма)
- Pascal программирование алгоритмов ветвящихся структур пожалуйста помогите спасибо заранее
- ПОМОГИТЕ ПОЖАЛУЙСТА, КТО ЗНАЕТ ИНФОРМАТИКУ. НУЖНО НАПИСАТЬ ПРОГРАММУ НА С++.
- Подскажите- я хочу сделать свой сайт. Что для этого нужно? - алгоритм действий для тупых. дёшево и сердито чтоб))
- Пожалуйста, помогите перевести файл pdf в файл word, очень сильно нужно
- Блин ребят нужно разблокировать пользователя (уч. зап) т. к. она админ... помогите пожалуйста мне!!! что мне нужно сделать?
- Помогите пожалуйста. Есть отсканированная книжка. Нужно распечатать.
- Помогите пожалуйста написать программу очень нужно!!!
- Пожалуйста помогите как создать простинкую програму.