Поиск:

Ответ в темуСоздание новой темы Создание опроса
> CommonLisp Работа с файлами 
:(
    Опции темы
raigon
Дата 26.10.2014, 18:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Помогите пожалуйста! 
Есть сделанное задание. Помогите сделать все тоже самое но в файле.  Язык CommonLisp!


Написать программу, которая формирует базу данных на основе списков. Эта программа должна иметь функцию список (запись в БД), функции модификации записей и функции доступа к отдельным данным.

Вид БД:
((фамилия имя) №зачетки №группы вариант_задания оценка)

Задания:
1. Найти по номеру зачетки студента и добавить к фамилии и имени отчество.
2. Подсчитать средний балл успеваемости группы.


Вот код:
Код

(defun add-student (base name surname nz ng v r)
  (cons (list (list surname name) nz ng v r) base))
 
;(setq *base* nil)
;(setq *base* (add-student *base* 'Иван 'Бойко 11 22 1 3))
;(setq *base* (add-student *base* 'Петр 'Бугайов 12 22 1 4))
 
 
(defun add-otch (base nz otch)
 (if (null base) 
  base 
   (if (= nz (cadar base)) (cons (append (list (append (caar base) (list otch))) (cdar base)) (cdr base))
   (cons (car base) (add-otch (cdr base) nz otch))))) 
 
;(setq *base* (add-otch *base* 12 'Петрович))
 
 
(defun avg-ball (base ng)
  (let ((lst-v  (mapcar #'(lambda (z) (nth 4 z)) (remove-if #'(lambda (x) 
        (/= ng (caddr x))) base))))
        (if (null lst-v) nil (/ (apply '+ lst-v) (length lst-v)))))
 
;(avg-ball *base* 22)
 
;Доступ к данным по индексу
(defun access(elem index base)
(nth index (nth elem base))
)


Зарание спасибо.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума LISP
Void
  • Пожалуйста, создавайте темы с содержательными названиями.
  • Lisp — это целое семейство языков. Всегда указывайте в теме используемый диалект (Common Lisp, Scheme и т.д.).
  • Уважаемые учащиеся, здесь всегда рады помочь Вам, но не делать за Вас вашу работу. У вас гораздо больше шансов получить помощь, если Вы приложите усилия и поделитесь с нами проблемами и результатами. В противном случае добро пожаловать в раздел Центр Помощи.
  • Получив ответ на интересующий Вас вопрос, не забудьте пометить его как решённый.

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

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


 




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


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

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