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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.11.2016, 16:07   #11
Lektorfuja
Форумчанин
 
Аватар для Lektorfuja
 
Регистрация: 04.11.2016
Сообщений: 355
По умолчанию

У меня компилятор пишет ошибку.
мой блог :patreon.com/hopkins1988 . facebook группы:"программирование на Андроид","
"Программирование чистый код"
Lektorfuja вне форума Ответить с цитированием
Старый 25.11.2016, 16:43   #12
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

А что, все скопипастил? То примеры, обрывки кода, если все засунуть в прогу, то не только у компилятора крыша поедет, а и системник задымиться может. Серьезно
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 25.11.2016, 17:35   #13
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от Lektorfuja Посмотреть сообщение
У меня компилятор пишет ошибку.
приведи свою программу, на которую комплитор выдаёт ошибку, целиком.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 26.11.2016, 01:37   #14
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

стелепатив следующий вопрос - привожу код)

Код:
program random;
var rand_array:array[0..9] of string = 
('zero','one','two','three','four',
'five','six','seven','eight','nine');
  i:byte;
  
begin
 randomize;
 i:=1+random(9);
 writeln('chislo: ',i,'. Slovo: "',rand_array[i],'".');
end.
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 26.11.2016, 09:19   #15
Lektorfuja
Форумчанин
 
Аватар для Lektorfuja
 
Регистрация: 04.11.2016
Сообщений: 355
По умолчанию

Код:
 
begin
Randomize;
if (0+Random(4))=0 then Writeln('zero');
if (0+Random(4))=1 then Writeln('one');
if (0+Random(4))=2 then Writeln('two');
if (0+Random(4))=3 then Writeln('three');
end.
мой блог :patreon.com/hopkins1988 . facebook группы:"программирование на Андроид","
"Программирование чистый код"
Lektorfuja вне форума Ответить с цитированием
Старый 26.11.2016, 09:38   #16
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Lektorfuja, во-первых, ноль прибавлять не нужно, в данном случае это ничего не меняет.

во-вторых, у Вас 4 независимых вызова Random - каждый из них даёт своё псевдослучайное число. Вероятность того, что полученное случайное число равно той константе, которая в данной строке - не нулевая, но не очень большая (25%).
случайное число нужно получать ОДИН РАЗ. если хотите написать с IF, тогда случайное число нужно запомнить в переменной и дальше уже её сравнивать.

в-третьих, Вы точно пост #10 прочитали?
Вам же показывали пример с
Код:
if xxxx=1 then
ELSE 
   if xxxx=2 then
   ELSE if xxxx=3 then
....
видите ключевое слово ELSE ?
где оно у Вас?!

или, лучше, когда значение нужно проверять более двух раз, то лучше использовать
Код:
case xxx of
  1:
  2:
....
end;
p.s. пример Алексей_2012 использует другой подход, но то же вполне рабочий!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 26.11.2016, 09:57   #17
Lektorfuja
Форумчанин
 
Аватар для Lektorfuja
 
Регистрация: 04.11.2016
Сообщений: 355
По умолчанию

У меня на Else компилятор выдает ошибку.
мой блог :patreon.com/hopkins1988 . facebook группы:"программирование на Андроид","
"Программирование чистый код"
Lektorfuja вне форума Ответить с цитированием
Старый 26.11.2016, 21:31   #18
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,304
По умолчанию

Телепатируем дальше ...
А как расставлены точки с запятой?
Перед Else ее не должно быть.
Код:
if <условие>  then
   <оператор1> {тут нет точки с запятой}
else
   <оператор2>; {тут конец оператора: if ... else ...}
или в другом варианте
Код:
if <условие>  then
begin
   <оператор1>;
   <оператор2>;
   <оператор3>;
end       {тут нет точки с запятой}
else
begin
   <оператор4>;
   <оператор5>;
   <оператор6>;
end; {тут конец оператора: if ... else ...}
Как-то так, ...
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 09.01.2017, 13:25   #19
Lektorfuja
Форумчанин
 
Аватар для Lektorfuja
 
Регистрация: 04.11.2016
Сообщений: 355
По умолчанию

Код:
var num: integer;
begin
randomize;
begin
num:=random(6);
write (num, ' ');
end;
end.
И добавил
Код:
if num=0 then write('zero');
мой блог :patreon.com/hopkins1988 . facebook группы:"программирование на Андроид","
"Программирование чистый код"

Последний раз редактировалось Lektorfuja; 09.01.2017 в 13:35.
Lektorfuja вне форума Ответить с цитированием
Старый 09.01.2017, 14:08   #20
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от Lektorfuja Посмотреть сообщение
И добавил
Код:
if num=0 then write('zero');
так, хорошо.
и что теперь?
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Random и BigInteger (Pascal ABC) Danilkoo832832 Lazarus, Free Pascal, CodeTyphon 12 30.08.2016 15:55
Random (Pascal) spinogryz_ua Помощь студентам 3 23.01.2013 00:13
Random (pascal) spinogryz_ua Помощь студентам 6 09.01.2013 13:50
pascal random S0ap Помощь студентам 2 10.07.2011 17:49
Random ограничения (pascal) _fynjy_ Помощь студентам 24 11.01.2011 10:19