Предговор¶
Интересът към програмирането непрекъснато се увеличава и то не без основателна причина. Овладяването на това умение обаче понякога може да бъде трудно. Някои неща в програмирането са трудни сами по себе си, но често проблемът идва от начина, по който програмирането се засяга на начинаещите. Начинът на обяснение на ключовите понятия, редът на представяне / обучение, примери, които се използват, избран език за програмиране и т.н., могат да бъдат все фактори, които възпрепятстват или пък улесняват обучението.
Вярваме, че сме елиминирали повечето причини, които правят ученето по програми по-натоварващо, отколкото трябва да бъде:
Склонни сме първо да покажем защо нещата, които представяме тук са необходими, и едва след това да ги обясняваме. Вярваме, че това има благоприятен ефект върху мотивацията на читателите да учат;
Примерите, които използваме най-често, имат сюжет, за да ви вдъхновим да преминете през тях; избягват се досадни механични упражнения, доколкото е възможно;
Ние обясняваме само какво е необходимо за решаване на актуален проблем; оставяме по-трудни неща за по-късно;
Ние не се занимаваме с преглед на езиковите възможности; za тази цел съществуват референтни наръчници;
Ние използваме все по-популярния език за програмиране Python, който в момента се счита за най-добрият избор за начинаещи и е много приложим в реални житейски ситуации;
Не се приемат предварителни знания в областта на програмирането, а математическите знания на нивото на първите няколко класове на основното училище ще бъдат достатъчни;
Относно техническите подробности:
Можете да решите задачи в браузъра и веднага да получите отговор дали вашите програми работят правилно;
С някои задачи се дава подсказка или решение, което не се вижда веднага. Когато щракнете върху бутона „Съвет“ или „Решение“, се появява подсказка, вероятно подробна инструкция или понякога пълна програма, която решава задачата. Когато се даде програмата на състезател, можете да я копирате в областта за вашето решение и да я изпробвате;
В първоначалните задачи можете да видите блок-схема за вашата програма, подобна на тези в Scratch (https://scratch.mit.edu/) или на https://code.org/. Можете дори да промените програмата с помощта на блок-команди и след това да се върнете към Python с тези промени;
В много задачи можете да тествате решението си на няколко предварително подготвени теста, за да потвърдите, че резултатът не е случайно добър само в един случай, а че всъщност сте направили това, което се очакваше;
Накратко, направихме всичко възможно да ви позволим да влезете в света на писане на компютърни програми по приятен начин и да достигнете нивото, на което можете да приложите знанията си на практика.
Преди да започнем, трябва да обърнете внимание на няколко факта за ученето на програмиране като цяло:
Вашето решение може да бъде много добрo, дори и да е различно от нашето. Почти винаги има повече от един правилен начин за решаване на задача.
Програмирането се научава най-добре чрез писане на програми. Не четете и не решавайте задачи в главата си или още по-лошо, погледнете решенията и помислете дали бихте решили тези задачи по същия начин. Напишете програмите. Дори ако сте в състояние да формулирате точната програма в главата си (въпреки че може би просто мислите, че сте), ръцете ви трябва да преминат и през процеса на писане на тази програма. Всъщност да правиш нещо винаги е повече от това да знаеш как да го направиш.
Колкото и да се стараем, не можем да ви покажем или да ви кажем всичко - бъдете любопитни, изпробвайте различни идеи и вижте как работят, играйте с него.
Ако имате проблеми с решаването на някои от задачите, не се притеснявайте - това е напълно нормално. Имайте търпение и бъдете внимателни. Опитайте се да разберете съобщението за проблема. Ако е необходимо, анализирайте отново примерите и обясненията, които сте чели дотогава. В случай, че надникнете в решение, можете да го копирате или напишете с или без да търсите решението (ако го въведете, трябва да станете независим по-рано), но за да постигнете напредък в обучението на програмирането, важно е да опитайте се да разберете изцяло решенията и идеите зад тях.
Желаем ви забавно и успешно програмиране!

Textual Programming in Python by Petlja.org is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Съдържание¶
- Карел
- Основи на програмирането в Python
- Въведение в Python
- Програми Python
- Текстови стойности
- Четене на данни
- Задачи с изчисление - Упражнение
- Математически функции
- Математически функции - упражнения
- Branching statements ( операции за разклоняване)
- Сложно разклоняване
- Скриптове и for цикли
- Събиране на данни
- Преброяване и сумиране
- Списъци
- Преброяване c помощта на списъци
- Дефиниране на функции
- Речници
- Графично програмиране с PyGame
- Библиотеки PyGame
- Писане на програма PyGame
- Рисуване
- Рисуване на правоъгълници, елипси и кръгове
- Рисуване на прави линии и многоъгълници
- Drawing from reference
- Drawing from reference - допълнителни примери
- Преместване на чертежа
- Промяна на размера на чертежа
- Рисуване с помощта на цикли
- Рисуване на многоъгълници с цикли
- Правяне на по-сложни рисунки с помощта на цикли
- Показване на готови изображения
- Показване на готови изображения - задачи
- Анимация
- Взаимодействие