Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.10.2014, 14:48   #1
dimka123
Пользователь
 
Регистрация: 25.12.2011
Сообщений: 96
Вопрос Подскажите ,Помогите!

Составить программу вывода на экран окна, которое условно "разбито" на вертикальные столбцы. Верхние части столбцов окрашены одним фоном, нижние - другим. Граница раздела фонов столбцов формирует синусоиду произвольной амплитуды с периодом, равным ширине окна. При нажатии клавиши "Ввод" начинают изменяться соотношения заполнения столбцов разными фонами, т.е. создается эффект "бегущей" слева направо волны.
Код:
uses
 crt;
var
 y,g:real;
 i,x,z,m:integer;
begin
repeat
 TextColor(5);
 clrscr;
 g:=17;
 y:=0;
 x:=1;
 repeat
 begin 
 for i:=-39 to 40 do
 begin
  TextColor(4);
  y:=sin(g*pi/180);
  y:=y*10;
  z:=trunc(y);
  z:=(z mod 10)+12;
 
   for m:=1 to z+1 do
  begin
   TextColor(1);
   GotoXY(x,m);
   write(#218);
   delay(5);
  end;
  for m:=25 downto z do
  begin
   TextColor(3);
   GotoXY(x,m);
   write(#211);
   delay(5);
  end;
  g:=g-20;
  x:=x+1;
 end;
 g:=g-20;
 x:=1;
 end;
 until keypressed;
 readln;
end.
А как сделать,заполнение не сверху вниз,а например слева на право?)
и можно ли увеличить в размере (или поменять вид) бегущей вертикальной строки в конце заполнения области экрана
dimka123 вне форума Ответить с цитированием
Старый 06.10.2014, 22:07   #2
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

знаешь, почему никто не отвечает?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 07.10.2014, 00:10   #3
dimka123
Пользователь
 
Регистрация: 25.12.2011
Сообщений: 96
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
знаешь, почему никто не отвечает?
потому что...о-о.........не знаю
dimka123 вне форума Ответить с цитированием
Старый 07.10.2014, 08:45   #4
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Потому что твой код совсем нечитабельный (много времени надо, чтобы в нём разобраться).
Совет (бесплатно): в след. раз, когда будешь вываливать код:
- снабди его подробными комментами;
- хорошо и красиво отформатируй;
- никаких однобуквенных идентификаторов - каждое имя должно быть информативным.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 07.10.2014, 22:55   #5
dimka123
Пользователь
 
Регистрация: 25.12.2011
Сообщений: 96
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
Потому что твой код совсем нечитабельный
ну как то так)
Код:
uses
  crt;

var
  y, g: real;
  i, x, z, m: integer;

begin
  
  g := 20;//
  y := 0;// начало координат
  x := 1;//
  repeat
    //пытаюсь сформировать синусойду
    begin
      for i := -39 to 40 do  // задаю границу работы
      begin  
        y := sin(g * pi / 180); 
        y := y * 10;
        z := trunc(y);
        z := (z mod 10) + 12;
        //вырисовка верхней части
        for m := 1 to z do
        begin
          TextColor(6);
          GotoXY(x, m);
          write(#214);
          delay(1);
        end;
//вырисовка нижней части
        for m := 25 downto z + 1  do
        begin
          TextColor(4);
          GotoXY(x, m);
          write(#214);
          delay(3);
        end;
        g := g + 20;
        x := x + 1;
      end;                в этой части меняется g и х.м"движение волны"
      g := g + 10;
      x := 1;
    end;
  until keypressed;// пока не нажмем клавишу,программа будет работать
  readln;
end.

Последний раз редактировалось dimka123; 08.10.2014 в 00:01.
dimka123 вне форума Ответить с цитированием
Старый 07.10.2014, 23:22   #6
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
ну как то так)
недопонял ты того, чего я имел в виду. ну держи примерные примеры.
Вложения
Тип файла: rar примеры.rar (28.4 Кб, 10 просмотров)
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 08.10.2014, 00:02   #7
dimka123
Пользователь
 
Регистрация: 25.12.2011
Сообщений: 96
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
недопонял ты того, чего я имел в виду. ну держи примерные примеры.
я подправил, посмотри у себя на паскале этот код,и поймешь..... в других темах ты тоже много болтал и толком не помог...
dimka123 вне форума Ответить с цитированием
Старый 08.10.2014, 00:17   #8
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
я подправил, посмотри у себя на паскале этот код,и поймешь.....
у меня тут нет паскаля. есть delphi & builder. а паскаль.абц - это не комильфо.
Цитата:
в других темах ты тоже много болтал и толком не помог...
ссылки на темы где?
...и тебе не кажется, что наезжать на единственного чела, который мимо темы не прошёл, как-то не по-человечески?
А хочешь, чтобы помогли - создай комфортные условия. Я пытаюсь тебя хотя бы этому научить.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
подскажите почему не работает цикл ПОМОГИТЕ mato Общие вопросы C/C++ 2 20.12.2009 15:21
помогите дописать 2\3 проги, или хоть подскажите Euforia_PZAS09_1 Паскаль, Turbo Pascal, PascalABC.NET 2 24.10.2009 21:08
Подскажите и помогите создать скрипт maksimys2009 PHP 12 14.03.2009 08:14
Помогите, подскажите, направьте MaryM Помощь студентам 2 21.06.2007 10:33