Помощь - Поиск - Пользователи - Календарь
Полная версия: трудная задачка
Форум «Всё о Паскале» > Другое > Свободное общение
Vika
Самая трудная задача, которую вы решили :yes: (а может и нет :no: )?
APAL
Жениться или нет... решил в положительную сторону! rolleyes.gif

А самая сложная - это определиться после окончания школы "чем дальше заниматься".
Amro
Цитата
Жениться или нет

Труднейшая задача smile.gif smile.gif
Vika
да, с определение куда податься и кем быть после школы, очень сложно :yes:

многие поступают не туда или по решению родителей (это я) или лишь бы поступить
Amro
Цитата
лишь бы поступить
Видать ума у них не "палата"!!!
Цитата
по решению родителей (это я)
Если бы было своё мнение, родителей бы слушать не стала!!
.... я например не слушал, когда поступал ....
Vika
у меня есть свое мнение sad.gif
Amro
Значит у тебя строгие или целенаправленные родители!!!!
А то бы своё мнение сделало бы своё дело smile.gif)
Vika
я вообще хотела идти на экономиста. но мама настояла что техническое образование сейчас больше понадобится, а экономистом можно как второе высшее...
но мне нравится учится в Горном. хоть иногда и не все понятно, стараюся ))
Amro
Мне в принципе тоже нравится учится в своём универе, но специальность у меня "Информационные системы и технологии" а предметы совсем не по специальности, не смотря на что я уже на втором курсе .... философия, БЖД .... и всякая муть ..... больше всего нравится программирование, а остальные предметы я зачастую прогуливаю, хотя на ссесии прогулы выдут боком smile.gif)
Думаю на 3-ет курсе будет намнооого интереснее, когда появятся предметы по специальности, тагды я дурака валять не буду smile.gif)
APAL
И вот эта девушка: http://pascal.net.ru/forum/index.php?showt...t=0&#entry24815
явно не по своему желанию учится... печально.
Amro
APAL И не говори, видать не хочет!!!!
Но всё таки желание у меня есть, только это желание на всё не распространяется smile.gif
GoodWind
Цитата
да, с определение куда податься и кем быть после школы, очень сложно

а я с 6-7 класса знал, что буду программистом, больше ничего не умел :D
мне тогда zx specteum перепал, мне на нем картинки рисовать понравилось : )
ну я и решил, что на программиста пойду
Shadow
Цитата(APAL @ 20.10.04 12:32)
Жениться или нет... решил в положительную сторону!  rolleyes.gif


а Я решил нет
наверное пока
-- :no:
Altair
Цитата
Самая трудная задача, которую вы решили

есть ли смысл жить, если есть, то зачем...
Это самый трудный вопрос, иначе думают только глупцы!
не ответил еще... боюсь что и не отвечу sad.gif
Не видел еще и сколь-угодно нормального ответа...
Werwolf86
не буду говорить....их много
Vika
я думала, что будет обсуждение программ , а все как-то про жизнь...ну ладно про жизнь так про жизнь smile.gif
Altair
Ну если задачи, то самая сложная - написание реляционной базы данных на Прологе.
В ФМШ была типа курсовой.
Очень сложно было понять как ее устроить ... вот она, золото мое:
Обратите внимание, что сложнейщая база реализуется очень просто на Прологе.. заметьсте, тут почти все правила на диалоги отведены!!!!
На паскале такакя база была бы раз в 10 больше!


Код
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                          ПРОГРАММА КЛУБ                               %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
retractall(_X):-ВЫП(_X),retract(_X),fail.
retractall(_).
член(Иванов,15,уплачено).
член(Иванов,33,не_уплачено).
член(Хромов,40,не_уплачено).
взнос(_Возраст,рублей(1)):-_Возраст<18.
взнос(_Возраст,рублей(2)):-_Возраст>=18.
пополнить_состав(_Член):-assert(_Член).
выдать_сведения(член(_Фамилия,_Возраст,_Данные_об_уплате)):-
   член(_Фамилия,_Возраст,_Данные_об_уплате),
   взнос(_Возраст,_Сумма),
   ВЫВОД(член(_Фамилия,_Возраст,_Сумма,_Данные_об_уплате)),ПС,
   ЛОЖЬ.
выдать_сведения(_).
сократить_состав(_Член):-retractall(_Член).
запись_об_уплате(член(_Фамилия,_Возраст)):-
   retract(член(_Фамилия,_Возраст,не_уплачено)),
   assert(член(_Фамилия,_Возраст,уплачено)).
установить_счетчик(_Имя,_Начало):-
   retractall(счетчик(_Имя,_)),
   assert(счетчик(_Имя,_Начало)).
увеличить_счетчик(_Имя,_Прирост):-
   retract(счетчик(_Имя,_Значение)),
   _Новое_значение ЕСТЬ _Значение+_Прирост,
   assert(счетчик(_Имя,_Новое_значение)).
сбросить_счетчик(_Имя,_Значение):-
   retract(счетчик(_Имя,_Значение)).
подсчет_членов(член(_Фамилия,_Возраст,_Данные_об_уплате),_):-
   установить_счетчик(число_членов,0),
   член(_Фамилия,_Возраст,_Данные_об_уплате),
   увеличить_счетчик(число_членов,1),
   ЛОЖЬ.
подсчет_членов(_,_Счетчик):-
   сбросить_счетчик(число_членов,_Счетчик).
цикл.
цикл:-цикл.

меню_клуб:-цикл,ОЧИСТИТЬ,ПС,ПС,
     ВЫВОД('              МЕНЮ'),ПС,
     ВЫВОД('1. Сведения о членах клуба.'),ПС,
     ВЫВОД('2. Посчитать количество членов.'),ПС,
     ВЫВОД('3. Добавить запись о члене клуба.'),ПС,
     ВЫВОД('4. Удалить запись члена клуба.'),ПС,
     ВЫВОД('5. Ввод сведений об уплате'),ПС,
     ВЫВОД('6. Удаление неплатильщиков'),ПС,
     ВЫВОД('0. ВЫХОД'),ПС,ПС,
     ВЫВОД('Введите номер пункта меню'),
     ВВОДЦЕЛ(_A),
     обр(_A).
обр(_A):-_A=0,!.
обр(_A):-пункт_меню(_A),ЛОЖЬ.
пункт_меню(1):-ОЧИСТИТЬ,ПС,ВЫВОД('Состав клуба:'),
         ПС,выдать_сведения(_),ПС,ПС,ВЫВОД('Нажмите ввод для возврата в меню'),ВВОДСИМВ(_).
пункт_меню(2):-ОЧИСТИТЬ,ПС,подсчет_членов(член(_,_,_),_Число),
         ВЫВОД('Количество членов клуба = '),
         ВЫВОД(_Число),ПС,ПС,ВЫВОД('Нажмите ввод для возврата в меню'),ВВОДСИМВ(_).
пункт_меню(3):-ОЧИСТИТЬ,ПС,ВЫВОД('Введите данные нового члена клуба'),ПС,
         ВЫВОД('Фамилия'),readatom(_Фамилия),
         ВЫВОД('Возраст'),read(_Возраст),
         ВЫВОД('Отметка об уплате взноса'),readatom(_Данные_об_уплате),
         пополнить_состав(член(_Фамилия,_Возраст,_Данные_об_уплате)),ПС,ПС,
         ВЫВОД('Нажмите ввод для возврата в меню'),ВВОДСИМВ(_).
пункт_меню(4):-ОЧИСТИТЬ,ВЫВОД('удаление записи членства'),ПС,ПС,
         выдать_сведения(_),
         ВЫВОД('Введите фамилию'),ВВОДСИМВ(_Фамилия),
         ВЫВОД('Введите возраст'),ВВОДЦЕЛ(_Возраст),
         retract(член(_Фамилия,_Возраст,_)),ПС,ПС,ВЫВОД('Нажмите ввод для возврата в меню'),ВВОДСИМВ(_).
пункт_меню(5):-ОЧИСТИТЬ,ВЫВОД('Ввод сведений об уплате'),ПС,
         выдать_сведения(_),ПС,ПС,
         ВЫВОД('Введите фамилию'),ВВОДСИМВ(_Фамилия),
         ВЫВОД('Возраст'),ВВОДЦЕЛ(_Возраст),
         retract(член(_Фамилия,_Возраст,_)),
         ВЫВОД('Данные_об_уплате'),ВВОДСИМВ(_Данные_об_уплате),
         assert(член(_Фамилия,_Возраст,_Данные_об_уплате)),!.
пункт_меню(6):-ОЧИСТИТЬ,ВЫВОД('Удаление неплатильщиков'),ПС,
         retractall(член(_,_,не_уплачено)),ПС,ВЫВОД('Неплатильщики удалены!'),ПС,ПС,
         ВЫВОД('Нажмите ввод для возврата в меню'),ВВОДСИМВ(_).
                 

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%            

%школьник(_фамилия,_математика,_физика,_информатика).


меню_классный_журнал:-цикл,ОЧИСТИТЬ,ПС,ПС,
     ВЫВОД('         МЕНЮ: КЛАССНЫЙ ЖКРНАЛ'),ПС,
     ВЫВОД('1. Сведения о сдачи экзаменов за первое полугодие.'),ПС,
     ВЫВОД('2. Добавить\изменить сведения о сдачи экзаменов.'),ПС,
     ВЫВОД('3. Отчислить неуспевающих.'),ПС,
     ВЫВОД('4. Отчислить ученика'),ПС,
     ВЫВОД('5. Отчислить всех'),ПС,
     ВЫВОД('6. Добавить нового ученика'),ПС,
     ВЫВОД('7. Изменить сведения о сдачи для всех'),ПС,
     ВЫВОД('0. ВЫХОД'),ПС,ПС,
     ВЫВОД('Введите номер пункта меню'),
     ВВОДЦЕЛ(_Х),
     обработать_к(_Х).
обработать_к(0):-!.
обработать_к(_Х):-пункт_к(_Х),ЛОЖЬ.
сведения_о_сдачи(школьник(_фамилия,_мат,_физ,_инф)):-
     школьник(_фамилия,_мат,_физ,_инф),ВЫВОД(_фамилия),ПРОБЕЛЫ(1),
     ВЫВОД('МАТЕМАТИКА: '),ВЫВОД(_мат),ПРОБЕЛЫ(1),
     ВЫВОД(' ФИЗИКА: '),ВЫВОД(_физ),ПРОБЕЛЫ(1),
     ВЫВОД(' ИНФОРМАТИКА: '),ВЫВОД(_инф),ПС,ЛОЖЬ.
сведения_о_сдачи(_).

сдача_мат(школьник(_фам,_м,_ф,_и)):-retract(школьник(_фам,не_сдал,_,_)),assert(школьник(_фам,сдал,_,_)).
сдача_физ(школьник(_фам,_м,_ф,_и)):-retract(школьник(_фам,_,не_сдал,_)),assert(школьник(_фам,_,сдал,_)).
сдача_инф(школьник(_фам,_м,_ф,_и)):-retract(школьник(_фам,_,_,не_сдал)),assert(школьник(_фам,_,_,сдал)).
сдача_д(школьник(_фам,_м,_ф,_и)):-сдача_мат(школьник(_фам,_м,_ф,_и)),сдача_физ(школьник(_фам,_м,_ф,_и)),сдача_инф(школьник(_фам,_м,_ф,_и)).

отчисление_неусп(школьник(_фам,_м,_ф,_и)):-_м=не_сдал;(_ф=не_сдал);(_и=не_сдал),удалить(школьник(_фам,_м,_ф,_и)).

отчислить(школьник(_ф,_,_,_)):-школьник(_ф,_,_,_),retract(школьник(_ф,_,_,_)).

отчислить_всех(_ч):-retractall(школьник(_,_,_,_)).      

добавить(школьник(_фамилия,_м,_ф,_и)):-assert(школьник(_фамилия,_м,_ф,_и)).



удалить(_Ч):-retract(_Ч).


пункт_к(1):-ОЧИСТИТЬ,ПС,ВЫВОД('Сведения о сдачи экзаменов'),
         ПС,сведения_о_сдачи(_),ПС,ПС,ВЫВОД('нажмите ввод для возврата в меню'),ВВОДСИМВ(_).
пункт_к(2):-ОЧИСТИТЬ,ПС,ВЫВОД('Добавить сведения о сдачи'),ПС,ВЫВОД('Фамилия:'), ВВОДСИМВ(_фам),ПС,
         ВЫВОД('Математика:'),ВВОДСИМВ(_мат),ВЫВОД('Физика'),ВВОДСИМВ(_физ),ВЫВОД('Информатика'),ВВОДСИМВ(_инф),
         удалить(школьник(_фам,_,_,_)),assert(школьник(_фам,_мат,_физ,_инф)),ВЫВОД('Изменения внесены для продолжения нажмите ввод'),ВВОДСИМВ(_С).
         
пункт_к(3):-ОЧИСТИТЬ,ПС,ВЫВОД('Неуспевающие отчисляются...'),ПС,
         отчисление_неусп(_),ВЫВОД('неуспевающий отчислен!, нажмите ввод'),ВВОДСИМВ(_С).
пункт_к(4):-ОЧИСТИТЬ,ВЫВОД('Введите фамилию:'),ВВОДСИМВ(_фам),удалить(школьник(_фам,_,_,_)),
         ВЫВОД('Ученик отчислен,нажмите ввод для возвращения в меню'),ВВОДСИМВ(_В).
пункт_к(5):-ОЧИСТИТЬ,ВЫВОД('Отчисляю...'),ПС,отчислить_всех(_),ВЫВОД(' все отчисленны, нажмите ввод для вывода в меню '),ВВОДСИМВ(_А).  
пункт_к(6):-ВЫВОД('Введите фамилию'),ВВОДСИМВ(_фам),ВЫВОД('Введите сведения о сдачи экзаменов'),ПС,
         ВЫВОД('Математика'),ВВОДСИМВ(_м),ВЫВОД('Физика'),ВВОДСИМВ(_ф),
         ВЫВОД('Информатика'),ВВОДСИМВ(_и),assert(школьник(_фам,_м,_ф,_и)),ВЫВОД('Сведения внесены,нажмите ввод.'),ВВОДСИМВ(_).
пункт_к(7):-ВЫВОД('Введите предмет'),ПС,ВЫВОД('Формат ввода: мат физ инф'),ПС,ВЫВОД('предмет='),ВВОДСИМВ(_предмет),
           ПС,ВЫВОД('введите результат сдачи сдал или не_сдал'),ВВОДСИМВ(_изм),изм_сдач(_предмет,_изм).
удалить(_Х):-retract(_Х).
дабавить(_Х):-assert(_Х).            
изм_сдач(мат,_изм):-удалить(школьник(_фа,_м,_ф,_и)),добавить(школьник(_фа,_м,_ф,_и)),ЛОЖЬ.
пункт_к(_Ф):-ВЫВОД('ТАКОГО ПУНКТА НЕТ!'),ПС,!.

%?-меню_клуб.
?-меню_классный_журнал.                  
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.