русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Удаление элемента.


Дата добавления: 2013-12-23; просмотров: 1047; Нарушение авторских прав


Добавление элемента.

Принадлежность к списку.

YouTube

YouTube ([ˈjuːtjuːb] — ю-тьюб) — сервис, предоставляющий услуги хостинга видеоматериалов. Пользователи могут добавлять, просматривать и комментировать те или иные видеозаписи. Благодаря простоте и удобству использования, YouTube стал популярнейшим видеохостингом и третьим сайтом в мире по количеству посетителей[. Ежедневное количество просмотров видео на сайте составляет более 2 миллиардов. На сайте представлены как профессионально снятые фильмы и клипы, так и любительские видеозаписи, включая видеоблоги.

Проект был основан в феврале 2005 года тремя бывшими работниками PayPal в Сан-Бруно, Калифорния. Они использовали технологию Flash Video (flv), позволяющую получить относительно хорошее качество записи при небольшом объёме передаваемых данных. Проект стал хорошим средством развлечения, и, сформировав своё сообщество, по данным статистики аналитической компании Alexa, опередил по популярности социальную сеть MySpace.

В ноябре 2006 года была завершена покупка YouTube компанией Google за 1,65 миллиарда долларов[3]. До покупки YouTube у Google был сервис схожей направленности — Google Video. Представители Google не намереваются закрывать его, а будут использовать его как место поиска видео по всем видеохостинговым сайтам. В настоящее время поиск Google Video включает и YouTube.Самое первое видео — 18-секундный ролик любительской съёмки в зоопарке Сан-Диего — на YouTube было размещено 23 апреля 2005 года[4].

 

Цель: принадлежит(X,L) истинна, если элемент Х встречается в L. X – объект, L – список.

 

Истинно: принадлежит (b,[a,b,c])

принадлежит([b,c],[a,[b,c]])

Ложно: принадлежит(b,[a,[b,c]])



Будем основываться на следующем логическом утверждении:

1) Х есть голова L, либо

2) Х принадлежит хвосту L.

На Прологе:

принадлежит(X,[X|Hvost]).

принадлежит(X,[Golova|Hvost]) :- принадлежит(X,Hvost).

Задание: записать предикат принадлежит с использованием анонимной переменной.

Цель: добавить(X,L,SP)

Наиболее простой способ добавить элемент в список – это поставить его в самое начало так, чтобы он стал его новой головой.

добавить(X,L,[X|L]), где Х – новый элемент, L – исходный список, SP=[X|L] – результирующий список.

Предикат удалить(X,L,NL) определяется аналогично отношению принадлежности.

Здесь NL – список, который совпадает со списком L, у которого удалён элемент X.

Снова имеем два случая:

1) Если Х является головой списка, тогда результатом удаления будет хвост этого списка.

2) Если X находится в хвосте списка, тогда его нужно удалить оттуда.

На Прологе:

удалить(Х,[X|Hvost],Hvost).

удалить(X,[Y|Hvost],[Y|Hvost1]) :- удалить(X,Hvost,Hvost1).

В случае, если элемента Х нет в списке L, то предикат удалить терпит неуспех.

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

Элемент “a” добавить в список [b,c,d].

? удалить (a,L,[b,c,d])

Т.е. мы спрашиваем у Пролог-системы, каким должен был быть список L, чтобы после удаления из него элемента “a” получился список [b,c,d].

Вопрос: как использовать предикат удалить для проверки на принадлежность?

Идея: некоторый X принадлежит списку SP, если X можно из него удалить, т.е.:

принадлежит1(X,SP) :- удалить(X,SP,_).

В данном случае NSP не нужен. Мы его заменяем на “_”.



<== предыдущая лекция | следующая лекция ==>
Декларация типа документа | Сцепление (конкатенация) списков.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.