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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.06.2009, 19:35   #1
Moro
Новичок
Джуниор
 
Регистрация: 29.06.2009
Сообщений: 1
По умолчанию Графика в Паскале

Помогите решить задачи плз. А то у меня завтра зачет а я один не успею.
1)Создать программу для подсчета числа четных цифр, используемых в записи N-числа M.
2) Найти все простые трехзначные числа(Определить функцию позволяющую распознавать простые чила).
3)Составьте подпрограмму рисования прямоугольника с заключенными в него вашим именем. Как параметры передавать координаты и цвет. Вызвать несколько раз эту подпрограмму с различными параметрами.
4)Найти номера строк заданной целочисленной матрицы A(N, M), в которых:
а) на всех нечётных позициях стоят нули;
б) на нечетных позициях встречаются нули.
5)Изобразить убывающую луну.
Заранее спасибо.
Moro вне форума Ответить с цитированием
Старый 30.06.2009, 09:41   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Хоть бы язык указал...
Цитата:
3)Составьте подпрограмму рисования прямоугольника с заключенными в него вашим именем. Как параметры передавать координаты и цвет.
Такое подойдет?
Код:
fn qw name=
	(
	  txt=text text:name size:100 kerning:0 leading:0 pos:[-74.4966,16.7785,0] isSelected:on wirecolor:white
      Rectangle length:(txt.max.y-txt.min.y) width:(txt.max.x-txt.min.x) pos:[txt.center.x,txt.center.y,0] isSelected:on
	)
	
delete $*
	(qw "Moro")
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.06.2009, 10:24   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Виталий, вряд ли ТС это решение пригодится!

Уже не первый раз вижу программку на этом языке (как Вы утверждаете - Вашем любимом )
Простите за невежество, а что это за язычок?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 30.06.2009, 11:44   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

3D Studio MAX Script. Считаю его идеальным для рисования.
Иногда применяю для собственных графиков, но естесственно чаще всего для динамики сложных движений по законам физики (на Havok 3)

P.S. Согласись что на паскале столькими строчка не отделаться )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.06.2009, 13:30   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
P.S. Согласись что на паскале столькими строчка не отделаться )
согласен.
хотя, если использовать уже готовый код (собственные библиотечки), то строчек будет не больше...
а вот если реализация на "стандартном" TurboPascal - то, безусловно, строчек будет поболее...

задача 3.
Код:
uses Crt;
type
   FrameRamkaType = (a, b, c, d, e, f, g,h);
   RamkaFrame = Array [FrameRamkaType] of char;

procedure FastWrite(St : string; Row, Col, Attr : Byte);
begin
  TextAttr := Attr;
  GotoXY(Col,Row);
  Write(St);
end;

  function CharStr(Ch : Char; Len : Byte) : string;
    {-Return a string of length len filled with ch}
  var
    S : string;
  begin
    if Len = 0 then
      CharStr[0] := #0
    else begin
      S[0] := Chr(Len);
      FillChar(S[1], Len, Ch);
      CharStr := S;
    end;
  end;



procedure Ramka(X,Y,LengthStr,NumerStr: integer;
                RamAttr,Tattr : byte;
                RamChar : RamkaFrame;
                NameText:string);
var
 I : integer;
 Attr : byte;
begin
 Attr:=TextAttr;
 FastWrite(RamChar[A],Y-1,X-1,RamAttr);
 FastWrite(CharStr(RamChar[E],LengthStr),Y-1,X,RamAttr);
 FastWrite(RamChar[B],Y-1,X+LengthStr,RamAttr);

 FastWrite(RamChar[H],Y,X-1,RamAttr);
 FastWrite(RamChar[F],Y,X+LengthStr,RamAttr);
 FastWrite(RamChar[D],Y+NumerStr+1,X-1,RamAttr);
 FastWrite(CharStr(RamChar[G],LengthStr),Y+NumerStr+1,X,RamAttr);
 FastWrite(RamChar[C],Y+NumerStr+1,X+LengthStr,RamAttr);
 FastWrite(NameText,Y,X,Tattr);
 TextAttr:=Attr;
end;  {  Ramka  }

var
  X,Y :byte;
  AT1,AT2 : byte;
  i : integer;

begin
   TextAttr := 0;
   ClrScr;
   Randomize;
   for i:=1 to 10 do begin
     X := Random(80-7)+1;
     Y := Random(25-3)+2;
     AT1 := Random(256);
     AT2 := Random(256);
     Ramka(X,Y,4,0,AT1,AT2,
           '┌╖╝╘─║═│','MORO');
   end;
   TextAttr := White;
   GotoXY(1,1);
   Readln;
end.
функции FastWrite и CharStr в оригинале брались из библиотек TPCRT и TPSTRING ( (c) TurboPower Software). для приведения к использованию обычной CRT они тут и реализованы.
Разумеется, никакого "Fast" в данной реализации НЕТ (в TPCRT эта функция реализована на ассемблере и пишет текст/аттрибуты в видеопамять напрямую)

Последний раз редактировалось Serge_Bliznykov; 30.06.2009 в 13:37.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 30.06.2009, 13:54   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
то строчек будет не больше...
Извинясь за оффтоп но чтоб на паскале нарисовать то что в приложении
нужно попотеть капитально.
А вот на скрипте это выглядит оч просто:
Код:
fn qw name=
	(
	  txt=text text:name size:100 kerning:0 leading:0 pos:[-74.4966,16.7785,0] isSelected:on wirecolor:white
      addModifier txt (Extrude ()) ui:on
	  txt.modifiers[#Extrude].amount=20
      rr=Rectangle length:(txt.max.y-txt.min.y) width:(txt.max.x-txt.min.x) pos:[txt.center.x,txt.center.y,0] isSelected:on
      addModifier rr (Extrude ()) ui:on
	  rr.modifiers[#Extrude].amount=20
	  rr.modifiers[#Extrude].capEnd = off
	)
	
delete $*
	(qw "Moro")
И абсолютно решает поставленную задачу.
Изображения
Тип файла: jpg qwe.jpg (11.8 Кб, 153 просмотров)
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Графика в Паскале =)) barahlysh Помощь студентам 4 13.12.2009 19:31
графика в паскале Kravec Паскаль, Turbo Pascal, PascalABC.NET 5 16.04.2009 17:27
Графика в паскале modulrev Помощь студентам 16 12.03.2009 10:30
Графика на паскале..... КиношкА Помощь студентам 8 10.01.2008 10:09