Старая форма входа
Регистрация
Дорогие друзья!
Наш форум закрыт для общения сейчас,
но вы можете задать свой вопрос или перейти в чат Телеграм.
Пожалуйста, напишите на почту files@21vu.ru ваш вопрос, ситуацию, чтобы обратиться к коллегам в чате.
Если вы хотите просто вступить в чат, также напишите на почту, укажите сведения о себе: ФИО, кто вы, кто по профессии, чем можете быть полезны педагогам, и мы направим вас в Чат Телеграм.
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: Екатерина_Пашкова  
Форум учителей об образовании в России и мире » Форум педагогов по предметам, разделам » Форум учителей информатики » составить прогамму, помогите пожалуйста (на Паскале с использованием record или на С/C++ (struct))
составить прогамму, помогите пожалуйста
АрсикДата: Суббота, 18.02.2012, 15:09 | Сообщение # 1
Арсик

Арслан Батыршин
Ранг: Дошколенок (?)
Группа: Пользователи
Сообщений:
19
Награды: 0
Статус: Offline
составить программу , которая содержит текущую информацию о книгах в библиотеке.
Сведения о книгах включают:
-номер УДК;
-фамилию и инициалы автора;
-название;
-год издания;
-количества экземпяров данной книги в библиотеке;
Программа должна обеспечивать:
-начальное формирование данных обо всех книгах в библиотеке в виде двоичного дерева;
добавление данных о книгах, вновь поступающих в библиотеку;
-удаление данных о списываемых книгах;
-по запросу выдаются сведения о наличии книг в библиотеке, упорядоченных по годам издания
18.02.2012
tjulenДата: Понедельник, 20.02.2012, 05:25 | Сообщение # 2
tjulen

Евгений Тюленев
Ранг: Первоклашка (?)
Группа: Пользователи
Сообщений:
35
Награды: 1
Статус: Offline
Программа - это закодированный алгоритм если что:) Если по Вашему то берете текстовый редактор и тупо вбиваете в константы вашу информацию.

PS: Вообще-то ужасно когда так матерятся, давайте называть вещи своими именами!!! А то "программа может"( да ни чего не может текст по определению), программа содержит информацию о книгах. Караулл!!!!!!!!
20.02.2012
alex_eduДата: Понедельник, 20.02.2012, 09:52 | Сообщение # 3
alex_edu

Александр Обычный
Ранг: Магистр (?)
Группа: Пользователи
Сообщений:
607
Награды: 7
Статус: Offline
Арсик, как и раньше: что вы уже сделали и что у вас не получилось? Что конкретно не понятно?
20.02.2012
AYuDДата: Понедельник, 20.02.2012, 10:21 | Сообщение # 4
AYuD

Андрей Юрьевич Долгов
Ранг: Магистр (?)
Группа: Пользователи
Должность: информатика, математика
Сообщений:
352
Награды: 4
Статус: Offline
Quote (Арсик)
начальное формирование данных обо всех книгах в библиотеке в виде двоичного дерева;

Это место поподробнее, пожалуйста.
20.02.2012
Маня58Дата: Вторник, 21.02.2012, 20:24 | Сообщение # 5
Маня58

Марина Кондратьева
Ранг: Студент (?)
Группа: Я - учитель
Должность: информатика
Сообщений:
165
Награды: 2
Статус: Offline
Обычно такие задачи идут в разделе ЗАПИСИ. А вот с двоичным деревом действительно хотелось бы поподробнее. Если не секрет - откуда задача?
21.02.2012


Сообщение отредактировал Маня58 - Вторник, 21.02.2012, 20:24
alex_eduДата: Среда, 22.02.2012, 00:36 | Сообщение # 6
alex_edu

Александр Обычный
Ранг: Магистр (?)
Группа: Пользователи
Сообщений:
607
Награды: 7
Статус: Offline
Наверняка имеется ввиду двоичное дерево поиска
22.02.2012


Сообщение отредактировал alex_edu - Среда, 22.02.2012, 00:42
AYuDДата: Среда, 22.02.2012, 09:27 | Сообщение # 7
AYuD

Андрей Юрьевич Долгов
Ранг: Магистр (?)
Группа: Пользователи
Должность: информатика, математика
Сообщений:
352
Награды: 4
Статус: Offline
Если поиска, то при чём тут начальное формирование данных? Это подошло бы к хранению данных в деревянной структуре.
Тогда почему бинарной?

Прикольная опечатка. Древовидной.
22.02.2012
alex_eduДата: Среда, 22.02.2012, 11:08 | Сообщение # 8
alex_edu

Александр Обычный
Ранг: Магистр (?)
Группа: Пользователи
Сообщений:
607
Награды: 7
Статус: Offline
Так, что б на стадии "формирования данных" это самое дерево и строилось. Возможно, чтоб обозначить, что нужен не просто, например, связанный список по которому будет потом осуществляться поиск, а именно сразу построение дерева.

А "бинарное", полагаю потому, что положение в дереве определяется двумя состояниями: меньше или иначе. Иначе говоря каждый узел имеет не более двух "детей".
Code

if (A >= C  )   идем направо
else идем налево
22.02.2012


Сообщение отредактировал alex_edu - Среда, 22.02.2012, 11:08
alex_eduДата: Среда, 22.02.2012, 11:20 | Сообщение # 9
alex_edu

Александр Обычный
Ранг: Магистр (?)
Группа: Пользователи
Сообщений:
607
Награды: 7
Статус: Offline
Если это все задание полностью и исходя их пункта
Quote
-по запросу выдаются сведения о наличии книг в библиотеке, упорядоченных по годам издания

Условие сравнения должно работать по году. Тогда этот последний пункт можно реализовать следующий функцией
Code

ФункцияВыводаСпискаПоГодам (УказательНаУзел)
{
Если ЛеваяВетка заполнена то ФункцияВыводаСпискаПоГодам (УказательНаУзел.ЛеваяВетка);
Вывод Информации о Книге в текущем узле;
Если ПраваяВетка заполнена то ФункцияВыводаСпискаПоГодам (УказательНаУзел.ПраваяВетка);
}
22.02.2012


Сообщение отредактировал alex_edu - Среда, 22.02.2012, 11:23
alex_eduДата: Среда, 22.02.2012, 11:22 | Сообщение # 10
alex_edu

Александр Обычный
Ранг: Магистр (?)
Группа: Пользователи
Сообщений:
607
Награды: 7
Статус: Offline
Т.е. на стадии вывод никакой сортировки или сравнения годов не будет - все будет сделано на стадии заполнения
22.02.2012
AYuDДата: Среда, 22.02.2012, 11:25 | Сообщение # 11
AYuD

Андрей Юрьевич Долгов
Ранг: Магистр (?)
Группа: Пользователи
Должность: информатика, математика
Сообщений:
352
Награды: 4
Статус: Offline
Ну вот его данные:
-номер УДК;
-фамилию и инициалы автора;
-название;
-год издания;
-количества экземпяров данной книги в библиотеке.

Дерево, видимо, такое:
Ф. И. Автора
--Первая книга
----1900г
----2000г
----2100г
--Вторая книга
----1950г
--Третья книга
----1800

УДК и количество экземпляров взаимно однозначно связаны с каждой книгой.
Кода тут бинарность воткнуть? Странное требование.
22.02.2012
alex_eduДата: Среда, 22.02.2012, 12:32 | Сообщение # 12
alex_edu

Александр Обычный
Ранг: Магистр (?)
Группа: Пользователи
Сообщений:
607
Награды: 7
Статус: Offline
Нет. Не путайте. Вы смешали понятия.... Здесь не логическое дерево. А исключительно бинарное. Этому бинарному дереву (согласно задания) важен только год книги. (хотя можно сконструировать сложное условие сравнения где будут учтены хоть все поля). По сути в рамках данной задачи вся информация о книге, кроме года издания - шум, дополнительная ненужная инфа.

Вы создали дерево именно по иерархии: автор, книга, год издания. Это логическое дерево....
Поскольку Арсих до сих пор не ответил - значит ему не очень нужны знания. Поэтому публикую код. Но ориентир не на его задание, а именно на само дерево. Собственно отклонение от задания: там по запросу должен формироваться список, у меня он всегда работает после заполнения библиотеки. (возможно Арсику еще все в файл надо сохранять/читать)
Code

#include <stdio.h>
#include <stdlib.h>

typedef struct sBookInfo
{
  char UDK[10];
  char autor[80];
  char name[200];
  uint year;
  uint count;
  sBookInfo *left;
  sBookInfo *right;
} BookInfo;

BookInfo* getBookInfo()
{
  BookInfo *result = (BookInfo*)malloc(sizeof(BookInfo));
  printf("Enter UDK: ");
  scanf("%f",&result->UDK);
  printf("Enter autor: ");
  scanf("%80s",&result->autor);
  printf("Enter name: ");
  scanf("%200s",&result->name);
  printf("Enter year: ");
  scanf("%d",&result->year);
  printf("Enter books count: ");
  scanf("%d",&result->count);
  result->left =  NULL;
  result->right =  NULL;
  return result;
}
int compareBook(BookInfo *book1, BookInfo *book2)
{
  return (book1->year > book2->year);
}
void addBook(BookInfo *&parent, BookInfo *newBook)
{  
  if (parent == NULL)
   parent = newBook;
  else
  {
   if (compareBook(parent,newBook)) addBook(parent->left,newBook);
   else addBook(parent->right,newBook);
  }
}
void freeLibrary(BookInfo *book)
{
  if (book == NULL) return;
  freeLibrary(book->left);
  freeLibrary(book->right);
  free(book);
}
void printLibrary(BookInfo *book)
{
  if (book == NULL) return;
  printLibrary(book->left);
  printf("%s\t%d\t%d\t%s\t\%s\n",book->UDK,book->year, book->count, book->autor, book->name);
  printLibrary(book->right);
}
int main()
{
  int answer = 1;
  BookInfo *first = NULL;
  while (answer == 1)
  {
   addBook(first,getBookInfo());
   printf("\nAdd another book? (1 - Yes, 0 - No)");
   scanf("%d",&answer);
  }
  printf("\n");
  printLibrary(first);
  freeLibrary(first);
}
22.02.2012
alex_eduДата: Среда, 22.02.2012, 12:34 | Сообщение # 13
alex_edu

Александр Обычный
Ранг: Магистр (?)
Группа: Пользователи
Сообщений:
607
Награды: 7
Статус: Offline
собственно, если усложнить compareBook() то можно учесть все поля
22.02.2012
alex_eduДата: Среда, 22.02.2012, 12:36 | Сообщение # 14
alex_edu

Александр Обычный
Ранг: Магистр (?)
Группа: Пользователи
Сообщений:
607
Награды: 7
Статус: Offline
Собственно в вике все нормально объяснено: Бинарное дерево поиска
22.02.2012
alex_eduДата: Среда, 22.02.2012, 12:52 | Сообщение # 15
alex_edu

Александр Обычный
Ранг: Магистр (?)
Группа: Пользователи
Сообщений:
607
Награды: 7
Статус: Offline
Перечитал задание ТС:
возможно необходимо добавить обработку ситуации когда добавляется книга которая уже есть (т.е. надо просто увеличить количество книг);
добавить возможность удаление книги (возможно так же с учетом количества);

Так, что ТС осталось над чем подумать smile
22.02.2012
Форум учителей об образовании в России и мире » Форум педагогов по предметам, разделам » Форум учителей информатики » составить прогамму, помогите пожалуйста (на Паскале с использованием record или на С/C++ (struct))
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:



Отзывы

Егорова Елена 5.0
Отзыв о товаре ША PRO Анализ техники чтения по классам
и четвертям
Хочу выразить большую благодарность от лица педагогов начальных классов гимназии «Пущино» программистам, создавшим эту замечательную программу! То, что раньше мы делали «врукопашную», теперь можно оформить в таблицу и получить анализ по каждому ученику и отчёт по классу. Великолепно, восторг! Преимущества мы оценили сразу. С начала нового учебного года будем активно пользоваться. Поэтому никаких пожеланий у нас пока нет, одни благодарности. Очень простая и понятная инструкция, что немаловажно! Благодарю Вас и Ваших коллег за этот важный труд. Очень приятно, когда коллеги понимают, как можно «упростить» работу учителя.
Наговицина Ольга Витальевна 5.0
учитель химии и биологии, СОШ с. Чапаевка, Новоорский район, Оренбургская область
Отзыв о товаре ША Шаблон Excel Анализатор результатов ОГЭ
по ХИМИИ
Спасибо, аналитическая справка замечательная получается, ОГЭ химия и биология. Очень облегчило аналитическую работу, выявляются узкие места в подготовке к экзамену. Нагрузка у меня, как и у всех учителей большая. Ваш шаблон экономит время, своим коллегам я Ваш шаблон показала, они так же его приобрели. Спасибо.
Чазова Александра 5.0
Отзыв о товаре ША Шаблон Excel Анализатор результатов ОГЭ по
МАТЕМАТИКЕ
Очень хороший шаблон, удобен в использовании, анализ пробного тестирования занял считанные минуты. Возникли проблемы с распечаткой отчёта, но надо ещё раз разобраться. Большое спасибо за качественный анализатор.
Лосеева Татьяна Борисовна 5.0
учитель начальных классов, МБОУ СОШ №1, г. Красновишерск, Пермский край
Отзыв о товаре Изготовление сертификата или свидетельства конкурса
Большое спасибо за оперативное изготовление сертификатов! Все очень красиво. Мой ученик доволен, свой сертификат он вложил в портфолио. Обязательно продолжим с Вами сотрудничество!
Язенина Ольга Анатольевна 4.0
учитель начальных классов, ОГБОУ "Центр образования для детей с особыми образовательными потребностями г. Смоленска"
Отзыв о товаре Вебинар Как создать интересный урок:
инструменты и приемы
Я посмотрела вебинар! Осталась очень довольна полученной информацией. Всё очень чётко, без "воды". Всё, что сказано, показано, очень пригодится в практике любого педагога. И я тоже обязательно воспользуюсь полезными материалами вебинара. Спасибо большое лектору за то, что она поделилась своим опытом!
Арапханова Ашат 5.0
ША Табель посещаемости + Сводная для ДОУ ОКУД
Хотела бы поблагодарить Вас за такую помощь. Разобралась сразу же, всё очень аккуратно и оперативно. Нет ни одного недостатка. Я не пожалела, что доверилась и приобрела у вас этот табель. Благодаря Вам сэкономила время, сейчас же составляю табель для работников. Удачи и успехов Вам в дальнейшем!
Дамбаа Айсуу 5.0
Отзыв о товаре ША Шаблон Excel Анализатор результатов ЕГЭ по
РУССКОМУ ЯЗЫКУ
Спасибо огромное, очень много экономит времени, т.к. анализ уже готовый, и особенно радует, что есть варианты с сочинением, без сочинения, только анализ сочинения! Превосходно!
Спорная ситуация с родителями или администрацией? Ищете выход из проблемы на уроке или с учеником?
Не знаете, как что-то сделать на компьютере?


Вы можете задать анонимный вопрос
х
Подробно изложите суть вашего вопроса.
Обратите внимание, что вопросы публикуются в открытом доступе на сайте, в нашем чате Телеграм поэтому не указывайте персональные данные ваши или иных лиц. Однако стоит указать свой РЕГИОН, т.к. законодательство в разных регионах разное.
Отправить