> 1 <

Автор Сообщение

Alexstudent

Members


Статус

9 сообщений

Где: Russia
Род занятий:
Возраст:

#4050   2011-03-22 12:53 GMT+3 часа(ов)      
Пожалуйста помогите с заданием "Лисп-реализация алгоритма кодирования методом Цезаря". именно лисп не его диалекты

LinkFly

Members


Статус

152 сообщений

Где: Russia
Род занятий:
Возраст:

#4051   2011-03-22 20:24 GMT+3 часа(ов)      
> ... именно лисп не его диалекты

Да где ж найти такой сейчас

megamanx

Members


Статус

307 сообщений

Где: Russia
Род занятий:
Возраст:

#4052   2011-03-22 22:08 GMT+3 часа(ов)      
опиши алгоритм словами, мне лень смотреть что это за бред
I wish I'd made you angry earlier

Alexstudent

Members


Статус

9 сообщений

Где: Russia
Род занятий:
Возраст:

#4054   2011-03-22 23:04 GMT+3 часа(ов)      
Ну смысл заключается в смещеии символов с определенным шагом, вот пример, позволяющий понять принцип работы

ПримерШифрование с использованием ключа k = 3. Буква «С» «сдвигается» на три буквы вперед и становится буквой «Ф». Твердый знак, перемещённый на три буквы вперед, становится буквой «Э», и так далее:

Исходный алфавит: АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ
Шифрованный: ГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯАБВ
Оригинальный текст:

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

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

Alexstudent

Members


Статус

9 сообщений

Где: Russia
Род занятий:
Возраст:

#4055   2011-03-22 23:06 GMT+3 часа(ов)      
Заранее спасибо, сам изучаю С++ , а тут препод уперся и что бы только на лиспе

megamanx

Members


Статус

307 сообщений

Где: Russia
Род занятий:
Возраст:

#4056   2011-03-23 00:18 GMT+3 часа(ов)      
(defun init(shiftkey)
(let* ((alp "abcdefghijklmnopqrstuvwxyz")
(len (length alp)))
(defun getNthByName(s)
(let ((pos (+ (position s alp) shiftkey)))
(if (> pos (1- len))
(subseq alp (- pos len) (1+ (- pos len)))
(subseq alp pos (1+ pos)))))
(defun cipher (str)
(declare (string str) (inline getNthByName))
(coerce (loop for i across str collect (coerce (getNthByName i) 'character)) 'string))))

(init 5) сгенерирует функцию шифрования со сдвигом 5. Щас времени нет общаться, может только в пятницу.
I wish I'd made you angry earlier

Alexstudent

Members


Статус

9 сообщений

Где: Russia
Род занятий:
Возраст:

#4058   2011-03-23 00:43 GMT+3 часа(ов)      
Спасибо тебе большое щас буду сидеть разбтраться

Alexstudent

Members


Статус

9 сообщений

Где: Russia
Род занятий:
Возраст:

#4059   2011-03-23 01:20 GMT+3 часа(ов)      
Программа результат работы не выводит пробывал принт но не фига

nex

Members


Статус

3 сообщений
http://2-ch.ru/pr/
Где: ---
Род занятий:
Возраст:

#4060   2011-03-23 01:57 GMT+3 часа(ов)      
(setq алфавит1 "абвгдеёжзийклмнопрстуфхцчшщъыьэюя")
(setq алфавит2 "гдеёжзийклмнопрстуфхцчшщъыьэюяабв")
 
(setq шифр (mapcar #'(lambda (x) (if (position x алфавит1) (aref алфавит2 (position x алфавит1)) x)) (coerce "съешь же ещё этих мягких французских булок, да выпей чаю." 'list)))
(setq дешифр (mapcar #'(lambda (x) (if (position x алфавит2) (aref алфавит1 (position x алфавит2)) x)) шифр))
 
(format t "~A~%~A~%" (concatenate 'string шифр) (concatenate 'string дешифр))

Alexstudent

Members


Статус

9 сообщений

Где: Russia
Род занятий:
Возраст:

#4061   2011-03-23 02:58 GMT+3 часа(ов)      
Спасибо это оно самое вот только код понимаю частично, если не сложно пришли коменты, заранее спасибо

ander-skirnir

Members


Статус

227 сообщений
http://lisper.ru
Где: Ukraine
Род занятий: `'`,`',`',
Возраст: 30

#4065   2011-03-23 07:43 GMT+3 часа(ов)      
(defun encode (k text &key (#1=alphabet "абвгдеёжзийклмнопрстуфхцчшщъыьэюя"))
(setq #1# (string-upcase #1#))
(map (type-of text)
(lambda (c &aux (u (char-upcase c)))
(if (not (find u #1#)) c
(let ((nc (aref #1# (mod (+ k (position u #1#))
(length #1#)))))
(if (upper-case-p c) nc
(char-downcase nc)))))
text))
 
(declaim (inline decode))
(defun decode (k text &key (alphabet "абвгдеёжзийклмнопрстуфхцчшщъыьэюя"))
(encode (- k) text :alphabet alphabet))
 
(encode 3 "Съешь же ещё этих мягких французских булок, да выпей чаю.")
=> "Фэзыя йз зьи ахлш пвёнлш чугрщцкфнлш дцосн, жг еютзм ъгб."
 
(decode 3 "Фэзыя йз зьи ахлш пвёнлш чугрщцкфнлш дцосн, жг еютзм ъгб.")
=> "Съешь же ещё этих мягких французских булок, да выпей чаю."

megamanx

Members


Статус

307 сообщений

Где: Russia
Род занятий:
Возраст:

#4066   2011-03-23 22:53 GMT+3 часа(ов)      
Цитата
Программа результат работы не выводит пробывал принт но не фига

(init 5)
>>cipher
(cipher "abcdefg")
>>"fghijkl"
I wish I'd made you angry earlier

Alexstudent

Members


Статус

9 сообщений

Где: Russia
Род занятий:
Возраст:

#4076   2011-03-26 19:56 GMT+3 часа(ов)      
Ребята спасибо вам всем огромное вы меня выручили безмерно вам благодарен
> 1 <


Онлайн :

0 пользователь(ей), 47 гость(ей) :