7 / 7 / 0
Регистрация: 15.10.2012
Сообщений: 180
|
|||||||||||
1 | |||||||||||
Составьте список студентов своей группы13.02.2014, 04:05. Показов 3191. Ответов 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-файла Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Использование связки C# и PHP в корпоративной разработке и микросервисной архитектуре
InfoMaster 16.01.2025
Введение в интеграцию C# и PHP
В современной корпоративной разработке все чаще возникает потребность в создании гибких и масштабируемых решений, способных эффективно решать широкий спектр. . .
|
Как использовать Kerio дома для управления сетью и пользователями
InfoMaster 16.01.2025
Использование технологий для улучшения повседневной жизни стало неотъемлемой частью современного быта. Одной из таких технологий является Kerio — мощный инструмент для управления сетью и. . .
|
Есть ли будущее у DVD и Blu-ray?
InfoMaster 16.01.2025
В эпоху стремительного развития цифровых технологий и повсеместного распространения потоковых сервисов вопрос о будущем физических носителей информации становится все более актуальным. Особенно остро. . .
|
Как проводить научные вычисления на Python
InfoMaster 15.01.2025
Python стал одним из наиболее востребованных языков программирования в области научных вычислений благодаря своей простоте, гибкости и обширной экосистеме специализированных библиотек. Научные. . .
|
Создание игры типа Minecraft на PyGame/Python: пошаговое руководство
InfoMaster 15.01.2025
В данном руководстве мы рассмотрим процесс создания игры в стиле Minecraft с использованием библиотеки PyGame на языке программирования Python. Этот проект идеально подходит как для начинающих. . .
|
Как создать свою первую игру в стиле Doom на Unreal Engine
InfoMaster 15.01.2025
Разработка шутера от первого лица в стиле классического Doom представляет собой увлекательное путешествие в мир игрового программирования, где сочетаются творческий подход и технические навыки. . . .
|
Параллельное программирование: основные технологии и принципы
InfoMaster 15.01.2025
Введение в параллельное программирование
Параллельное программирование представляет собой фундаментальный подход к разработке программного обеспечения, который позволяет одновременно выполнять. . .
|
Как написать микросервис на C# с Kafka, MediatR, Redis и GitLab CI/CD
InfoMaster 15.01.2025
В современной разработке программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот подход позволяет разделить сложную систему. . .
|
Что такое CQRS и как это реализовать на C# с MediatR
InfoMaster 15.01.2025
Концепция CQRS и её роль в современной разработке
В современном мире разработки программного обеспечения архитектурные паттерны играют ключевую роль в создании масштабируемых и поддерживаемых. . .
|
Как настроить CI/CD с Azure DevOps
InfoMaster 15.01.2025
CI/ CD, или непрерывная интеграция и непрерывное развертывание, представляет собой современный подход к разработке программного обеспечения, который позволяет автоматизировать и оптимизировать процесс. . .
|
Как настроить CI/CD с помощью Jenkins
InfoMaster 15.01.2025
Введение в CI/ CD и Jenkins
В современной разработке программного обеспечения непрерывная интеграция (CI) и непрерывная доставка (CD) стали неотъемлемыми элементами процесса создания качественных. . .
|
Как написать микросервис на Go/Golang с Kafka, REST и GitHub CI/CD
InfoMaster 14.01.2025
Определение микросервиса, преимущества использования Go/ Golang
Микросервис – это архитектурный подход к разработке программного обеспечения, при котором приложение состоит из небольших, независимо. . .
|