Форум программистов, компьютерный форум, киберфорум
Lisp
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 27.09.2022
Сообщений: 1
Common Lisp

Определить дисциплину по которой у студентов возникает больше всего трудностей (наименьший суммарный балл)

27.09.2022, 13:20. Показов 682. Ответов 2

Студворк — интернет-сервис помощи студентам
Дан список студентов с оценками за сессию в формате:
(
(студент (дисц. Оценка) (дисц. Оценка) . . . (дисц. Оценка))
(студент (дисц. Оценка) (дисц. Оценка) . . . (дисц. Оценка))
. . .
(студент (дисц. Оценка) (дисц. Оценка) . . . (дисц. Оценка))
).

Необходимо вывести в консоль название дисциплины вместе с суммарным баллом.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.09.2022, 13:20
Ответы с готовыми решениями:

Вывести дисциплину, по которой больше всего пятерок, и указать их число
1. Составить таблицу итогов сессии для 7 студентов группы, указав фамилию, 3 дисциплины (разделенные пробелом), оценки за экзамен по ним...

Записи: вывести номер группы, в которой больше всего студентов
Всем привет, нужна программа, которая выводит номер группы в которой больше всего студентов, релизация через записи. Я не знаю что делать...

Список студентов, сдавших дисциплину (название которой вводится с клавиатуры) на 5
Нужно сформировать файл список студентов сдавших дисциплину на 5,название которой вводится с клавиатуры Вот я попытался создать файл и...

2
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38161 / 21096 / 4306
Регистрация: 12.02.2012
Сообщений: 34,683
Записей в блоге: 14
27.09.2022, 14:58
Если список дисциплин для всех студентов одинаков:

Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
(setq *list* '((Bob  (chem 5) (math 5) (phys 5) (hist 3) (lit 3))
               (John (chem 4) (math 5) (phys 4) (hist 3) (lit 4))
               (**** (chem 5) (math 5) (phys 4) (hist 3) (lit 4))))
 
 
(defun task (list &optional a-list)
  (cond ((null list) 
           (let ((min-score (apply 'min (mapcar 'cadr a-list)))) 
                 (remove-if (lambda (pair) (> (cadr pair) min-score)) a-list)))
        (t (let* ((curr-student (cdar list)) 
                  (new-alist (mapcar (lambda (pair)
                                (let ((tmp (assoc (car pair) a-list)))
                                      (if (null tmp) pair
                                                     (list (car pair) (+ (cadr pair) (cadr tmp)))))) curr-student)))
                   (task (cdr list) new-alist)))))
 
(task *list*)
 
==> ((HIST 9))
1
 Аватар для _sg
4706 / 4401 / 380
Регистрация: 12.05.2012
Сообщений: 3,100
27.09.2022, 16:44
как вариант:
Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
(defvar *w* '(("Bob"  (chem 5) (math 5) (phys 5) (hist 3) (lit 3))
              ("John" (chem 4) (math 5) (phys 4) (hist 3) (lit 4))
              ("****" (chem 5) (math 5) (phys 4) (hist 3) (lit 4))))
 
(defun m-mark
    (w &aux
     (v (loop for a in (cdr (apply #'mapcar #'list w))
              collect (list (caar a)
                            (reduce #'+ a :key #'cadr))))
     (z (loop for b in v minimize (cadr b))))
  (loop for e in v when (= (cadr e) z) collect e))
 
> (m-mark *w*)
((HIST 9))
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.09.2022, 16:44
Помогаю со студенческими работами здесь

Написать программу, благодаря которой вводится список студентов и баллы за дисциплину
Написать программу, помощью которой вводится список студентов и баллы за дисциплину. По запросу должен выводиться список отличников...

Определить номера школ, в которых больше всего учащихся получило за экзамен максимальный балл
Дан список результатов сдачи экзамена учащимися школ некоторого района, с указанием фамилии и имени учащегося, номера школы и итогового...

Определить, на каком факультете обучается больше всего студентов
Дан список из n записей о студентах. Каждая запись содержит следующие поля: фамилия, имя, отчество, факультет. На каком факультете...

Определить номер строки в которой больше всего гласных букв
Задание: 1) Скопировать из файла F1 в файл F2 все строки, кроме той, в которой больше гласных. 2) Вивести номер этой строки. код: ...

Определить номер строки, в которой больше всего букв «А» в файле
Здравствуйте! помогите вывести номер строки с наибольшим количеством букв "A" из файла


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение/ Перевод https:/ / **********/ gallery/ thinkpad-x220-tablet-porn-gzoEAjs . . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru