tgspython Ответов: 3

Не могли бы вы объяснить мне этот псевдокод?


В этом руководстве по пересмотру (а не домашнем задании, кстати, просто я пытаюсь узнать больше) есть вопрос о псевдокоде и таблице трассировки на его основе. Я не могу интерпретировать его, потому что не понимаю псевдокод, и я был бы признателен, если бы вы могли полностью объяснить его мне. Пожалуйста, имейте в виду, что я новичок в этом деле и многого не знаю. Спасибо.

Псевдокод:

SET list TO [3, 6, 9, 13, 17, 21]
Установить найденное значение False
Получение товара от (число) клавиатура
Для индекса от 0 до длины (список) - 1 DO
Если item = list[index], то
Установить найденное значение True
Отправить "найдено" на дисплей
КОНЕЦ, ЕСЛИ
КОНЕЦ ДЛЯ

Что я уже пробовал:

Я перечитал его, но все это; особенно список, индекс и найденная часть (которая в основном является всем кодом) все еще не имеет для меня смысла. Спасибо.

3 Ответов

Рейтинг:
27

CHill60

Вот этот код шаг за шагом:

SET list TO [3, 6, 9, 13, 17, 21]
У вас есть список вещей, с которыми вы собираетесь что-то делать. Числа, с которыми вы собираетесь что-то сделать, - это 3,6,9,13,17 и 21 в этом порядке.
SET found TO False
Установите переменную, которая будет сигнализировать вам (флаг), когда вы найдете то, что ищете.
RECEIVE item FROM (INTEGER) KEYBOARD
Примите некоторые входные данные от пользователя. Это должно быть целое число (целое число), и мы будем называть его "item"

Я собираюсь сделать здесь паузу, так как думаю, что это тот бит, с которым вы боретесь.
Каждое число в этом списке, который мы установили в начале, имеет "позицию" в списке.
3 is 1st, 6 is 2nd, 9 is 3rd etc.
Мы называем эту позицию "индексом". Во многих языках программирования этот индекс начинается с 0 То есть ...
3 is 1st, has index 0
6 is 2nd, has index 1
9 is 3rd, has index 2
...
21 is last, has index 5
Список также имеет понятие "длина" - или количество записей в списке. В этом случае у нас есть 6 записей в списке. Но помните, что индекс каждого элемента начинается с 0! Если бы мы попытались посмотреть на элемент списка в индексе позиции 6 мы получим ошибку ... помните, что индекс последнего числа (21) равен 5 Итак, эта строка:
FOR index FROM 0 TO LENGTH (list) - 1 DO
означает "шагайте по пунктам списка один за другим, начиная с самого начала (0) прямо до конца (длина - 1)
if item = list[index] THEN
Эта строка проверяет, есть ли item то, что пользователь ввел с клавиатуры, совпадает с (=) номером, который находится в позиции index в списке. Так что первый раз через него проверим item = list[0] затем следующий цикл проверит item = list[1]Если числа совпадают, то выполните следующие действия: END IFТ.е.
SET found TO True
SEND 'Found' TO DISPLAY
Первая строка устанавливает этот "флаг" или "сигнал" в True, что означает "Да, мы нашли совпадение". Затем вы сообщаете пользователю, что он был найден, отображая слово "найден".

Это поможет?

Как указал OriginalGriff это так нет способ учиться. Я надеюсь, что этого подробного объяснения будет достаточно, чтобы позволить вам теперь действовать самостоятельно. Я боюсь, что вы получите короткий срок, если будете продолжать публиковать такие вопросы. Мы не являемся учебным сайтом.


tgspython

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

Рейтинг:
2

Richard MacCutchan

Прочесть Код проекта Быстрые ответы часто задаваемые вопросы[^Если вы действительно не понимаете основы, то вам следует взять книгу или попробовать некоторые онлайн-уроки. Для Python вы можете начать с Учебник по Python — документация по Python 3.4.8[^].


Рейтинг:
0

OriginalGriff

Мы объясняем каждый фрагмент кода, который вы найдете Не могли бы вы объяснить мне этот псевдокод?[^] это не гойн, чтобы помочь вам учиться.

Прочитайте псевдокод, прочитайте задачу, которую он должен выполнять, и выясните, что он делает из этого - это довольно очевидный материал, если вы вообще следовали своему курсу, вы должны это понять - особенно если, как вы говорите, это не ваша домашняя работа, а ваши руководства по пересмотру.
Если вы уже пересматриваете, то немного поздно не понимать материал, который, вероятно, был покрыт в начале вашего курса...


tgspython

Okay, but you saying that also doesn't help me. I have a bad teacher who doesn't know himself. And like I said I am new to this and the course just started. I did read it and tried to work it out myself, for someone like you who knows and has been taught well - whether self taught or not - it's pretty obvious. But please take into consideration that it's not the same for others. I came here for help and to learn more and have fun, which is what CodeProject is about. We all learn differently and actually the solution(s) I received which were proper helped me understand it more and now I know those functions for next time, so yes it does help me learn. Thank you for your time but if you can't help people with their questions please don't waste your time answering and making assumptions that people are "folling their course" etc.

OriginalGriff

Мы всегда готовы помочь людям - но эти люди должны стараться помочь самим себе. И вы не показываете никаких признаков этого, вы просто смотрите на вопрос, смотрите на ответ и спрашиваете: "как это работает?"
И если вы думаете, что это хороший способ научиться делать это, вы очень, очень ошибаетесь. Кодирование-это навык, а не механическая память, и, как и все навыки, вы учитесь делать, а не читать. Подумайте об этом: вы можете читать о том, как кататься на скейтборде или заниматься серфингом, но это не поможет, когда вы впервые садитесь на него и обнаруживаете, что не знаете, как балансировать, потому что ваше тело еще не научилось этому. Практикуйте "скейтбординг" или "серфинг", и ваше мастерство улучшится, оно станет вашей второй натурой.
Но наблюдение за тем, как кто-то занимается серфингом, никоим образом не готовит вас к тому, чтобы действительно это делать!
Серьезно: перестаньте смотреть на ответы и попробуйте делать вопросы. Если вы этого не сделаете, вы никогда не научитесь делать их.

tgspython

Ладно, спасибо за совет. Извините за любые недоразумения, но я действительно пробовал себя и не был 100%, поэтому я просто хотел знать правильную вещь, прежде чем двигаться дальше. В следующий раз я добавлю больше к тому, что я пробовал, и мои мысли в поле " что я пробовал:", чтобы сделать более ясным, что я пытался сделать, чтобы помочь себе. Однако спасибо Вам за ваше время и совет! Хорошего дня.

OriginalGriff

:большой палец вверх:
Всегда пожалуйста!