Программирование по змеиному ;)

dok34.ru

Moderator
"Слишком много студентов не тянули курс, и даже среди преуспевающихобщий уровень оставлял желать лучшего.
Как я обратил внимание, одной из причин были книги. Огромные,с излишним количеством ненужных подробностей о языке Java и явным не- достатком простых уроков по программированию. И все студенты попадалив одну и ту же ловушку: бодрый старт, плавный прогресс, а вблизи пятой главы ловушка захлопывалась. Студенты получали слишком много новогоматериала и слишком быстро, и остаток семестра приходилось по кусочкамсобирать знания воедино.
За две недели до начала занятий я решил написать собственную книгу. Вот что я хотел:
— сделать ее лаконичной. Лучше студенты прочтут десять страниц, чемне прочтут пятьдесят;
— быть осторожным с терминами. Как можно меньше использовать профессиональный жаргон и давать определение каждому термину при первом вхождении;
— увеличивать сложность постепенно. Чтобы избежать «ловушек», я взял самые трудные темы и разбил их на серии маленьких шагов;
— я сфокусировался на практике, а не на теории программирования. Я описал необходимый минимум знаний о языке Java и опустил все остальное.
Требовалось привлекательное название, поэтому по воле случая моя книга была названа «Думай как компьютерный ученый».
Первая версия книги получилась далеко не шедевром, но стала эф- фективной. Студенты читали и, главное, понимали,"
 
Снимок экрана 2022-06-19 в 14.03.22.png
  1. Аллен Б. Дауни Инженерно-технический колледж имени Франклина У. Олина
  2. Спасибо! Поехали! Go! Go! Go! :))
 
"Цель этой книги — научить вас мыслить как настоящий программист. Этот способ сочетает в себе особенности мышления математика, инже- нера и ученого. Как математики компьютерные специалисты используют формальные языки для выражения идей (в частности, вычислений). Как инженеры они что-то проектируют, собирают отдельные компонентыв системы и оценивают компромиссы между альтернативами. Как ученыеони наблюдают за поведением сложных систем, формируют гипотезы и тестируют прогнозы.
Единственный самый важный навык для разработчика — умение на- ходить решение задачи. Для этого он должен сформулировать задачу,подойти творчески к поиску решения, а затем точно и ясно его реализовать.Как видите, обучение программированию — это прекрасная возможностьпопрактиковаться в решении задач. Вот почему эта глава называется «Путьразработки»."
 
"Программа — это последовательность инструкций, в которых указано, как выполнять вычисления. Вычисления могут быть математическими, такими как решение системы уравнений или поиск корней многочлена, но это такжемогут быть символические вычисления, например поиск и замена текста в документе, или что-то графическое, например обработка изображения или воспроизведение видеоролика.


Детали реализации выглядят по-разному на разных языках, но несколькоосновных инструкций универсальны для любого языка:
  • — ввод данных (input):
    Получение данных с клавиатуры, из файла, по сети или с другого устройства.
  • — вывод данных (output):
    Отображение данных на экране, сохранение их в файл, отправка по сети и так далее.
  • — математические операции (math):
    Выполнение основных математических операций, таких как сложениеи умножение.
  • — условное выполнение (conditional execution):
    Проверка определенных условий и выполнение соответствующего кода.
  • — повторение (repetition):
    Выполнение некоторого действия несколько раз, часто с некоторымиизменениями.
Верьте или нет, но это все, что нужно знать. Каждая программа, которую вы когда-либо использовали, независимо от ее сложности, состоит из таких инструкций. Таким образом, вы можете представить программирование как процесс разбиения большой и сложной задачи на всё более мелкие подзада-чи, пока подзадачи не станут достаточно простыми, чтобы их можно было сформулировать с помощью одной из этих инструкций.
ЗАПУСК PYTHON
Работа с Python начинается с установки Python и связанного программного обеспечения на компьютер.
 
А как насчет таких значений, как '2' и '42.0'? Они выглядят как числа, но указаны в кавычках, как строки:
>>> type('2') <class 'str'> >>> type('42.0') <class 'str'>
Интерпретатор определяет их как строки.
При вводе большого целого числа иногда хочется использовать запятые как разделители между группами цифр, например так: 1,000,000. В этом случае Python не опознает целое число:
>>> 1,000,000 (1, 0, 0)
Это совсем не то, что мы ожидали! Python интерпретирует 1,000,000 как последовательность целых чисел через запятую. Мы узнаем больше об этомвиде последовательности позже.

...Прикольно :)
ОДиночные кавычки - это стринг.

Поставил PyCharm - начинаю осваивать его.
Да, комьюнити версию, конечно :)
Congratulations! Python 3.10.5 for macOS 10.9 or later was successfully installed
Саму Змейку качать отсюда :)
 
Док, Вы будете тут всю книжку цитировать?
Ага :) Не всю, конечно - что нравится особенно.
А вот комментировать Вам тут - не надо :)
Можно в Вашей такой же теме :)
Или просто в Вашей, если её не пожалеете выделить под обучение.
 
Python 3.10.5 (v3.10.5:f377153967, Jun 6 2022, 12:36:10) [Clang 13.0.0 (clang-1300.0.29.30)] on darwin
Type "help", "copyright", "credits" or "license()" for more information.
1+1
2
print ('Привет всем!')
Привет всем!
type ('Privet')
<class 'str'>

Это я поставил одновременно IDLE заодно :) Тихая такая светлая среда :)
 
Это х0рошо структуриров@нное пр3длож3ние с недопустимым т*ке- нами. Это токены предложение допустимые содержит, но недопустимую структуру все.
Когда вы читаете предложение на естественном языке или утверждение на формальном языке, вы должны понять структуру (хотя на естественном языке вы делаете это подсознательно). Этот процесс называется синтакси- ческим разбором, или парсингом.
Хотя у формальных и естественных языков много общих черт — токены,структура и синтаксис, — есть некоторые различия:
— двусмысленность:
Естественные языки полны неоднозначности, с которой люди справ-ляются с помощью контекстных подсказок и другой информации.Формальные языки спроектированы быть максимально однозначны- ми, что означает, что любое утверждение имеет ровно одно значениенезависимо от контекста.
— избыточность:
Чтобы компенсировать неоднозначность и уменьшить недопонима- ние, в естественных языках много избыточности. В результате они часто многословны. Формальные языки менее избыточны и более лаконичны.
— буквальность:
Естественные языки полны идиом и метафор. Если я скажу: «Белая ворона», то, вероятно, я имею в виду не белую ворону или другую птицу, а «человека не такого, как все». Утверждения в формальных языках означают именно то, что они означают.

...
похоже на разницу между поэзией и прозой, более того:
— Поэзия:
Слова используются как ради их звучания, так и ради их значения,и стихотворение в целом создает определенный эффект или вызывает эмоциональный отклик. Неоднозначность не только распространена,но и часто намеренна.
— Проза:
Буквальное значение слов наиболее важно, а структура вносит боль-ший смысл. Проза легче поддается анализу, чем поэзия, но все же часто неоднозначна.
— Программы:
Значение компьютерной программы однозначно и буквально, и его можно полностью понять, проанализировав токены и структуру.
Формальные языки более насыщенные, чем естественные, поэтому их чтение занимает больше времени. Кроме того, структура важна, поэтому не всегда лучше читать сверху вниз, слева направо. Вместо этого научитесьанализировать программу в своей голове, выявляя токены и интерпретируя структуру. Наконец, детали имеют значение. Небольшие ошибки в написаниии пунктуации, некритичные в естественных языках, важны в формальном языке.
 
Программисты делают ошибки. По интересной случайности* ошибки про- граммирования называются багами (в пер. с англ. — жуками), а процесс ихотслеживания называется отладкой (debugging).
Программирование и особенно отладка иногда вызывает сильные эмоции.Если вы долго боретесь с трудной ошибкой, то можете начать злиться или впадать в уныние.
Зачастую люди реагируют на компьютеры, как если бы те тоже были людьми. Когда они работают хорошо, мы считаем их коллегами, а когда они упрямы или грубы, мы реагируем на них соответствующим образом
* По самой распространенной версии, в 1946 году разработка компьютера Mark II была при- остановлена из-за сбоя, которые был вызван попаданием мотылька между контактами (от англ. bug — жук, насекомое). Прим. ред.

Вот что поможет подготовиться к этим эмоциям. Один из подходовсостоит в том, чтобы воспринимать компьютер как работника — со своимисильными сторонами, такими как скорость и точность, и с недостатками, такими как отсутствие сопереживания и неспособность понимать общую картину.
Ваша работа — стать хорошим управленцем: найти способы использовать сильные и слабые стороны. И найти способы использовать свои эмоции длярешения проблемы, не позволяя им снижать эффективность работы.
Учиться отладке нелегко, но это ценный навык, полезный не только для программирования. В конце каждой главы есть раздел с моими предложе- ниями по отладке. Надеюсь, что они помогут!
 

Новые комментарии

LGBT*

В связи с решением Верховного суда Российской Федерации (далее РФ) от 30 ноября 2023 года), движение ЛГБТ* признано экстремистским и запрещена его деятельность на территории РФ. Данное решение суда подлежит немедленному исполнению, исходя из чего на форуме будут приняты следующие меры - аббривеатура ЛГБТ* должна и будет применяться только со звездочкой (она означает иноагента или связанное с экстремизмом движение, которое запрещено в РФ), все ради того чтобы посетители и пользователи этого форума могли ознакомиться с данным запретом. Символика, картинки и атрибутика что связана с ныне запрещенным движением ЛГБТ* запрещены на этом форуме - исходя из решения Верховного суда, о котором было написано ранее - этот пункт внесен как экстренное дополнение к правилам форума части 4 параграфа 12 в настоящее время.

Назад
Сверху