Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.12.2019, 20:08   #1
bITA666
Форумчанин
 
Аватар для bITA666
 
Регистрация: 22.03.2019
Сообщений: 115
По умолчанию Построение алгоритма

Здравствуйте! У меня проблема с восприятием и пониманием Python. Проблема состоит вот в чем. Как и в любом языке программирования есть алгоритмы. У меня есть задача купить в магазине по списку продукты, но сначала я должен: Собраться - взять список - выйти из дома - закрыть дверь ну итд..... Как это можно представить в виде кода на Python???
bITA666 вне форума Ответить с цитированием
Старый 23.12.2019, 21:54   #2
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,309
По умолчанию

1.
Цитата:
Как и в любом языке программирования есть алгоритмы.
Не совсем так. Есть алгоритмы, описывающие некоторые последовательности действий, например.
Есть язык(и), на которых этот алгоритм можно описать средствами этого языка.
Алгоритмы были придуманы задолго до компьютеров и языком их описания был родной язык.

2. Существует аналогия, позволяющая понять что есть алгоритм.
Цитата:
Собраться - взять список - выйти из дома - закрыть дверь ну итд.....
Другой способ: Составить набор команд для некоторого робота, который понимает этот набор команд и их выполняет.
Например задача из ЕГЭ:
Робот живёт в лабиринте составленном из клеток и понимает команды вверх, вниз, направо, налево.
Существуют команды, которые вернут логическое значение: сверху свободно, снизу свободно, слева свободно, справа свободно (некоторые стенки клеток не проходимы).
Существует команда, позволяющая задать циклическое выполнение команд:
ПОКА <условие> <команда>.
Далее следует определить, например, порядок команд, которые приведут робота из пункта А в пункт Б.

3. То, что привели вы, можно реализовать в игровой форме. Например,
Вопрос: "Что ты планируешь делать в ближайшее время?"
Кнопка:"Я планирую сходить за покупками" и кнопка "Я собираюсь сходить в бассейн."
В зависимости от выбора диалог может быть продолжен по разным веткам:
Вопрос: "Ты сейчас пойдёшь за покупками?" Кнопки "Да" и "Нет"
Выбрали "Да": Вопрос: "Ты составил список покупок?" Кнопки "Да" и "Нет"
Выбрали "Да": Вопрос: "Сколько денег ты планируешь потратить?" и т.д. до одевания подходящей одежды, запирания двери, прихода в первый магазин и покупки части товаров и ...

На одном из шагов
Выбрали "Нет": (Значит идём в бассейн). Тут мы собираем вещи для бассейна. Так можно описать игру, которая будет в текстовом виде.
Вплоть до того, что после выхода на улицу нам даётся описание того что слева, прямо, справа.
Игрок должен выбирать направление движения и дойти, в итоге, до цели.

Другой, вариант по сложнее, разработать движок и реализовать это в графическом виде, например, как RPG-ки.
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 23.12.2019, 22:20   #3
bITA666
Форумчанин
 
Аватар для bITA666
 
Регистрация: 22.03.2019
Сообщений: 115
По умолчанию

ViktorR, Так получается что я могу построить алгоритм только вопросами?. Где будет написано как бы игровая история. Так как же в пайтоне создать тот же самый игровой движок? или тот же самый алгоритм для робота, что бы он функционировал и шел в том направлении куда ему заданно алгоритмом. Я так понимаю что есть специальные библиотеки, для чего они? И что в этих библиотеках и важны ли они в программировании? И можно ли создавать их?.

Последний раз редактировалось bITA666; 23.12.2019 в 22:31.
bITA666 вне форума Ответить с цитированием
Старый 23.12.2019, 23:00   #4
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,309
По умолчанию

На эти вопросы я тебе не отвечу.
Тут надо читать, читать и читать.
В Python есть модуль для написания игр, но я его не изучал. Да и не к чему мне это.
По поводу движка - это довольно сложная штука и одному, я так думаю, её не реализовать.
Тут нужна команда.
Использовать Python для написания игры - это ещё то занятие.
Серьёзную не написать.
Другой момент - это необходимость установки питона на твой комп, ноут, гаджет.
Это же интерпретатор.

Рассуждать можно долго, но лучше поискать профи. Возможно на игровых сайтах.

PS: Когда-то, в далёком прошлом, игры были текстовые. До сих пор вспоминаю игру, которая начиналась с описания местности.
Типа, слева горы, справа лес и журчит ручей, прямо вход в пещеру. Естественно в более художественной форме.
Выбираешь направление движения и на следующем шаге новое описание ситуации и выбор направления движения.
Например, вы в пещере, перед вами три прохода. Из прохода справа доносится чьё-то ворчание и неприятный запах и т.д.
Это было так давно (графических мониторов не было).
Как-то так, ...

Последний раз редактировалось ViktorR; 23.12.2019 в 23:08.
ViktorR вне форума Ответить с цитированием
Старый 23.12.2019, 23:32   #5
bITA666
Форумчанин
 
Аватар для bITA666
 
Регистрация: 22.03.2019
Сообщений: 115
По умолчанию

ViktorR, Нет, я не говорю что вот хочу прям создавать игру или двигатель. Я хотел узнать другое в какой области python больше всего используется и что нужно для реализации тех или иных задач. Python он же скриптовый язык и больше используется для написания скриптов. Ты знаешь что такое скрипты и для чего они нужны? Хотя бы можешь примерно простым языком привести пример?
bITA666 вне форума Ответить с цитированием
Старый 24.12.2019, 09:30   #6
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

python(Питон) сейчас на пике популярности. На нём пишут абсолютно всё.

Цитата:
Сообщение от bITA666 Посмотреть сообщение
и что нужно для реализации тех или иных задач.
Нужно желание и опыт. Главное желание, а опыт проще всего получить подсмотрев как написано у других. Сейчас много книг, курсов, вебинаров, а главный источник знаний это открытые проекты на github и gitlab. Все движки так и пишутся разработчики заимствуют, читай списывают код из других движков.

Начать лучше с книги. Быстро прочитать за 1 час всю книгу. Не важно поймёте или нет. Важно другое повторение мать учения. Так вот я уже писал что на первом место должно быть желание выбираете проект и начинаете думать как его написать, для чего обращаетесь к книге и смотрите как там это сделано. Если нет в книге ищите в интернете. Тем самым вы повторите пройденный материал.


Слово скрипт происходит от слова манускрипт дословно переводится как текст написанный руками. Скрипт это коротенькая программа распространяемая в исходных кодах.

Для чего они нужны? Как и любые программы они применяются для автоматизации ручного труда. Разным заказчикам программ как правило нужно разные частные решения своих задач. Вот что-бы долго не разрабатывать программу, а тут же взять и написать на месте и применяются скрипты. А так же если большой фирме лень заниматься частными проблемами они пишут большую программу выкладывают API, а далее на месте штатные программисты мелких фирм сами доводят большую программу до готовности используя скрипты.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .
Pavia вне форума Ответить с цитированием
Старый 24.12.2019, 09:56   #7
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

Цитата:
Сообщение от bITA666 Посмотреть сообщение
Здравствуйте! У меня проблема с восприятием и пониманием Python. Проблема состоит вот в чем. Как и в любом языке программирования есть алгоритмы. У меня есть задача купить в магазине по списку продукты, но сначала я должен: Собраться - взять список - выйти из дома - закрыть дверь ну итд..... Как это можно представить в виде кода на Python???
Вот я поискал в интернете "текстовый ролевые игры на питоне" и вот такой вот код скрипта он мне выдал:
https://pastebin.com/kYXEV0bm
Здесь можно запустить
https://onlinegdb.com/ryZuL4kkU
Команды персонажу:
"t","s","v","b" и др. Набирать без кавычек.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .
Pavia вне форума Ответить с цитированием
Старый 24.12.2019, 20:55   #8
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,309
По умолчанию

Цитата:
Ты знаешь что такое скрипты и для чего они нужны? Хотя бы можешь примерно простым языком привести пример?
Pavia на твой вопрос ответил хорошо.
В моём представлении скрипт - это программа для интерпретатора.
Т.е. я говорю, что написал скрипт на Питоне, VBS, Jave.
В случае компилятора говорю, что я написал программу на Паскале, Ада, Си++.
Для микроконтроллеров я говорю, что написал скетч.
Эти слова - синонимы.

Есть такие интерпретаторы, как "Командная строка", VBScript, Java Script.
Эти приложения я использовал для написания скриптов, которые копируют, перемещают, удаляют файлы и используют регулярные выражения для выбора подходящих файлов.
В том числе, например, для формирования xml файла определённого формата из текстового файла.
Вот ещё пример. На предприятии на новые ПЭВМ устанавливают ОС и стандартный набор приложений. Кроме этого выполняют настройку служб ОС. Эти процессы можно автоматизировать скриптами.

В отличие от Командной строки и VBScript, Python имеет очень широкий спектр применения. Так, например, есть модули для астрономов, для математиков, физиков. На этом языке можно писать Web приложения, приложения типа клиент-сервер, приложения для микроконтроллеров, ...
Пока я не увидел границ для Python.
Единственное, что меня напрягает, это то, что для интерпретатора на ПЭВМ должна стоять "машина" - собственно интерпретатор (PVM - Python Virtual Mashin) и у того, кто пользуется моими скриптами.
Установить такое ПО дома легко, но на предприятии - это может оказаться неразрешимой проблемой.
В таком случае рулит Командная строка или VBScript, а на Win 10 и PowerShell (развитие Командной строки).
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 24.12.2019, 22:15   #9
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,550
По умолчанию

Цитата:
Сообщение от ViktorR Посмотреть сообщение
Для микроконтроллеров я говорю, что написал скетч.
Как буквоед, уточняю - этот термин придумали Arduino-шники. Проги для микроконтроллеров пишутся на ассемблере или Си, как для любого "нормального" компа. Впрочем, если даже кто озаботится созданием интерпретатора для МК (ресурсы современных МК, многократно превосходящие комповые прошлого века, это позволяют) - можно будет и для них писать скрипты.
Python для МК мне что-то не попадался.

Последний раз редактировалось digitalis; 24.12.2019 в 22:18.
digitalis вне форума Ответить с цитированием
Старый 25.12.2019, 06:01   #10
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

Цитата:
Сообщение от digitalis Посмотреть сообщение
Python для МК мне что-то не попадался.
Зато для Raspberry Pi - очень даже.
Код:
# set up output channel with an initial state
RPIO.setup(NRF_CE, RPIO.OUT, initial=RPIO.LOW)

for i in range(10):
    RPIO.output(NRF_CE, 1)
    time.sleep(1)
    RPIO.output(NRF_CE, 0)
    time.sleep(1)
Black Fregat вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Построение алгоритма для обработки величин. Inesto Паскаль, Turbo Pascal, PascalABC.NET 1 22.05.2013 21:14
построение алгоритма Pampolina Помощь студентам 2 07.10.2012 14:21
Построение алгоритма из блок-схем emile8 Помощь студентам 0 04.12.2011 18:19
Построение блок-схем алгоритма PSych Помощь студентам 1 05.12.2010 15:30
Построение правильного алгоритма, вывод данных в файл, freggat Общие вопросы C/C++ 1 11.01.2010 21:33