7 / 7 / 0
Регистрация: 15.10.2012
Сообщений: 180
|
|||||||||||
1 | |||||||||||
Составьте список студентов своей группы13.02.2014, 04:05. Показов 3160. Ответов 8
Метки нет (Все метки)
Условие задачи следующие:
Составьте список студентов своей группы (ФИО ФИО ... ФИО) Для каждого студента а) с помощью функции LIST составьте следующие списки: Для самого студента - (дата рождения), (адрес), (средний бал по лекционным занятиям), (средний бал по практическим занятиям), (средний бал по лабораторным работам). Для отца и матери - (ФИО), (дата рождения), (адрес), (место работы). б) с помощью функций CONS и SETQ объедините полученные списки и присвойте их в виде значений символам, означающим ФИО каждого студента: ФИО ст. - (((дата рождения ст.) (адрес ст.)((ср. бал(до десятых) по лекционным занятиям) (ср. бал по практическим занятиям) (ср. бал по лабораторным работам))) (((ФИО отца) (дата рождения отца) (адрес) (место работы отца)) ((ФИО матери) (дата рождения матери) (адрес) (место работы матери)))). Прочитав условие, мне показалось что это прям какая-то база данных... Ну допустим первое условие:
Пишу
Ну а дальше я совсем запутался(
0
|
13.02.2014, 04:05 | |
Ответы с готовыми решениями:
8
Имеется список студентов группы Опишите тип записи - сведения о студенте группы. Сформируйте файл студентов своей группы. Ввести список студентов и их группу Вывести список студентов заданной группы При выборе группы студентов из ComboBox показать список студентов в Stringgrid |
4527 / 3521 / 358
Регистрация: 12.03.2013
Сообщений: 6,038
|
|
13.02.2014, 04:24 | 2 |
(list "Ковтун" "Кирзеев")
1
|
Модератор
|
|
13.02.2014, 09:32 | 3 |
- "Подъезжая к сей станции, с моей головы слетела шляпа" (А.П.Чехов).
Решение задачи нужно начинать с того, что полностью представить себе исходные данные (что дано?). Тут каша: студенты, а потом какие-то отцы и матери... Короче: 1) Что известно о каждом студенте? 2) как нужно объединять эти данные?
1
|
7 / 7 / 0
Регистрация: 15.10.2012
Сообщений: 180
|
|||||||||||
13.02.2014, 22:14 [ТС] | 4 | ||||||||||
Catstail, Насколько я понял:
1. Нужно составить два списка - список студентов (дата рождения, адрес, средний бал по лекционным занятиям, средний бал по практическим занятиям, средний бал по лабораторным работам) и список их родителей (ФИО, дата рождения, адрес, место работы). 2. Объединить списки и присвоить их в виде значений символам (немного непонятно), но на выходе должно получится (((дата рождения ст.) (адрес ст.)((ср. бал(до десятых) по лекционным занятиям) (ср. бал по практическим занятиям) (ср. бал по лабораторным работам))) (((ФИО отца) (дата рождения отца) (адрес) (место работы отца)) ((ФИО матери) (дата рождения матери) (адрес) (место работы матери)))) Добавлено через 27 минут Итак, получается примерно такие два списка
2 список - данные о его родителях Теперь осталось сделать: "С помощью функций CONS и SETQ объедините полученные списки и присвойте их в виде значений символам, означающим ФИО каждого студента:" я так понял мы объединяем список, а потом:
1
|
4527 / 3521 / 358
Регистрация: 12.03.2013
Сообщений: 6,038
|
|
13.02.2014, 23:17 | 5 |
Да, только подчёркивание не нужно, и setq маленькими буквами.
Вообще, списки обычно делают функцией list. Но на самом деле списков не существует. Существуют cons-ячейки, то бишь пары указателей. Конс-ячейка со ссылками на А и Б (неважно, что) возвращается функцией cons: (cons А Б). Собственный список - это условное название нескольких конс-ячеек, у которых конец каждой ссылается на начало следующей, а у самой последней конец ссылается на nil. Поэтому (list 1 2 3 4) можно сделать так: (cons 1 (cons 2 (cons 3 (cons 4 nil)))). Легко понять, что все пользуются только первым видом записи. Однако с помощью cons удобно добавлять элемент в голову списка. Добавлено через 8 минут В лиспе код = данные. Ваша программа - это те же самые списки. Просто когда компьютер читает программу, он вычисляет прочитанные выражения по определённым правилам. list и setq - примеры символов. Символы - это такие забавные штуки, которых нет во многих языках. Тип данных. Короче, символ есть символ. Определяется именем. Разные имена - разные символы. В математике они тоже часто встречаются. С символами могут ассоциироваться функции - например, с list ассоциируется функция построения списка. Или могут ассоциироваться значения. При этом символ выступает аналогом идентификатора переменной, а ассоциирование - аналог присваивания из других языков. То есть в лиспе нет особого понятия "идентификатор переменной" или "имя функции". Факт "код = данные" имеет далеко идущие последствия. setq - допотопный оператор присваивания. На самом деле присваивания в строгом смысле в лиспе используются не так часто, как в других языках. Глобальные переменные тоже следует использовать с умом и по крайней мере объявлять. Так что задание про setq только отдаляет вас от программирования на лиспе.
1
|
7 / 7 / 0
Регистрация: 15.10.2012
Сообщений: 180
|
|||||||||||
13.02.2014, 23:45 [ТС] | 6 | ||||||||||
Как вы думаете, как реализовать данную задачу
Для каждого студента составьте списки свойств а) оценки по лекциям; б) оценки по практикам; в) оценки по лабораторным работам. Для произвольно выбранных студентов сравнить свойства. Как правильно все записать?
И почему не работает конструкция
0
|
4527 / 3521 / 358
Регистрация: 12.03.2013
Сообщений: 6,038
|
|
13.02.2014, 23:54 | 7 |
Да вроде правильно. Я никогда-никогда не использовал свойства символов. Вроде это что-то древнее и тормознутое.
Скобки несбалансированы? Добавлено через 5 минут Вы маленькими буквами пишите: setf, get. Люди пишут маленькими. REPL пишет большими. Видно, кто что писал. Удобно. Традиция.
0
|
defun
603 / 617 / 44
Регистрация: 30.04.2011
Сообщений: 702
|
|
14.02.2014, 17:00 | 8 |
0
|
4527 / 3521 / 358
Регистрация: 12.03.2013
Сообщений: 6,038
|
|
14.02.2014, 17:32 | 9 |
Это же не списки, это свойства символа. Я просто никогда не понимал, зачем они в принципе могут мне понадобиться. У Грэма вроде тоже было что-то, что это, дескать, реликт.
0
|
14.02.2014, 17:32 | |
14.02.2014, 17:32 | |
Помогаю со студенческими работами здесь
9
По номеру группы вывести список имен студентов группы Дописать в файл - список студентов группы новых студентов Создать список группы (список всех студентов) и наименование дисциплин, которые они изучают Создать файл - список студентов группы, отобразить на форме список сту-дентов с фамилией на заданную букву Посчитать средний бал группы и вывести список студентов, у которых средний балл выше среднего балла группы Составить список своей группы в виде CSV-файла Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |