Сообщение от Роcc
я так понял мы объединяем список, а потом:
_(SETQ surname ‘(наш объединенный список))
Да, только подчёркивание не нужно, и setq маленькими буквами.
Вообще, списки обычно делают функцией list.
Но на самом деле списков не существует. Существуют cons-ячейки, то бишь пары указателей. Конс-ячейка со ссылками на А и Б (неважно, что) возвращается функцией cons: (cons А Б).
Собственный список – это условное название нескольких конс-ячеек, у которых конец каждой ссылается на начало следующей, а у самой последней конец ссылается на nil. Поэтому (list 1 2 3 4) можно сделать так: (cons 1 (cons 2 (cons 3 (cons 4 nil)))). Легко понять, что все пользуются только первым видом записи. Однако с помощью cons удобно добавлять элемент в голову списка.
Добавлено через 8 минут
Сообщение от Роcc
присвоить их в виде значений символам (немного непонятно)
В лиспе код = данные. Ваша программа – это те же самые списки. Просто когда компьютер читает программу, он вычисляет прочитанные выражения по определённым правилам.
list и setq – примеры символов. Символы – это такие забавные штуки, которых нет во многих языках. Тип данных. Короче, символ есть символ. Определяется именем. Разные имена – разные символы. В математике они тоже часто встречаются.
С символами могут ассоциироваться функции – например, с list ассоциируется функция построения списка. Или могут ассоциироваться значения. При этом символ выступает аналогом идентификатора переменной, а ассоциирование – аналог присваивания из других языков. То есть в лиспе нет особого понятия “идентификатор переменной” или “имя функции”. Факт “код = данные” имеет далеко идущие последствия.
setq – допотопный оператор присваивания.
На самом деле присваивания в строгом смысле в лиспе используются не так часто, как в других языках. Глобальные переменные тоже следует использовать с умом и по крайней мере объявлять. Так что задание про setq только отдаляет вас от программирования на лиспе.
Добавил:
Upload
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:
Создание БД_ лабораторная работа по Access.docx
Скачиваний:
11
Добавлен:
03.09.2019
Размер:
557.56 Кб
Скачать
Ставится задача
вывести списки студентов по группам.
Для этого их нужно сгруппировать и
отсортировать внутри группы по алфавиту.
В качестве источника данных возьмем
таблицу Список.
-
Щелкните на кнопке
Конструктор
отчетов,
расположенной на вкладке Создать
в группе
Отчеты. -
Далее следует
указать в окне Свойств
отчета, что
в качестве источника данных отчета
будет таблица Список.
Для этого щелкните по кнопке Страница
свойств в
группе Сервис
или нажмите клавишу F4. -
В окне свойств
отчета на вкладке Данные
щелкните ячейку свойства Источник
записей.
-
Нажмите кнопку
со стрелкой вниз и выберите из
раскрывающегося списка требуемую
таблицу – Список. -
Если отсутствует
раздел Заголовок
отчета,
добавьте его щелчком по кнопке
Заголовок/Примечание
отчетана
вкладке Упорядочить
в группе Отображение. -
Щелкните по кнопке
Группировка
,
расположенной
на вкладке
Конструктор в
группе
Группировка и итоги. -
В приложении
Access будет выведена область Группировки,
сортировки и итогов (рис.11).
Рис.11
-
Чтобы добавить
новый уровень группировки, щелкните
пункт Добавить группировку. -
В области Группировки
появится новая строка и будет отображен
список доступных полей. Щелкните по
полю Учебная
группа. -
В макет отчета
добавится Новый раздел Заголовок
группы «Учебная группа». -
Щелкните по пункту
Добавить
сортировку и
выберите из списка поле Учебная
группа. -
Щелкните по пункту
Добавить
сортировку и
выберите из списка поле Фамилия
(см рис. 12).
Рис.12
-
Закройте это окно,
щелкнув по кнопке
в правом верхнем углу этого окна.
-
Напечатайте в
разделе заголовка отчета в две строки:
СПИСОК
СТУДЕНТОВ
ЕГОРЬЕВСКОГО
ТЕХНОЛОГИЧЕСКОГО ИНСТИТУТА
-
Для этого
щелкните
по кнопке
на вкладке
Конструктор
в группе
Элементы
управления.
Укажите мышкой место начала надписи и
введите текст с клавиатуры. В конце
ввода нажмите клавишу [Enter].
Надпись, приведенная в разделе заголовка
отчета, будет единственной для всего
отчета. -
Сделайте надпись
размером 16. Выполните команду По
размеру
данных щелчком
по кнопке
,
расположенной на вкладке Упорядочить
в группе Размер. -
Напечатайте в
разделе Верхний
колонтитул
надпись СПИСОК СТУДЕНТОВ шрифтом
размера 14. Эта надпись будет появляться
на каждой странице отчета. Передвиньте
надпись на правый край страницы. -
Напечатайте в
разделе Заголовок
группы «Учебная группа» надпись
Список
студентов,
затем поместите справа поле Учебная
группа (удалите
подпись поля), а потом поместите надпись
группы
(см рис. 13).
Рис.13
-
Чтобы добавить в
отчет поля из таблицы Список
щелкните по кнопке Добавить
поля
на
вкладке Конструктор
в группе Сервис. -
В появившемся
окне Список
полей
щелкните по кнопке «+» рядом с названием
таблицы
Список. -
Поместите поля
Фамилия,
Имя,
Отчество,
Год рождения
в раздел Область
данных.
Уберите подписи полей. Задайте для этих
полей шрифт размером 12. Выполните
команду По
размеру данных. -
В разделе Нижний
колонтитул поместите
номера страниц. Для этого добавьте в
него пустое поле, щелкнув по кнопкеи перетащив ее мышкой в нужное место.
-
Удалите подпись
поля. Выделите пустое поле. -
Включите кнопку
,
щелкнув по ней мышкой, или нажатием
клавиши F4. -
Наберите формулу
=[Page]
в строке Данные
(рис. 14).
Рис.14
-
Закройте текущее
окно. Номера страниц будут появляться
в конце каждой страницы. -
Расположите номер
по центру страницы отчета. -
Ниже надписи в
разделе Заголовок группы проведите
линию. Для этого воспользуйтесь кнопкой
Линиявкладки Конструктор
группы
Элементы управления. -
Отделите линиями
все заголовки. -
Выберите Режим
предварительного просмотра,
щелкнув по кнопке,
и посмотрите, что получилось.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
Uses Crt; Type ocenki = record algebra:integer; fizika:integer; istoriya:integer; end; student = record fam,grup:string[20]; God_pos, kurs:integer; ocen:array[1..5] of ocenki; data:real; End; Const n=5; {количество студентов} Var i,j: byte; st: array [1..n] of student; Proverka:boolean; Begin ClrScr; For i:=1 to n do Begin Write('Введите фамилию студента :'); Readln(st[i].fam); Write('Введите дату рождения студента :'); Readln(st[i].data); Write('Введите год поступления :'); Readln(st[i].God_pos); Write('Введите курс студента :'); Readln(st[i].kurs); Write('Введите группу студента :'); Readln(st[i].grup); Write('Введите оценки каждого года обучения :'); For j:=1 to st[i].kurs do begin Write('Оценка за алгебру ',i,' kursа'); Readln(st[i].ocen[j].algebra); Write('Оценка за физику ',i,' kursа'); Readln(st[i].ocen[j].fizika); Write('Оценка за историю ',i,' kursа'); Readln(st[i].ocen[j].istoriya); end; End; For i:=1 to n do begin proverka:=true; For j:=1 to st[i].kurs do if (st[i].ocen[j].algebra<4) or (st[i].ocen[j].fizika<4) or (st[i].ocen[j].fizika<4) then Proverka:=false; IF Proverka then Writeln(St[i].Fam,' молодец!!!'); Proverka:=true; end; Readkey; End.
Помогите пожалуйста срочно испраить программу!!
1. исходная информация хранится в текстовом файле input.txt, каждая строка которого содержит полную информацию о некотором объекте, результирующая информация должна быть записана в файл output.txt.
2. Для хранения данных внутри программы организовать массив структур.
3. В типе структура реализуется метод CompareTo интерфейса IComparable, перегружается метод ToString базового класса object и необходимые операции отношения, поля данных и дополнительные методы продумайте самостоятельно.
На основе данных входного файла составить список студентов группы, включив следующие данные: ФИО, год рождения, домашний адрес, какую школу окончил. Вывести в новый файл информацию о студентах, окончивших заданную школу, отсортировав их по году рождения.
Вот что я сделал но он отказывается работать! помогите пожалуйста !
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; namespace lab14 { struct Student : IComparable { public string fio; public double god; public string adress; public int shkola; public Student(string f1, int f2, string f3, int f4) { fio = f1; god = f2; adress = f3; shkola = f4; } public override string ToString() { return (string.Format("фио: {0}; год_рожд: {1}; адрес: {2}; школа: {3};", fio, god.ToString(), adress, shkola.ToString())); } public int CompareTo(object obj1) { Student m1 = (Student)obj1; // Student m2 = (Student)obj2; if (this.shkola == m1.shkola) return 1; if (this.shkola != m1.shkola) return -1; else return 0; } } class Program { static void Main(string[] args) { try { int h1 = 1, k = 0, h = 1; StreamReader basse1 = new StreamReader("inputt.txt"); while (h1 == 1) { string text1 = basse1.ReadLine(); if (text1 == null) { basse1.Close(); h1 = 0; } else { ++k; } } Student[] god = new Student[k]; int g = 0; string[] buf = new string[4]; StreamReader basse = new StreamReader("inputt.txt"); while (h == 1) { string text = basse.ReadLine(); if (text == null) { basse.Close(); h = 0; } else { buf = text.Split(' '); god[g] = new Student(buf[0], int.Parse(buf[1]), buf[2], int.Parse(buf[3])); g++; } } Array.Sort(god); Console.WriteLine("Ведите школу:"); int d = int.Parse(Console.ReadLine()); StreamWriter basse3 = new StreamWriter("output.txt"); for (int i = 0; i < k; i++) { if (god[i].shkola < d) basse3.WriteLine(god[i]); } basse3.Close(); } catch (Exception ex) { Console.WriteLine(ex.Message); } Console.ReadKey(); } } }
ya.alex151 1 / 1 / 0 Регистрация: 01.11.2010 Сообщений: 25 |
||||
1 | ||||
На основе данных входного файла составить список студентов группы23.12.2010, 14:05. Показов 20883. Ответов 16 Метки нет (Все метки)
Помогите пожалуйста срочно испраить программу!! На основе данных входного файла составить список студентов группы, включив следующие данные: ФИО, год рождения, домашний адрес, какую школу окончил. Вывести в новый файл информацию о студентах, окончивших заданную школу, отсортировав их по году рождения. Вот что я сделал но он отказывается работать! помогите пожалуйста !
0 |
Programming Эксперт 94731 / 64177 / 26122 Регистрация: 12.04.2006 Сообщений: 116,782 |
23.12.2010, 14:05 |
Ответы с готовыми решениями: На основе данных входного файла составить список студентов группы, включив следующие данные На основе данных входного файла составить список сотрудников учреждения На основе данных входного файла составить список вкладчиков банка, включив следующие данные На основе данных входного файла составить список вкладчиков банка, включив следующие данные: ФИО, № счета, сум 16 |
22 / 22 / 3 Регистрация: 03.11.2009 Сообщений: 50 |
|
23.12.2010, 14:07 | 2 |
Вот что я сделал но он отказывается работать! помогите пожалуйста ! а почему должен сказать браузер? конкретики больше 0 |
1 / 1 / 0 Регистрация: 01.11.2010 Сообщений: 25 |
|
23.12.2010, 14:32 [ТС] | 3 |
он не находит файл. хотя он там лежит где надо. в дебаге 0 |
22 / 22 / 3 Регистрация: 03.11.2009 Сообщений: 50 |
|
23.12.2010, 14:34 | 4 |
)))) и вот как ты считаешь народ должен был понять в чем беда? System.IO.Path.GetDirectoryName(Assembly.GetEntryA ssembly().Location 0 |
1 / 1 / 0 Регистрация: 01.11.2010 Сообщений: 25 |
|
23.12.2010, 14:46 [ТС] | 5 |
а вы не могли бы поподробнее чуть чуть напсать что мне нужно сделать?а то если честно не оч понятно 0 |
cyberdream 22 / 22 / 3 Регистрация: 03.11.2009 Сообщений: 50 |
||||
23.12.2010, 14:48 | 6 | |||
0 |
1 / 1 / 0 Регистрация: 01.11.2010 Сообщений: 25 |
|
23.12.2010, 15:00 [ТС] | 7 |
он мне выдал 5 ошибок на это Добавлено через 1 минуту Добавлено через 1 минуту 0 |
22 / 22 / 3 Регистрация: 03.11.2009 Сообщений: 50 |
|
23.12.2010, 15:08 | 8 |
0 |
Unril 821 / 712 / 110 Регистрация: 06.10.2010 Сообщений: 825 Записей в блоге: 1 |
||||||||
23.12.2010, 18:31 | 9 | |||||||
Сообщение было отмечено как решение Решение
Вид файла input.txt такой:
4 |
1 / 1 / 0 Регистрация: 01.11.2010 Сообщений: 25 |
|
23.12.2010, 21:18 [ТС] | 10 |
Спасибо большое!! Добавлено через 18 секунд Добавлено через 25 минут 0 |
mikael777 0 / 0 / 0 Регистрация: 20.12.2011 Сообщений: 7 |
||||
27.02.2012, 09:48 | 11 | |||
ya.alex151, попробовал переделать Ваш код под свою задачу… Не получается, не поможете?
Помогите если можете. Добавлено через 11 часов 42 минуты 0 |
defer 577 / 256 / 18 Регистрация: 29.11.2010 Сообщений: 868 |
||||
27.02.2012, 12:45 | 12 | |||
конечно он будет ругаться ведь требуется 9 аргументов
1 |
mikael777 0 / 0 / 0 Регистрация: 20.12.2011 Сообщений: 7 |
||||
27.02.2012, 13:28 | 13 | |||
Подправил, теперь не ругается,
но при запуске выдает ошибку. 0 |
defer 577 / 256 / 18 Регистрация: 29.11.2010 Сообщений: 868 |
||||
27.02.2012, 14:02 | 14 | |||
0 |
0 / 0 / 0 Регистрация: 20.12.2011 Сообщений: 7 |
|
27.02.2012, 23:04 | 15 |
Кто знает как правильно написать этот код, напишите, реально сегодня был последний день сдачи… а я на 4-ом из 6-и задании застрял…..( про то что сам виноват, в курсе в предь буду заранее делать)…. 0 |
0 / 0 / 0 Регистрация: 20.12.2011 Сообщений: 7 |
|
29.02.2012, 23:10 | 16 |
Работает)))Но… выдает одни нули и ; …. киньте взгляд, где мне рытся… я туплю, лишний аргумент день искал, но нашел))) 0 |
1 / 1 / 0 Регистрация: 17.01.2012 Сообщений: 58 |
|
01.03.2012, 01:35 | 17 |
Сообщение от ya.alex151 Спасибо большое!! Добавлено через 18 секунд Добавлено через 25 минут Используй Encoding.UTF8.GetBytes когда в массив байтов заносишь и Encoding.UTF8.GetString когда из байтов в строку конвентируешь. 1 |