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

Модуль CRT: человечек, состоящий из звёздочек, двигает конечностями

13.09.2017, 19:36. Показов 646. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я студент и задали написать код с модулем uses crt и циклом i где человечек состоящий из звёздочек двигает конечностями, но везде это делают через Graph, а препод просит через crt
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.09.2017, 19:36
Ответы с готовыми решениями:

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

Модуль CRT
У меня есть такого вида меню: uses crt; var s,s1,s2,s3,s4:string; x,y:integer; kod:char; begin clrscr; gotoxy(38,3); ...

Модуль CRT
Задание: 1. Напишите 3 подпрограммы, каждая из которых будет выдавать заданную ей строку в определённом месте экрана (1 – прижатым...

9
 Аватар для JuriiMW
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,060
14.09.2017, 06:30
Цитата Сообщение от NiceDay1629 Посмотреть сообщение
Я студент
Молодец!
Цитата Сообщение от NiceDay1629 Посмотреть сообщение
задали написать код
Всем студентам что-то да задают.

А в чём, собственно, вопрос?
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
14.09.2017, 15:35
Человечек поднимает правую руку и правую ногу, напишите процедуру с2 для левых конечностей, мне надоело, да и хоть какая-то практика будет.
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
uses crt;
procedure c0;
begin
for var i:=1 to 7 do
 begin
  gotoXY(11,i);
  write('*');
 end;
for var i:=1 to 5 do
 begin
  gotoXY(i+8,3);
  write('*');
 end; 
for var i:=1 to 3 do
 begin
  gotoXY(9,i+2);
  write('*');
 end;  
for var i:=1 to 3 do
 begin
  gotoXY(13,i+2);
  write('*');
 end;   
for var i:=1 to 3 do
 begin
  gotoXY(10,i+6);
  write('*');
 end; 
for var i:=1 to 3 do
 begin
  gotoXY(12,i+6);
  write('*');
 end;   
gotoXY(25,23); 
end;
procedure c1;
begin
for var i:=1 to 7 do
 begin
  gotoXY(11,i);
  write('*');
 end;
for var i:=1 to 6 do
  begin
   gotoXY(i+3,3);
   write('*');
  end; 
for var i:=1 to 3 do
 begin
  gotoXY(13,i+2);
  write('*');
 end;    
for var i:=1 to 5 do
 begin
  gotoXY(i+7,7);
  write('*');
 end;   
for var i:=1 to 3 do
 begin
  gotoXY(12,i+6);
  write('*');
 end;    
gotoXY(25,23); 
end;
begin
for var i:=1 to 3 do
 begin
  clrscr;
  c0;
  delay(1000);
  clrscr;
  c1;
  delay(1000);
  clrscr;
  c0;
 end;
 
end.
0
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22
14.09.2017, 16:19
Мне кажется, можно было бы применить алгоритм рисования линии, например - DDA (из-за его простоты).
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
uses System;
 
begin
  while true do
  begin
    System.Console.Title := 'Console';
    
    System.Console.Write('X: ');
    var x := System.Convert.ToInt32(System.Console.ReadLine());
    System.Console.Write('Y: ');
    var y := System.Convert.ToInt32(System.Console.ReadLine());
    System.Console.Write('X2: ');
    var x1 := System.Convert.ToInt32(System.Console.ReadLine());
    System.Console.Write('Y2: ');
    var y1 := System.Convert.ToInt32(System.Console.ReadLine());
    
    var l := System.Math.Max(Math.Abs(x1 - x), Math.Abs(y1 - y));
    var incX := (x1 - x) / l;
    var incY := (y1 - y) / l;
    
    var cx := x * 1.0;
    var cy := y * 1.0;
    
    System.Console.BackgroundColor := System.ConsoleColor.Green;
    
    while not ((cy = y1) and (cx = x1)) do
    begin
      System.Console.SetCursorPosition(System.Convert.ToInt32(cx), System.Convert.ToInt32(cy));
      System.Console.Write(' ');
      cx += incX;
      cy += incY;
    end;
    
    System.Console.ReadKey();
    System.Console.BackgroundColor := System.ConsoleColor.Black;
    Console.Clear();
  end;
end.
Добавлено через 34 секунды
Оформите алгоритм в виде процедуры. А потом - рисуйте на здоровье.
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
14.09.2017, 16:20
А где модуль CRT?
0
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22
14.09.2017, 16:21
Crt не стал использовать. Мне кажется, что надо приучаться работать напрямую с System.Console, а не с урезанным вариантом. Это умение пригодится, например, в C#.
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
14.09.2017, 16:21
Да и символа * не видно.
0
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22
14.09.2017, 16:23

Не по теме:

Хотя... Если для автора темы легче Crt - пусть пока использует. Пока сказал потому, что рано или поздно забыть Crt придется.



Добавлено через 34 секунды
Цитата Сообщение от Puporev Посмотреть сообщение
Да и символа * не видно.
Линия рисуется просто зеленым цветом. Подкорректировать код можно очень просто...
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
14.09.2017, 16:23
Volobuev Ilya, Найди препода автора темы и объясняй ему. А учатся программировать кое-где на Роботах и Черепашках.
0
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22
14.09.2017, 17:20
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 System;
 
begin
  System.Console.ForegroundColor := System.ConsoleColor.Green; // <-- Раз.
  while true do
  begin
    System.Console.Title := 'Console';
    
    System.Console.Write('X: ');
    var x := System.Convert.ToInt32(System.Console.ReadLine());
    System.Console.Write('Y: ');
    var y := System.Convert.ToInt32(System.Console.ReadLine());
    System.Console.Write('X2: ');
    var x1 := System.Convert.ToInt32(System.Console.ReadLine());
    System.Console.Write('Y2: ');
    var y1 := System.Convert.ToInt32(System.Console.ReadLine());
    
    var l := System.Math.Max(Math.Abs(x1 - x), Math.Abs(y1 - y));
    var incX := (x1 - x) / l;
    var incY := (y1 - y) / l;
    
    var cx := x * 1.0;
    var cy := y * 1.0;
    
    while not ((cy = y1) and (cx = x1)) do
    begin
      System.Console.SetCursorPosition(System.Convert.ToInt32(cx), System.Convert.ToInt32(cy));
      System.Console.Write('*');  // <-- Два.
      cx += incX;
      cy += incY;
    end;
    
    System.Console.ReadKey();
    //System.Console.BackgroundColor := System.ConsoleColor.Black; // <-- Три.
    Console.Clear();
  end;
end.
Добавлено через 1 минуту
Цитата Сообщение от Puporev Посмотреть сообщение
А учатся программировать кое-где на Роботах и Черепашках.
Я не испытываю положительных чувств к данным модулям. Но если написал - зачем нам то об этом говорить?

Добавлено через 53 минуты
Через Crt:
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
uses Crt;
 
function ReadCoordinate(): integer;
begin
  Readln(Result);
end;
 
procedure DrawLine();
begin
  while true do
  begin
    Write('X: ');
    var x := ReadCoordinate();
    Write('Y: ');
    var y := ReadCoordinate();
    Write('X2: ');
    var x1 := ReadCoordinate();
    Write('Y2: ');
    var y1 := ReadCoordinate();
    
    var l := Max(Abs(x1 - x), Abs(y1 - y));
    var incX := (x1 - x) / l;
    var incY := (y1 - y) / l;
    
    var cx := x * 1.0;
    var cy := y * 1.0;
    
    TextBackground(LightGreen);
    
    while not ((cy = y1) and (cx = x1)) do
    begin
      GotoXY(Round(cx), Round(cy));
      Write(' ');
      cx += incX;
      cy += incY;
    end;
    
    ReadKey();
    TextBackground(Black);
    ClrScr();
  end;
end;
 
begin
  SetWindowCaption('Console');
  DrawLine();
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.09.2017, 17:20
Помогаю со студенческими работами здесь

Модуль Crt
1. Сгенерировать случайным образом и вывести на экран 8 окон разного цвета и размера. 2. Сгенерировать последовательность звуков,...

Модуль crt
Написать программу которая двигала бы символ ( '*') по экрану по нажатию клавиш ( желательно стрелочек). (Например , звездоча перемещается...

модуль crt
Написать программу воспроизводящую произвольные 2 мелодии (по 10-20 нот каждая).

Модуль Crt....
немогу никак доделать задачку ... &quot;. Создать программу «Электронно - музыкальный инструмент» со световыми эффектами. Требования к...

Модуль Crt
Нужно написать программу с использованием модуля CRT: Организовать перемещение буквы «Q» бирюзового цвета по коричневому экрану по...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru