ГДЕ ПАСКАЛЬ? НЕ ОБЕРОН, НЕ ДЕЛЬФИ, А НОРМАЛЬНЫЙ ПАСКАЛЬ!!!!!
-
Пожалуйста, помогите! Мне надо ОБЫЧНЫЙ ПАСКАЛЬ НА КОЛИБРИ!
зачем?
Я умею писать ТОЛЬКО НА ПАСКАЛЕ, а меня отправляют либо на Дельфи/Оберон, либо я не могу разобраться, как пользоваться Паскалем
И ещё: никто не знает, как пользоваться exetokex!
А в чём проблема-то? Возьмём такой пример http://rosettacode.org/wiki/Sierpinski_triangle#Pascal выводящий в консоль такую штуку:Alex2003 wrote:Я умею писать ТОЛЬКО НА ПАСКАЛЕ, а меня отправляют либо на Дельфи/Оберон, либо я не могу разобраться, как пользоваться Паскалем
Code: Select all
*
* *
* *
* * * *
* *
* * * *
* * * *
* * * * * * * *
* *
* * * *
* * * *
* * * * * * * *
* * * *
* * * * * * * *
* * * * * * * *
* * * * * * * * * * * * * * * *
Code: Select all
{$APPTYPE CONSOLE}
program Sierpinski;
function ipow(b, n : Integer) : Integer;
var
i : Integer;
begin
ipow := 1;
for i := 1 to n do
ipow := Result * b
end;
function truth(a : Char) : Boolean;
begin
if a = '*' then
truth := true
else
truth := false
end;
function rule_90(ev : String) : String;
var
l, i : Integer;
cp : String;
s : Array[0..1] of Boolean;
begin
l := length(ev);
cp := copy(ev, 1, l);
for i := 1 to l do begin
if (i-1) < 1 then
s[0] := false
else
s[0] := truth(ev[i-1]);
if (i+1) > l then
s[1] := false
else
s[1] := truth(ev[i+1]);
if ( (s[0] and not s[1]) or (s[1] and not s[0]) ) then
cp[i] := '*'
else
cp[i] := ' ';
end;
rule_90 := cp
end;
procedure triangle(n : Integer);
var
i, l : Integer;
b : String;
begin
l := ipow(2, n+1);
b := ' ';
for i := 1 to l do
b := concat(b, ' ');
b[round(l/2)] := '*';
writeln(b);
for i := 1 to (round(l/2)-1) do begin
b := rule_90(b);
writeln(b)
end
end;
begin
triangle(4);
end.
- потому что по умолчанию создаются GUI-приложения.
Code: Select all
{$APPTYPE CONSOLE}
- Замена внутри функции ipow вместо ipow стало Resultв справке по этому поводу вот:
Code: Select all
ipow := Result * b
When the function name appears on the left side of an assignment statement, the compiler assumes that it is being used (like Result) to track the return value; when the function name appears anywhere else in the statement block, the compiler interprets it as a recursive call to the function itself.
Alex2003
Компили тут http://kolibri-n.org/inf/hll/hll
Но я бы очень советовал смотреть в сторону С--
Компили тут http://kolibri-n.org/inf/hll/hll
Но я бы очень советовал смотреть в сторону С--
Из хаоса в космос
Ну ссылку я ему уже давал http://board.kolibrios.org/viewtopic.ph ... 900#p70937Leency wrote:Компили тут http://kolibri-n.org/inf/hll/hll
Там вообще можно немного лулзов поймать
если вкратце
Spoiler:
Alex2003 wrote:У меня не получилось скомпилировать...
Alex2003 wrote:Дело в том, что я пишу на языке Паскаль Турбо, а не на Обероне. Наверняка поэтому у меня и не получилось скомпилировать.
Комилил, открывая файл с помощью Compiler.kex
Может быть, из-за этого?
И оба они пишут капсом:
Понятно, тут все языковые компиляторы кроме FASM'а полуфабрикаты. Ладно, будем учиться жарить тушёнку!
Assembler изучай)Alex2003 wrote:Понятно, тут все языковые компиляторы кроме FASM'а полуфабрикаты. Ладно, будем учиться жарить тушёнку!
Технологии меняют мир, а я - меняю технологии.
Хм.... Мысль интересная!
короче
Pascal Pro
http://kolibri-n.org/inf/hll/hll#ppro
FreePascal
http://board.kolibrios.org/viewtopic.ph ... =45#p71523
UPD
Увидел что не получалось скомпилировать
У меня получилось в pascal pro
http://board.kolibrios.org/viewtopic.ph ... =15#p75029
Возможно потом и в fpc получится, не пробовал еще
Pascal Pro
http://kolibri-n.org/inf/hll/hll#ppro
FreePascal
http://board.kolibrios.org/viewtopic.ph ... =45#p71523
UPD
Увидел что не получалось скомпилировать
У меня получилось в pascal pro
http://board.kolibrios.org/viewtopic.ph ... =15#p75029
Возможно потом и в fpc получится, не пробовал еще
Last edited by maxcodehack on Sat Oct 03, 2020 6:50 pm, edited 1 time in total.
А я бы нетLeency wrote:Alex2003
Компили тут http://kolibri-n.org/inf/hll/hll
Но я бы очень советовал смотреть в сторону С--
И Ghost тоже:
http://board.kolibrios.org/viewtopic.ph ... 082#p19147
Лучше уж kos32-gcc
Что понимается под обычным Паскалем? Turbo Pascal или FreePascal ?
The best way to predict the future is to create it.
Либо то, либо то
Главное чтобы не делфи и не оберон
Главное чтобы не делфи и не оберон
На самом деле с Delphi SDK программы на Delphi являются обычными программами на Паскале.
Консоль:
GUI:
Компилируется набором инструментов, включенным в состав SDK. Больше примеров — в SDK и на форуме.
Консоль:
Code: Select all
program Hello;
uses
CRT;
begin
InitConsole('Hello');
WriteLn('Hello, world!');
end.
Code: Select all
program HelloGUI;
uses
KolibriOS;
var
WndLeft, WndTop, WndWidth, WndHeight: Integer;
begin
with GetScreenSize do
begin
WndWidth := Width div 4;
WndHeight := Height div 4;
WndLeft := (Width - WndWidth) div 2;
WndTop := (Height - WndHeight) div 2;
end;
while True do
case WaitEvent of
REDRAW_EVENT:
begin
BeginDraw;
DrawWindow(WndLeft, WndTop, WndWidth, WndHeight, 'Hello!', $00FFFFFF,
WS_SKINNED_FIXED + WS_CLIENT_COORDS + WS_CAPTION, CAPTION_MOVABLE);
EndDraw;
end;
KEY_EVENT:
GetKey;
BUTTON_EVENT:
if GetButton.ID = 1 then
Break;
end;
end.
Who is online
Users browsing this forum: No registered users and 1 guest