Страница 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 где напишите
хоть на 500 символов. Потом в этой папке в консоли введите: fpc a.pas и запустите получившийся .exe
Блокнотом потому, что IDE не даст просто написать длинную строку.
Re: "Песни о Паскале" - для школьников и начинающих
Добавлено: 27.04.2012 12:06:52
Oleg_D
Vadim писал(а):Ну, как скажете, учитель. Вы - единственный светоч знаний и вам виднее.
Кто бы сомневался?
Вообще, строки в широком смысле - не простая тема, тем более, если собрать о них все, что касается разных компиляторов и операционок. Потому я и ограничился самым простым видом строк, близким к массивам. В профессиональной работе Вы пользуетесь тем, что лучше подходит, - это понятно.
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 Line = ’---------------------------’;
и т.д. на
Код: Выделить всё
const
Line = ’---------------------------’;
и т.д.
Добавлено спустя 2 минуты 19 секунд:Но даже если и не уместится лучше пожертвовать одной страницей для точного понимания. Тем более не вижу проблем в смещении страниц - нумерация у Вас автоматическая, оглавление тоже автоматическое средствами ворда...
Добавлено спустя 6 минут 17 секунд:Vadim писал(а):и не забывайте все новые файлы компилить именно с этими опциями.

Тогда строка любой длины выведется целиком.
Вариант №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 писал(а):Это бред. С таким же успехом я могу написать, что там десятичный код в шестнадцатиричном представлении.
А вот это уж точно бред.

Видимо Вы не знакомы с историе компьютеров и программирования раз так говорите. "Двоичный код" - устоявшийся термин, идёт ещё с тех пор, когда коды просматривали именно в двоичном представлении. Так что Ваша претензия не по адресу.

Автор книги использует общеупотребительные термины и правильно делает, иначе на каждое слово в книге придётся издавать ещё одну книгу с подробными объяснениями, а что же автор имел в виду.
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.
Надеюсь,всё правильно сделал.