Главная arrow Гостевая книга
  
PascalABC.NET
     

Главное меню
Главная
Скачать
О языке Паскаль
Что нового
Скриншоты
Web-среда разработки
Описание языка
Школьнику - задачи ЕГЭ
Статьи
Доклады и публикации
Примеры программ
Разработчики
Ссылки
Wiki
Форум
Гостевая книга
Случайная программа
// Функция определения
// простоты числа
function IsSimple
  (N: integer): boolean;
begin
  if N<2 then
  begin
    Result := False;
    exit;
  end;
  Result := True;
  var SqN := round(sqrt(N));
  for var i:=2 to SqN do
    if N mod i = 0 then
    begin
      Result := False;
      exit;
    end;
end;

begin
  writeln(IsSimple(13));
end.
Баннеры

Рейтинг@Mail.ru

ptaskbook.com


Гостевая книга

Комментарии, пожелания и замечания пользователей

Имя:
Сообщение:
Проверочный код: Картинка с кодомОбновить
   
 

Ромка21

При отладке с подключенным модулем CRT, нажимаю F7 и выдает ощибку,

"Программу с подключенным модулем CRT нельзя запускать по F9.

Запустите программу, используя Shift-F9"

21.05.2012

Lexan

Что это за ошибка такая?

 test.pas(7) : Нельзя преобразовать тип T к T

вот в таком коде

type A<T>=interface
function B(x:T):T;
end;


function C<T>(x:T):T;where T:A<T>;forward;
function C<T>(x:T):T;
begin
result.B(x);//test.pas(7) : Нельзя преобразовать тип T к T
//ошибка связана с аргументом x
end;


begin
end.

12.05.2012

Сергей Р.

Большое спасибо очень помогло.

08.05.2012

mikst

Используйте f: TextFile

08.05.2012

Сергей Р.

есть такая программка:

 

 

Uses system; 

var f:text;  x:integer;

d:DateTime;

begin

assign(f, 'sis.moj');

append(f);

d := DateTime.Now;

writeln(f,d1);

close(f);

end.

но PABC.net пишет на "f:text"-"ожидался тип". как с модулем system вывести дату и время в файл?

06.05.2012

SoundWave

Здравствуйте, с вашего сайта я не могу скачать PascalABC.NET + Microsoft .NET Framework v4.0 (Setup, 118 Mb), закачка доходит до 60 % и перестаёт закачиваться дальше. Помогите пожалуйста.

05.05.2012

Programmer

При распараллеливании возникает ошибка.

Есть такой код.

...

var s:array of string;
  begin
   setlength(s,val.Length);
    {$omp parallel for}
    for var i:integer:=0 to val.Length-1 do s[i]:=val[i].tostring;

...

Компилируется успешно, но не распараллеливается, при этом выдает ошибку:

() : This OMP construction not builded: Неверное представление индексаторов прямоугольного динамического массива

Как распараллелить подобную конструкцию?

15.04.2012

вофка

Уважаемые, пожалуйста сделайте версию для linux, хотябы для MonoDevelop !!!

31.03.2012

Kasperos

не знаю кто говорил или нет, но в 1.7 (460) еще оставалось

типизированный файл со строкой N>127

при записи строки длинной в 128 и более символов к индексу длины добавляется единичка (зачем она там никто не знает)

кроме того:

работать со строкой больше 255 символов программа позволяет, а вот объявить строку фиксированной длиной больше 256 низзя, совместимость совместимостью, но можно уж тогда и новую superstring[100500] ввести

30.03.2012

AlexAlex

А как сделать в браузере (сам сделал) чтобы в гугле когда на ссылку жмёшь открывалась новая вкладка, а не internet exploarer?

 

 

23.03.2012

PitBul477

Мне вот интересно два момента. Первое:а будет ли поддержка графического модуля в последующих версиях программы? Второе:возможно ли при помощи какой-либо команды указать путь к файлу,который нужно открыть?

23.03.2012

miks

2 spot94

Задавайте вопросы на форуме. У Вас какая-то серьёзная проблема с правами под NT, потому всё и не работает.

18.03.2012

spot94

Функция readkey не работает, при компиляции выдает ошибку:

 

18.03.2012 12:39:38

PascalABCCompiler.Core v1.8.0.486 (12.02.2012), debug version

Runtime version: 4.0.30319.1

OS version: Microsoft Windows NT 6.1.7600.0

Processor count: 8

WorkingSet: 147408 kb

StatesList: 

CompilationFinished Program3.pas

Ready

 

Error[0]: Внутренняя ошибка компилятора в модуле [pabcnetc.exe] :'System.Exception: System.IO.IOException: Неверно задано имя папки.

 

   в System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)

   в System.IO.Directory.SetCurrentDirectory(String path)

   в PascalABCCompiler.Compiler.Compile()'

18.03.2012

miks

>При компиляции любой программы в PascalABC.NET выдаёт ошибку

Судя по ошибке, у Вас нет прав на запуск юучу-файла из каких-то каталогов. Настраивайте доступ правильно.

17.03.2012

miks

Все задачи электронного задачника не будут доступны - их автор М.Э.Абрамян (сайт ptaskbook.com) предоставил для инсталлятора PascalABC.NET возможность решать только часть из задач электронного задачника. Впрочем, Вы можете решать все задачи электронного задачника в Web-среде - это сделано в рекламных целях.

17.03.2012

miks

Модуль Graph - учебный и действительно работает медленно. Напрямую соответствующие dll использовать можно - в PascalABC.NET есть возможность вызова кода из неуправляемых dll. Но лучше, видимо, найти прослойку на C# для DirectX или OpenGL, оформленную в виде dll, и вызывать именно её.

17.03.2012

miks

lock - ключевое слово PascalABC.NET - используйте другое имя.

17.03.2012

valve

Здравствуйте.

В библиотеке, которую использует моя программа, в интерфейсе объекта имеется процедура 'lock', но компилятор воспринимает его как служебное слово и выводит ошибку

(ожидался идентификатор); синтаксис процедуры верен

17.03.2012

Максутов А.

 

Здравствуйте.

Система PascalABC.NET - отличный набор инструментов и функций для программирования. Служит для обучения программированию, в т.ч. объектно-ориентированному.

Имеется широкий спектр модулей, и это очень отрадно. Но к сожалению, не все полноценны (имею в виду скорость выполнения и функциональность). Например, модуль GraphABC работает довольно медленно. Есть ли у вас возможность создать графический модуль на основе DirectX или OpenGL? Если нет, то как можно использовать напрямую соответствующие .dll?

Заранее спасибо.

17.03.2012

simfer

Здравствуйте. Вопрос - а что нужно сделать, чтобы все задачи электроного задачника стали доступны для автоматической проверки, а не только те, которые отмечены * (разделы begin, boolean, integer)????

14.03.2012

Empreror

При компиляции любой программы в PascalABC.NET выдаёт ошибку


11.03.2012 16:20:43
PascalABCCompiler.Core v1.8.0.486 (12.02.2012), debug version
Runtime version: 4.0.30319.261
OS version: Microsoft Windows NT 6.1.7601 Service Pack 1
Processor count: 2
WorkingSet: 98020 kb
StatesList:
BeginCompileFile Program1.pas
BeginParsingFile Program1.pas
EndParsingFile Program1.pas
ReadPCUFile PABCSystem.pcu
ReadDLL System.dll
ReadDLL mscorlib.dll
ReadDLL System.Core.dll
ReadPCUFile __RedirectIOMode.pcu
ReadDLL System.Windows.Forms.dll
ReadPCUFile crt.pcu
CompileInterface Program1.pas
EndCompileFile Program1.pas
SemanticTreeConversion Optimizer
CodeGeneration Program1.exe
CompilationFinished Program1.pas
Ready

Error[0]: Внутренняя ошибка компилятора в модуле [pabcnetc.exe] :'System.Exception: System.IO.

FileNotFoundException: Не удается найти указанный файл. (Исключение из HRESULT: 0x80070002)
   в System.Reflection.Emit.AssemblyBuilder.DefineDynamicModule(RuntimeAssembly containingAssembly, Boolean emitSymbolInfo, String name, String filename, StackCrawlMarkHandle stackMark, IntPtr& pInternalSymWriter, ObjectHandleOnStack retModule, Boolean fIsTransient, Int32& tkFile)
   в System.Reflection.Emit.AssemblyBuilder.DefineDynamicModule(RuntimeAssembly containingAssembly, Boolean emitSymbolInfo, String name, String filename, StackCrawlMark& stackMark, IntPtr& pInternalSymWriter, Boolean fIsTransient, Int32& tkFile)
   в System.Reflection.Emit.AssemblyBuilder.DefineDynamicModuleInternalNoLock(String name, String fileName, Boolean emitSymbolInfo, StackCrawlMark& stackMark)
   в System.Reflection.Emit.AssemblyBuilder.DefineDynamicModuleInternal(String name, String f

13.03.2012

valve

 

При запуске данной программы

...............................................

#reference 'openGL32.dll'

begin

end.

..............................................

Выводится ошибка

Program2.pas(1) : Ошибка при чтении сборки 'openGL32.dll'

, хотя 'openGL32.dll' находится в той же папке, что и программа. В чём дело?

07.03.2012

Artem

А здесь есть ответы по электронному задачнику PT4?

07.03.2012

Максутов А.

Здравствуйте.

Система PsacalABC.NET - отличный набор инструментов и функций для программирования. Служит для обучения программированию, в т.ч. объектно-ориентированному.

Имеется широкий спектр модулей, и это очень отрадно. Но к сожалению, не все полноценны (имею в виду скорость выполнения и функциональность). Например, модуль GraphABC работает довольно медленно. Есть ли у вас возможность создать графический модуль на основе DirectX или OpenGL? Если нет, то как можно использовать напрямую соответствующие .dll?

Заранее спасибо.

07.03.2012

Fess

Есть ли команда readkey на pascalabc net? Если нету, то есть ли у нее команда-замена?

23.02.2012

Владимир262

Косяк с комментариями внутри комментариев Laughing

Например следующая строка не будет компилироваться.

{count:=count+1;{увеличение на 1}}

31.01.2012

Apromix

Здраствуйте! Спасибо за PascalABC.NET. Прикольная системаSmile Заинтересовали плагины, их написание. Сколько плагинов существует для среды сейчас и где их взять? Где можно выложить свой плагин, чтобы и другие им пользовались? Спасибо Smile

25.01.2012

miks

1. Сделайте

type
TRec = Record
name : ShortString;
End;

И всё заработает. Читайте документацию. Во Free Pascal устаревшие строки.

2. Доступ к элементам строк через указатель работать не будет. Это - ограничение .NET. Пользуйтесь более высокоуровневыми средствами. Для иллюстрации низкоуровневых используйте Free Pascal или C.

30.12.2011

Boris

Здравствуйте. В PascalABC.NET не компилируется следующий несложный код:

 

program test;

type

  pchar=^char;

var

  s:string;

  ch:char;

  pc:pchar;

begin

  readln(s);

  pc:=@s[2]; {нельзя получить адрес выражения}

  ch:=pc^;

  writeln(ch);

  readln;

end.

В это же время тот же самый код идеально работает в Borland Pascal 7. Надеюсь в дальнейших версиях данный недостаток будет устранен, поскольку он делает нереализуемыми целое множетсво задач на указатели и строки. Спасибо.

23.12.2011

Alexey

Program rec;

type
TRec = Record
name : String;
End;

var
f : File of TRec;
Begin
End.

 

Должно работать, но выдает ошибку при компиляции

FreePascal не жалуется

20.12.2011

Коваль Александр

Здравствуйте mklokov! Вы спрашивали:

Код:
  for i:=1 to 3 do
  begin
    b:=random;
    writeln(b:6:4)
  end; 
работает.

Код :
  for i:=1 to 3 do
    writeln(random:6:4)
даёт ошибку компиляции в выделенной строке: "Данный формат вывода может быть применен только к вещественному типу"

Планирую со школьниками проходить функцию random, ожидаю соответствующего вопроса.

Отвечаю. Дело в том, что формат применяют к переменной, а не к функции.

09.12.2011

Коваль Александр

Здравствуйте! Извините за беспокойство и нелепый вопрос. Сам разобрался: для ввода строк нужно писать не

read

а

readln

и все работает.

 

 

09.12.2011

Коваль Александр

Вот такая простенькая программка не работает. Первая строка вводится и переход на конец программы. В чем причина?

var
  str1, str2: string;

begin
  write('1-я строка:');read(str1);
  write('2-я строка:');read(str2);
  write('Конкатенация строк: ', str1 + str2)
end.

09.12.2011

mikst

Решебника не существует.

06.12.2011

Alexx

Здравствуйте!
У вас случаем нет решебника для задач в PABC.
Хотелось бы проверять правльность написатния алгоритма, а негде.

06.12.2011

miks

Надо дать имя типу массива:

type Arr = array[1..10] of integer;

var a,b: Arr;

Тогда всё будет работать.

25.11.2011

egorka13

Этот фрагмент кода должен копировать случайно сгенерированный массив a в массив b.

var a: array[1..10] of integer;

    b: array[1..10] of integer;

begin

  for var i := 1 to 10 do

  begin

    a[i] := Random(10);

  end;

  b := a;

end.

При попытке его выполнения в WDE компилятор выдаёт ошибку "Нельзя преобразовать тип array [1..10] of integer к array [1..10] of integer".

В справке написано: "Статические массивы одного типа можно присваивать друг другу, при этом будет производиться копирование содержимого одного массива в другой:

a1:=a2;"

Что делать?

25.11.2011

mklokov

Здравствуйте!

Код:
  for i:=1 to 3 do
  begin
    b:=random;
    writeln(b:6:4)
  end; 
работает.

Код :
  for i:=1 to 3 do
    writeln(random:6:4)
даёт ошибку компиляции в выделенной строке: "Данный формат вывода может быть применен только к вещественному типу"

Планирую со школьниками проходить функцию random, ожидаю соответствующего вопроса.

22.11.2011

miks

Регистрацию исправили

18.11.2011

miks

Регистрацию - в ближайшее время исправим

16.11.2011

Ceridan

Вопрос по регистрации в WDE. Не отображает картинку с проверочным кодом. Пробовал из под разных браузеров, нигде не показывает. 

Подскажите пожалуйста, можно ли как-то зарегистрироваться с такой проблемой?

16.11.2011

dima1204123

var
 fi,fo:text;
 
 a,b:array [1..100]of integer;
 s,p,i,j:integer;
begin
assign(fi,'n');
assign(fo,'.\pesok.out.bat');
reset(fi);
rewrite(fo);
for i:=1 to 3 do read(fi,a[i]);
for i:=1 to 3 do read(fi,b[i]);
for i:=1 to 2 do for j:=i+1 to 3 do begin if a[i]if b[i]end;
s:=0;
for i:=1 to 3 do s:=s+a[i]*b[i];writeln(fo,s);close(fo); close(fi);





end.

кокда я создал сам файл я не могу его открытьбвыдает ошибку  Ошибка времени выполнения: Файл 'c:\PABCWork.Net\aaa.dat' не найден.

15.11.2011

book

сделайте плиз выделение парных скобок более ярким. очень-очень надо . заранее благодарю

11.11.2011

Деркач Даниил

подскажите пожалуйста: какие адреса оперативной памяти паскаль использует под видео-буфер. хочу использовать его для ускоренмя отрисовки графики в паскалеCool

30.10.2011

Дмитрий Александрович Луи

Здраствуйте не подскажите что за проблема,дело в том что в модуле uses graphabc; не работает процедура SaveWindow выдаёт ошибку даже на такой простой программе:

program test;
uses graphabc;
begin
SaveWindow('1.png');
end.

выдаёт ошибку : ошибка времени выполнения:B GDI+возникла ошибка общего вида.

если запускать не с под оболочки а из системы то ошибка такая

Сигнатура проблемы:
Имя события проблемы: CLR20r3
Сигнатура проблемы 01: program2.exe
Сигнатура проблемы 02: 0.0.0.0
Сигнатура проблемы 03: 4ea7c0f0
Сигнатура проблемы 04: System.Drawing
Сигнатура проблемы 05: 4.0.0.0
Сигнатура проблемы 06: 4ba1e086
Сигнатура проблемы 07: 3c
Сигнатура проблемы 08: d2
Сигнатура проблемы 09: AMAG3AACMAWG2XAF344U21ACVE5PSTKL
Версия ОС: 6.1.7600.2.0.0.256.1
Код языка: 1049
Дополнительные сведения 1: 0a9e
Дополнительные сведения 2: 0a9e372d3b4ad19135b953a78882e789
Дополнительные сведения 3: 0a9e
Дополнительные сведения 4: 0a9e372d3b4ad19135b953a78882e789

Помогите пожалусто.

26.10.2011

Almaz


Ошибка компиляции:
Внутренняя ошибка компилятора в модуле [pabcnetc.exe] :'System.Exception: System.IO.DirectoryNotFoundException: Не удалось найти часть пути "C:\PABCWork.NET".
   в System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   в System.IO.Directory.SetCurrentDirectory(String path)
   в PascalABCCompiler.Compiler.Compile()'

25.09.2011

Almaz

Добрый день! Кто знает как можно прописать в PascalABC.Net путь к задачнику и требуемым компонентам(не компилирует без них). Дело в том, что основная система у меня стоит на диске E, а задачник с модулями прописывается при установке на C. А диска C у меня нет при добавлении харда они смешались и на основной ОС осталась буква E. Я пробовал менять диски(хотя это опасно), в регистре переделывал не нашел пути задачника к диску C. Не хочется ставить два харда или форматировать или виртуальный диск устанавливать. Кто знает скажите пожалуйста, как решить.

25.09.2011

Max97

Добрый день. А есть ли возможность писать UnitTest для программ на PascalABC? Это современная тенденция (TestDrivenDevelopment). Хотелось бы сразу прививать эту практику.

25.09.2011

Orsker

Приятно удивлён Вашей разработкой. Для обучения программированию - самое то! Для более серьёзных работ неплохо было бы увидеть аналог Pascal Server Pages для разных платформ :)

25.08.2011

Фрол

Ещё раз здравствуйте!
Поискал информацию самостоятельно и выяснил, что, вроде бы, разрабатывать плагины теоретически могут и сторонние разработчики. Но для этого нужна соответствующая документация! Полноценной документации так и не нашёл. Видел статью "Как создать компилятор", но она не закончена: 3 последних раздела не написаны. Планируется ли опубликовать информацию, которая позволила бы сторонним разработчикам создавать свои компиляторы, интегрированные в среду PascalABC.NET? Заранее благодарю за ответ.

10.08.2011

Фрол

Здравствуйте!

В разделе "Описание языка PascalABC.NET" упоминается поддержка плагинов. Как я понимаю, сторонним разработчикам их разработка недоступна?

10.08.2011

mikst

Регистрация участников открыта.

Просьба задавать последующие вопросы на форуме ИТ в топике:

http://it.mmcs.rsu.ru/forum?func=view&catid=27&id=57482

27.07.2011

SomeRandomGuy

Когда начнется регистрация участников на конурс Создание игрового приложения в pabc.net? Или организаторы про это дело забыли? Если регистрация уже идет, как это и должно по идее быть, ткните носом где.

25.07.2011

Casey

virtual world, mix911, Сайт выглядит Отлично. Ничего лишнего и со Вкусом, Приятная цветовая тема.

16.07.2011

sniper

нормально сайт выглядит, по сути важна начинка Wink как в той пословице "встречают по одежке, провожают по уму" Cool

10.07.2011

mix911

да, согласен с virtual world, и ещё вам нужны партнёры, требуется продвинуть этот сайт, или создать другой...

07.07.2011

virtual world

Undecided не уверен что туда пишу, но почему бы вам не заняться дизайном сайта: выглядит он не профессилнально...

07.07.2011

грэйс

Пожалуста, выпустите в июле новую версию с: - яркое выделение парных скобок (раньше помнится была); - по возможности, добавьте лёгкость создания вычислительных (и прочих тоже) готовых программ от языка Бэйсик; пока всё спасибо жду

07.07.2011

mikst

Регистрация участников конкурса «Создание игрового приложения в среде PascalABC.Net» начнется примерно в середине июня.

20.05.2011

Гусейн

подскажите пожалуйста как здесь зарегистрироваться?

19.05.2011

Аляксей

Написал, посмотрите, пожалуйста Smile

13.05.2011

mikst

Напишите проблему на форуме

13.05.2011

Аляксей

У меня в любой процедуре первый readln (и read) пропускается компилятором, т.е. его просто нет в выполняемой программе.

Что делать? Frown

13.05.2011

mikst

Вызовы функций в константных выражениях запрещены. Представьте:

var a: array [1..Random(100)] of integer;

Или, что еще хуже, там будет стоять функция, написанная Вами.

11.05.2011

tima

ku!

const 

 v1 = 4;

v2 = round(v1/2);

var

a: array [1..v2] of integer; //ожидалось константное выражение

begin

end.

почему нельзя так?

 

10.05.2011

hu2

Тем более, мне кажется, что c# легче, чем pascal

03.05.2011

hu2

Все это детская фигня, если хотите писать программы, которые нестыдно запускать, то пишите, например, на visual c#

03.05.2011

Евгений2

 Сейчас едет массовый переход на СПО(Линукс) у гос. структур и школ. Вопрос, можно сделать приложения(разработки ПаскалАБС) чтоб запускались в браузере linux (лисы или оперы без разницы). Нужна работа с простами базами из 3-5 таблиц, с выводом и редактированием, поиском в браузере. Среду компиляции и сервер в принципе можно в винде развернуть.... если возможно, то как, дайте ответ на 131516@mail.ru

16.04.2011

Tr0ll

В версии PascalABC.net исчезают такие функции как Readkey и Keypressed... Как же делать чтоб программа во время цикла реагировала на нажатие клавиши?

26.03.2011

KenGOoOo

Хотелось бы,что бы в модуле CRT работали объявленные ранее процедуры по изменению окна,прокрутки.

В первом случае окно увеличивается,но рабочая часть остается прежней.

Спасибо.)

21.03.2011

Scout

Подскажите пожалуйста как быть!

Описание:  ProcVars.pas(6) : Ошибка времени выполнения: Система конфигурации не прошла инициализацию

Фаил: ProcVars.pas

19.03.2011

ua3rad

Где найти описание модуля FormsABC!

15.03.2011

mikst

При вызове используется запятая, при описании - точка с запятой. всё правильно.

Сообщение об ошибке - компилятор не знает смысл assign, поэтому считает, что там может быть ).

Пишите правильно :)

23.02.2011

Тимур

В справке написанно: Assign(f: FileType; name: string);

Если написать например: 

s1: file of integer;

...

assign(s1;'C:\PABCWork.NET\s1.save'); пишет что после s1 ожидалось ')' Если использовать запятую все прекрасно работает. Исправьте. И еще в справке написанно procedure readln(f: Text; a,b,...); Тот же случай... с запятой не работает. Не знаю как быть не удается считать из файла. Reset(s1) сделал.

 

21.02.2011

Безимени

Большое спасибо за Ваш труд ! Учить информатику стало куда как проще и интереснее.

12.01.2011

daesher

2 MozG

 Строка имеет переменный размер, файл бы содержал не сами строки, а какие-то ссылки на них (думаю, Вам это не надо?)

Попробуйте так:

[code]

type
uchenik = record
n:shortstring;
f:shortstring;
k:integer;
p:char;
end;

my_file = file of uchenik;
[/code]

06.01.2011

MozG

Проблемка с программкой. Нельзя работать с типизированными файлами записей.

Вот пример:

  • type
       uchenik = record
         n:string;
         f:string;
         k:integer;
         p:char;
         end;
  • my_file : file of uchenik; 

Ругается:  Типизированый файл не может содержать элементы такого типа.

 

Засада Frown

 

 

06.01.2011

mikst

Да, исправили ошибку с простыми числами :)

13.12.2010

nord777

Pascal - это круто, сам начинал с Turbo Pascal.

Желаю всем новичкам удачи!!! Cool

10.12.2010

nord777

Как мне кажится слишком громкий слогон сайта "обучениие современному программированию" слово современному можно зачеркнуть, будет правильнее Wink

Предлагаю новый слоган:

PascalABC.NET Обучение современному программированию Laughing

10.12.2010

nord777

Ошибка в случайной программе "// Функция определения

// простоты числа".

1 - не относится к простым числам Wink

10.12.2010

Степан

было бы хорошо добавить функцию печати кода.

09.12.2010

mikst

Например, как-то так:

{$reference 'System.Management.dll'}

uses System.Management;

begin
  var s := new ManagementObjectSearcher('SELECT * FROM Win32_DiskDrive');
  foreach m: ManagementObject in s.Get() do
    writeln(m['Signature'].ToString())
end.

27.11.2010

Сафонов Анатолий

Добрый день.

PascalABC получил большую популярность в Беларуси. Учебники информатики "подогнали" под систему программирования  PascalABC. Среда программирования PascalABC позволяет меньшими усилиями создавать неплохие программы и развивать алгоритмизацию. Меня интересуют, например, реализация некоторых системных функций, в частности, чтение серийного номера носителя информации. Как это реализуется на PascalABC? Заранее спасибо.

sad-bel@tut.by

Республика Беларусь

21.11.2010

mikst

А разве где-то было задумано иначе?

06.11.2010

TriniT

а так и было задумано, что в версии 1.5 синусы и косинусы по умолчанию считает в радианах??

04.11.2010

offside

Молодцы. Я и не знал о таком проекте. Случайно видеоурок смотрел по паскалю решил зайти. И не жалею теперь об этом.

31.10.2010

mikst

А какого характера видеоуроки Вас интересуют?

26.10.2010

baby

Писать программы видимо удобно! Однако у меня есть к вам пожелание, выпустить на свет полноценное учебное издание по работе в среде pascalabc.net, а также если можно организовать определённого характера видеоуроки, хотя бы и в режиме онлайна! Спасибо за внимание!

26.10.2010

mikst

Трудно сказать. Видимо, это особенность конкретного компьютера. А какая версия Windows?

25.10.2010

ната

почему в Справке не отображаются картинки .gif, .png...?

например в описании модуля Graph

Пробовала устанавливать разные версии

25.10.2010

mikst

Сами не знаем - вроде никогда ничто не ограничивало. Пишите по частям - если что - сольём

11.10.2010

Хм-м...

А у вас на объем сообщения в гостевой какое ограничение?

05.10.2010

Beltar

Вообще все это вызывает у меня ряд философских вопросов. Во-первых, я твердо убежден в том, что никакого специального языка для обучения быть не должно. Если язык труден для понимания в учебе, то, скорее всего, он и в серьезной работе будет вызывать множество проблем. C/C++ прекрасная иллюстрация к этому.

С другой стороны, я сам учился кодить на BP 7.1 с BC 3.1, и мне самому тогда было бы просто замечательно иметь подобный инструмент. Все-таки само по себе программирование начинается не с ООП, которое я сам для себя расшифровываю как "Объектно ориентированное проектирование", а со старого доброго структурного программирования алгоритмов. По сути любой программист большую часть времени занят именно структурным программированием внутренностей функций. Показать основы этого увлекательного занятия действительно проще на PascalABC, чем на Delphi, где даже для простейшего приложения надо создавать отдельный проект. А чтобы воспользоваться плюсами VCL надо опять-таки бросать на форму компоненты и объяснять, что бросьте на форму кнопку, которую взять оттуда-то, а потом 2 раза щелкнуть по н

05.10.2010

mikst

Цитата Algo

Разработчики - молодцы, проделали большой объём работы.

Только возникает серьёзный вопрос. В чём заключаются значительные особенности, отличия языка PascalABC ну, скажем от C#? Объявление переменных внутри блока, описание методов внутри записей, форма записи оператора new, модификатор internal, операторы +=, и т.п. - всё совпадает с C#. Остались косметические отличия, типа: begin ... end вместо { ... }, var i: integer вместо int i и т.д., плюс незначительная простота при написании самых простейших программ.

Получаем клон/аватар/аналог C# со всеми его плюсами и минусами, чуть более подходящий для начального обучения.

В чём же соль (идеология) проекта?



Итак, в чем соль. Говоря коротко: PascalABC.NET - аналог языка Delphi с простой и бесплатной средой разработки, ориентированной прежде всего на обучение. Мы очень педантично реализовали почти все конструкции Delphi Object Pascal, исключая лишь наиболее специфические для Delphi.

Вторая сторона PascalABC.NET - использование всех библиотек .NET и совместимость с .NET-языками.

Значительных особенностей, наверное, нет: это просто современный язык Object Pascal, очень близкий к Delphi, с возможностью свободного использования .NET-библиотек и качественной простой оболочкой. Если Вы программируете на Паскале, то PascalABC.NET - хороший выбор. Для обучения предоставляется несколько графических библиотек, пара школьных исполнителей и уникальный электронный задачник с возможностью самому разрабатывать автоматически проверяемые задания. Разве этого мало? Где Вы видели аналог такой среды, тем более сделанной с чистого листа?

Представление о PascalABC.NET как о клоне C# неверно и вытекает из внешнего сходства немногих конструкций: += (есть во Free Pascal), методы внутри записей (уже есть в современном Delphi), описание переменных внутри блока (очень востребовано при обучении, соблюдает принцип локальности и препятствует созданию длинного списка глобальных переменных), new в качестве вызова конструкторов воспринимается гораздо легче и присутствует в Delphi Prism, обобщенные классы (которые есть в .NET) были сделаны вначале в PascalABC.NET и лишь потом (в 2008 г.) появились в Delphi. Ну а то, что все типы - классы - это во всём .NET так - было бы странно запрещать.

Вообще, один из разработчиков языка C# проектировал в свое время Delphi, так что немудрено, что C# похож на Delphi. Но никак не наоборот.

На языке Pascal наработана масса методик начального обучения программированию, мы лишь предоставляем дополнительные средства, присущие множеству современных языков. То, что эти средства есть и в C#, говорит лишь о том, что C# - современный язык.

Если Паскаль лишь чуть более пригоден для начального обучения, чем C#, то учите на C#. Но уже в первой программе Вам потребуется рассказать, что такое

  • классы
  • функции
  • статические методы
  • пространства имен
  • подключение пространств имен
  • точечная нотация
  • тип void
  • тип string
  • тип string[]

За одно занятие мы такого делать не умеем. Потому и создали PascalABC.NET.

Теперь еще раз о соли. Соль проста: если используете Pascal для обучения, то выбирайте PascalABC.NET - он бесплатен, современен, непрерывно развивается, имеет простую русскую оболочку и позволяет использовать все .NET-библиотеки.

20.07.2010

ibond

PascalABC.NET со звуками работать умеет:

uses System.Media;
begin
  var player := new SoundPlayer('c:\PABCWork.NET\test.wav');
  player.Play;
end.

15.07.2010

Shen

Я бы хотел, чтобы pascalABC.net поддерживал работу со звуками, а также модуль VCL был такой же, как и в PascalABC

07.07.2010

Algo

Разработчики - молодцы, проделали большой объём работы.

Только возникает серьёзный вопрос. В чём заключаются значительные особенности, отличия языка PascalABC ну, скажем от C#? Объявление переменных внутри блока, описание методов внутри записей, форма записи оператора new, модификатор internal, операторы +=, и т.п. - всё совпадает с C#. Остались косметические отличия, типа: begin ... end вместо { ... }, var i: integer вместо int i и т.д., плюс незначительная простота при написании самых простейших программ.

Получаем клон/аватар/аналог C# со всеми его плюсами и минусами, чуть более подходящий для начального обучения.

В чём же соль (идеология) проекта?

03.07.2010

mikst

Всё верно. Вы выводите данные в неправильном порядке.

05.06.2010

Васильев Виталий Юрьевич

Не доработка в программе

(

uses PT4;
  var a,b,c,d,e,f,g,h: real;
begin
  Task('Begin10');
  read(a,b);
  g:= Sqr(a);
  h:= Sqr(b);
  c:= g+h;
  d:= g*h;
  e:= g-h;
  f:= g/h;
  write (c,d,e,f);

end.
)

Пишет что решение являеься не правильным хотя решение правильное. Нет проверки по условию.

05.06.2010

Flex24

Спасибо,сайт хороший. Очень помогает мне в учебе. Хотелось бы чтобы в разделе "Примеры программ" появились программы по работе с файлами.Laughing

23.05.2010

SSM

Примерно так:

uses System.IO;

procedure PrintFileTree(path,mask: string);
begin
  var d := new DirectoryInfo(path);
    writeln('--',d.FullName);
  foreach fi: FileInfo in d.GetFiles(mask) do
    writeln(fi);
  foreach di: DirectoryInfo in d.GetDirectories do
    PrintFileTree(di.FullName,mask);
end;

begin
  PrintFileTree('.','*.*');
end.

20.05.2010

Прохор

Подскажите, пожалуйста, как на PascalABC.Net сделать эффективный обход дерева каталогов.

 

19.05.2010

SSM

Спасибо за критику терминологии.

Пишите на форуме - в формате Гостевой книги невозможно обсуждать.

09.05.2010

Критика терминологии

Delphi Pascal - не существует такого языка программирования

Текущая релизация назывется "язык Delphi" (раньше это были Turbo Pascal, Borland Pascal, Object Pascal и Object Pascal 2.0)

http://ru.wikipedia.org/wiki/Delphi_%28%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F%29

"основанный на" - опять же неверное определение.

в википедии - более корректный "Испытал влияние:"

А вот здесь - пишите, под влиянием каких языков разрабатывается PascalABC.NET

сочетающий простоту языка - разве Паскаль прост?

09.05.2010

mikst

Смело заводите новый топик на форуме. Статические:

type Arr = array [1..100] of integer;
procedure Print(const a: Arr);
...

var b: Arr;
Print(b);

Есть в справке:

http://pascalabc.net/downloads/pabcnethelp/LangGuide/Types/staticarrays.htm

02.05.2010

можно без имени

*статический массив с границами

02.05.2010

можно без имени

как передать в процедуру статические массивы?

(на форуме искать сложно)

02.05.2010

SSM

Ответ - на форуме

28.04.2010

r3a2

Как сделать delay без модуля crt?

27.04.2010

SSM

Нет. Это то же, что и

Sound(440); Delay(1000); NoSound;

22.04.2010

ibond_

да

22.04.2010

RZah

Как я понял < System.Console.Beep(440,1000);> это тоже самое что и <Sound(440); Delay(1000);> Да?

22.04.2010

SSM

System.Console.Beep(440,1000);

не подойдет?

21.04.2010

RZah

А  Sound(x)  планируется?

21.04.2010

SSM

Сужение Вы хотели сказать.

Нет. Всё, что есть в модуле Dos, можно сделать средствами библиотек .NET.

Просто относитесь к этому так: в PascalABC.NET поменялись библиотеки. Устаревшие выброшены, появилось много новых. И их надо изучать :)

19.04.2010

неСтудент

А не планируется расширение до турбо?

 

18.04.2010

SSM

Delphi - это тоже Паскаль.

Не всё то, что Паскаль, является Турбо Паскалем.

Увы - люди всё равно будут путаться - они же люди.

18.04.2010

неСтудент

Тогда какого назвали "Pascal"?

Назвали бы "DelphiABC.NET".

Не путали бы людей. 

18.04.2010

SSM

Потому что это не турбо паскаль, а Delphi

17.04.2010

неСтудент

А модуля Dos.tpu нет???

Почему???

16.04.2010

Alex_

Мечтаю увидеть реализацию под Mono.

14.04.2010

 

Кол.-во сообщений на странице 
Powered by Phoca Guestbook





  © 2007-2012, PascalABCNET Team Южный федеральный университет (РГУ)