Модераторы: volvo877, Snowy, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Что в Паскале выполняет, данный код? 
:(
    Опции темы
Uragan
Дата 22.12.2006, 04:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 139
Регистрация: 29.10.2005

Репутация: нет
Всего: 0



Что в Паскале выполняет такой код:
Пример:
c:=true;
For i:=1 to 5 do 
For j:=i+1 to 5 do
c:=c and massiv[i]<>massiv[j]
и чем его можно заменить, какими стандартными операторами(условие и т.д.)?
PM MAIL WWW   Вверх
Rodman
Дата 22.12.2006, 09:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: нет
Всего: 122



Код

c:=true;
For i:=1 to 5 do 
   For j:=i+1 to 5 do
    begin
           c:=c {что то у тебя в этой и следующей строка не хватает, проверь все ли ты скопировал}
           massiv[i]<>massiv[j]
    end;

PM MAIL WWW Skype GTalk YIM MSN   Вверх
Snowy
Дата 22.12.2006, 10:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: нет
Всего: 484



Код

c:=true; // это флаг
For i:=1 to 5 do // это мы перебираем все элементы массива
  For j:=i+1 to 5 do // и сравниваем каждый с каждым
    c:=c and (massiv[i]<>massiv[j]); // если хоть один отличается от другого, то флаг сбрасывается
  // а дальше смотрим - если флаг сброшен, то есть элементы, отличные от других

PM MAIL   Вверх
Zero
Дата 22.12.2006, 10:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: нет
Всего: 24



Цитата(Uragan @  22.12.2006,  04:13 Найти цитируемый пост)
Что в Паскале выполняет такой код:
Код

var
  b,c:boolean;
  i,j:integer;
  massiv:array[1..6] of boolean;
Begin
  c:=true;
  for i:=2 to 6 do
    massiv[i] := not(massiv[i-1]);

  For i:=1 to 5 do
    For j:=i+1 to 5 do
      begin
        b := massiv[i] xor massiv[j];
        c:=c and b;
      end;
End.

Этот код, работате в соответствии с таблицей истености, т.е. он объединяет в c содержимое самой себя и того что будет между двумя разными элементами массива.
А условие, если его вынести в переменную b то там проверяется, если два элемента массива неравны друг другу, то в переменную заносися Истина иначе Ложь
Цитата(Uragan @  22.12.2006,  04:13 Найти цитируемый пост)
и чем его можно заменить, какими стандартными операторами(условие и т.д.)?

Заменить условие в данном случае можно стандартным оператором XOR.
AND - тоже стандартный оператор, его менять ненужно.
PM MAIL ICQ   Вверх
volvo877
Дата 22.12.2006, 21:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 2
Всего: 116



Цитата(Zero @  22.12.2006,  09:24 Найти цитируемый пост)
Код
massiv:array[1..6] of boolean;

А, простите, при чем тут массив Boolean-ов? Код автора корректно работает с массивами любых встроеннвх типов Паскаля... Зачем вносить ограничения?
PM MAIL   Вверх
Zero
Дата 23.12.2006, 11:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: нет
Всего: 24



Цитата(volvo877 @  22.12.2006,  21:30 Найти цитируемый пост)
А, простите, при чем тут массив Boolean-ов? Код автора корректно работает с массивами любых встроеннвх типов Паскаля... Зачем вносить ограничения?

В качестве примера... smile  Немогу же я сразу на одном массиве, все типы поставить. smile 
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

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

3. Оффтопить

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




[ Время генерации скрипта: 0.1293 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.