Страница 11 из 26

Re: "Песни о Паскале" - для школьников и начинающих

Добавлено: 27.04.2012 11:56:52
Vadim
Oleg_D
Ну, как скажете, учитель. Вы - единственный светоч знаний и вам виднее. :)
Лично я использую именно длинные строки (Huge String ;) ) по той простой причине, что при работе с WinAPI они переводятся в PChar одним движением пальца. Во всех остальных случаях действительно по-барабану, длинные строки или короткие.
Однако, совсем иной подход к строкам будет при использовании Lazarus, т.к. там используются UTF-8-строки. При этом, казалось бы, небольшая длина строки может запросто вылезть за пределы 255 байт. Учтите это. ;)

Re: "Песни о Паскале" - для школьников и начинающих

Добавлено: 27.04.2012 12:04:51
tema
Да вы что! Никаких опций компилятора. В папке bin вашего fpc создайте блокнотом файл a.pas где напишите

Код: Выделить всё

begin
writeln('11111111111111111....');
end.

хоть на 500 символов. Потом в этой папке в консоли введите: fpc a.pas и запустите получившийся .exe
Блокнотом потому, что IDE не даст просто написать длинную строку.

Re: "Песни о Паскале" - для школьников и начинающих

Добавлено: 27.04.2012 12:06:52
Oleg_D
Vadim писал(а):Ну, как скажете, учитель. Вы - единственный светоч знаний и вам виднее.

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

Re: "Песни о Паскале" - для школьников и начинающих

Добавлено: 27.04.2012 12:08:49
tema
Oleg_D писал(а):Вот, к примеру, можно было бы во 2-й главе наговорить и про двоичный, и про 16-ричный коды. Только зачем? Здесь ребёнок не поймет ни того, ни другого, но почувствует себя дураком. То есть, некоторые мои умолчания, недоговорки и упрощения имеют сугубо дидактическую причину. Или те же определения информации и алгоритмов, - здесь тоже упрощаю до соответсвующего уровня.

Можно и не говорить вообще, но нельзя говорить неправильно. У Вас там на скриншоте код шестнадцатиричный. Вы же называете его двоичным - это неправильно.

Re: "Песни о Паскале" - для школьников и начинающих

Добавлено: 27.04.2012 12:59:49
Oleg_D
tema писал(а):Можно и не говорить вообще, но нельзя говорить неправильно. У Вас там на скриншоте код шестнадцатиричный. Вы же называете его двоичным - это неправильно.

Да, тут поправлю, уже примерно знаю как, спасибо!

Добавлено спустя 6 минут 13 секунд:
Мне очень помогают внимательные читатели. Сам-то я уже сотню раз перечитал всё вдоль и поперек, при этом не замечая очевидных огрехов. :(

Re: "Песни о Паскале" - для школьников и начинающих

Добавлено: 27.04.2012 13:48:41
tema
Oleg_D писал(а):.....Некоторые не смогу по той причине, что при вставке дополнительных строк существенно сместятся страницы, а я пока избегаю этого.

Я догадываюсь о чём Вы. Тогда хотябы сделайте это в первых упоминаниях и там, где есть запас по свободному месту в начальных главах. Это очень важный момент.
В 8й главе место есть, чтобы поправить

Код: Выделить всё

const Имя_константы = Значение_константы;

Код: Выделить всё

Const C1 = ’Мой повелитель!’;

Код: Выделить всё

const Line = ’---------------------------’;

и т.д. на

Код: Выделить всё

const
  Имя_константы = Значение_константы;

Код: Выделить всё

const
  C1 = ’Мой повелитель!’;

Код: Выделить всё

const
  Line = ’---------------------------’;

и т.д.

Добавлено спустя 2 минуты 19 секунд:
Но даже если и не уместится лучше пожертвовать одной страницей для точного понимания. Тем более не вижу проблем в смещении страниц - нумерация у Вас автоматическая, оглавление тоже автоматическое средствами ворда...

Добавлено спустя 6 минут 17 секунд:
Vadim писал(а):

Код: Выделить всё

{$mode objfpc}{$H+}

и не забывайте все новые файлы компилить именно с этими опциями. ;) Тогда строка любой длины выведется целиком.
Вариант №2.
Чтобы не записывать это каждый раз, лучше включить эти опции в конфигурационный файл компилятора - fpc.cfg:
-Mobjfpc
-Sh

тогда режим длинных строк будет работать по умолчанию.

Я специально проверил конфиги. У меня ничего этого не указано. В коде я тоже не указывал ничего дополнительно. Всё работает и без этого.

Re: "Песни о Паскале" - для школьников и начинающих

Добавлено: 27.04.2012 14:29:24
Oleg_D
tema писал(а):Я догадываюсь о чём Вы. Тогда хотябы сделайте это в первых упоминаниях и там, где есть запас по свободному месту в начальных главах. Это очень важный момент.

Да, постараюсь заострить на этом внимание. В оправдание замечу, что в более поздних главах приводится много кода, где секции Const, Type, Var содержат по нескольку элементов. Надеюсь, эти примеры как-то помогут.
tema писал(а):Тем более не вижу проблем в смещении страниц - нумерация у Вас автоматическая, оглавление тоже автоматическое средствами ворда...

У меня не будет с этим проблем, будут у тех, кто уже напечатал себе книги. С прошлой весны стараюсь не двигать страницы, но когда-нибудь, возможно, и нарушу этот обет.

Добавлено спустя 15 минут 5 секунд:
Кстати, давно известно, что на бумаге все читается не так, как на экране. Сам-то я с экраном работаю, здесь трудней заметить свои грешки.

Re: "Песни о Паскале" - для школьников и начинающих

Добавлено: 27.04.2012 20:58:52
bormant
tema писал(а):Можно и не говорить вообще, но нельзя говорить неправильно. У Вас там на скриншоте код шестнадцатиричный. Вы же называете его двоичным - это неправильно.

Посылка правильная, но вывод неверный.
На скриншоте двоичный код в шестнадцатеричном представлении.

Двоичный он из-за системы счисления, применяемой в современных ЭВМ (привет, "Сетунь"). А от представления (16/8/2/64) эта сущность не меняется.

ps. Плюс устоявшееся терминология в противопоставлении "текстовый файл" <--> "двоичный файл", за неимением лучшего.
pps. http://ru.wikipedia.org/wiki/%D0%94%D0% ... 0%B9%D0%BB

Re: "Песни о Паскале" - для школьников и начинающих

Добавлено: 28.04.2012 01:12:17
tema
bormant писал(а):На скриншоте двоичный код в шестнадцатеричном представлении.

Это бред. С таким же успехом я могу написать, что там десятичный код в шестнадцатиричном представлении. Или там вообще символы в шестнадцатиричном представлении.
Чтобы говорить о чём-то в каком-то представлении надо увидеть и то и это.

Всё остальное верно я с этим и не спорю и ничего против этого я не говорил, но "устоявшееся" это у кого угодно только не у школьников. Поэтому если говорить о двоичном коде нужно показать именно двоичный код. Если говорить о щестнадцатиричном представлении двоичного кода нужно показать двоичный и шестнадцатиричный и показать как их друг в друга переводить.

Re: "Песни о Паскале" - для школьников и начинающих

Добавлено: 28.04.2012 08:42:30
Oleg_D
Чтобы не вносить смуту в неокрепшие умы, могу исправить так:
-----
Но, согласитесь, в отличие от загадочного машинного кода, здесь чувствуется возможность что-то понять.
...
Процессор компьютера «понимает» лишь язык своих кодов, в котором трудно разобраться человеку.
-----
Остальные правки сделаю и прокомментирую немного позже.

Re: "Песни о Паскале" - для школьников и начинающих

Добавлено: 28.04.2012 13:19:06
Vadim
tema писал(а):Это бред. С таким же успехом я могу написать, что там десятичный код в шестнадцатиричном представлении.

А вот это уж точно бред. :D
Видимо Вы не знакомы с историе компьютеров и программирования раз так говорите. "Двоичный код" - устоявшийся термин, идёт ещё с тех пор, когда коды просматривали именно в двоичном представлении. Так что Ваша претензия не по адресу. ;) Автор книги использует общеупотребительные термины и правильно делает, иначе на каждое слово в книге придётся издавать ещё одну книгу с подробными объяснениями, а что же автор имел в виду.

Re: "Песни о Паскале" - для школьников и начинающих

Добавлено: 28.04.2012 13:34:01
tema
Угу точно не знаком. Поэтому так и говорю. Вот я тупица, а ещё преподаватель информатики. Гнать меня надо.
Причём тут, блин, история?
Мы говорим о правильном понимании терминов детьми!
2 Oleg_D
Отлично, мне нравится :)
Про двоичные коды и двоичные файлы можно рассказать отдельно :)

Re: "Песни о Паскале" - для школьников и начинающих

Добавлено: 28.04.2012 13:44:39
Oleg_D
Друзья мои, tema и Vadim, Вы каждый по-своему правы. Действительно, термин "двоичный" у компьютерщиков устоялся, для нас что двоичный, что HEX-код - одно и то же, поскольку все понимают, о чем речь. Но школяров это может запутать, поэтому мне лучше избегать непонятных им слов когда это легко сделать.

Добавлено спустя 2 минуты 21 секунду:
Oleg_D писал(а):Про двоичные коды и двоичные файлы можно рассказать отдельно

Это аж в главе 47 будет.

Re: "Песни о Паскале" - для школьников и начинающих

Добавлено: 28.04.2012 15:12:35
Mr.Smart
off top
Действительно, термин "компьютерщик" у обычных людей устоялся....

Re: "Песни о Паскале" - для школьников и начинающих

Добавлено: 30.04.2012 15:59:15
Paster Fob
Добрый вечер.Решаю задачи из раздела "а слабо?" глава 40.Посмотрите как я решил задачи г) и д).

Код: Выделить всё

type tarray=array[1..100] of integer;
     tset=set of byte;

procedure minimum(amas:tarray;ai,an:byte);
begin
  an:=255;
  for ai:=1 to 100 do begin
    if amas[ai]<an then
      an:=amas[ai];
  end;
  for ai:=1 to 100 do
    if amas[ai]=an then
      writeln('минимальное  ',an,'  индекс  ',ai);
end;

procedure maximum(amas:tarray;ai,an:byte);
begin
  an:=0;
  for ai:=1 to 100 do begin
    if amas[ai]>an then
      an:=amas[ai];
  end;
  for ai:=1 to 100 do
    if amas[ai]=an then
      writeln('максимальное  ',an,'  индекс  ',ai);
end;

var mas:tarray;sn:tset;
    i,n:byte;

begin
  sn:=[];i:=1;
  randomize;
  while i<=100 do begin
    n:=random(256);
      if not(n in sn) then begin
        sn:=sn+[n];
        mas[i]:=n;
        inc(i);
      end;
  end;
  minimum(mas,i,n);
  maximum(mas,i,n);
  readln
end.

Надеюсь,всё правильно сделал.