Rails Girls Sofia - Blitz Intro to Programming

Rails Girls Sofia - Blitz Intro to Programming

Част от презентацията на Rails Girls Sofia събитието.

9d3a04d8252ce89d5edbb0268af7ad8e?s=128

Dimitar Dimitrov

March 13, 2016
Tweet

Transcript

  1. Що е то програмиране?

  2. https://twitter.com/fjsteele/status/434249935316615168

  3. None
  4. Ruby?

  5. None
  6. Език за програмиране

  7. Език за програмиране = Купчина правила, с които управлявате компютър

  8. Сходно на естествените езици, но с (доста) по-стриктни правила.

  9. Не е трудно да се научите.

  10. Езици за програмиране • Ruby (Руби) е език за програмиране

    • Има и други (C#, Java, C++, PHP, JavaScript, Clojure, Scheme и още 2783...) • Можем да ползваме произволен* език, за да правим това, което ще правим днес • Руби е готин и ще ползваме него • Може да си изкарвате прехраната с Ruby :)
  11. Нещата, които ще научите, важат и за други езици.

  12. Show me the code!

  13. Ето ви малко Ruby 5.times  {      puts  "Здравейте!"

      }
  14. Внимание - термини • Код = съвкупност от команди и

    данни • Кодът на Ruby (а и повечето други езици за програмиране) се пази в текстови файлове • Изпълнява се от програма (интерпретатор), кръстена “ruby” • Може да си играете с Ruby и в т.нар. “интерактивна конзола” (REPL) – irb
  15. Основи на програмирането 1. Данни 2. Имена 3. Действия 4.

    Условия 5. Цикли 6. Изрази
  16. 1. Данни • Всичко се върти около данните – зареждате

    данни, манипулирате данни, произвеждате данни. • Програмиране = зареждане на данни, манипулация на данни, произвеждане на данни (по автоматизиран начин)
  17. 1. Данни – зареждане 1. “Зареждане” на данни – прочитане

    от файлове, вход от потребителя, прочитане от друга програма (база данни, интернет и т.н.) 2. Вмъкване на данните в самата програма
  18. 1. Данни – типове 1. Данните имат различни типове 2.

    Всеки тип поддържа определен набор операции 3. Например, числата поддъжат деление: 42 / 2 4. Какво става, ако разделим “бетон” / “небе”?
  19. 1. Данни – типове 1. Текст – без ограничение в

    дължината 2. Числа – цели, с плаваща запетая, рационални, комплексни 3. Съставни типове данни – списъци от неща, речници с неща 4. Наши собствени типове данни – “продукт”, “поръчка”, “потребител”, …
  20. 2. Имена 1. Механизъм да реферираме към определени данни 2.

    Името си го избираме ние и го “насочваме” към някакви данни 3. Може да сменяме накъде сочи името 4. Правим манипулации с името, реално работейки с данните зад него 5. Имената наричаме променливи (variables)
  21. Имена (променливи) и данни (стойности): някакво_име  =  данни   Например:

    event_name  =  "Rails  Girls  Sofia”   coaches  =  50   accepted_participants  =  coaches  *  2 2. Имена
  22. 3. Действия Всички данни (стойности) поддържат определени операции/действия: данни.действие  

    данни.друго_действие()   данни.пак_действие(други_данни)   данни.друго_действие(и,  разни,  опции)
  23. 3. Действия Шаблонът е:     данни.име_на_действие(опции)

  24. 3. Действия Например: “Радостина”.length   6  *  7   Date.today

      participants.first(5)
  25. 3. Действия Например: “Радостина”.length()   6.*(7)   Date.today()   participants.first(5)

  26. Обекти? 1. Обекти = тип данни + операциите, които можем

    да правим с тях. 2. Днес ще приемем, че “данни” и “обекти” са взаимозаменяеми.
  27. 4. Условия Начин за взимане на решения по време на

    работа на програмата.
  28. 4. Условия if  условие      изпълни  това,  ако  условието

     е  истина   else      иначе  изпълни  тази  част   end
  29. 4. Условия братчеда  =  Човек.нов(name:  ‘Пешо')  

  30. 4. Условия братчеда  =  Човек.нов(name:  'Пешо')   if  братчеда.гладен?  

       братчеда.иди_да_обядваш   else      братчеда.изиграй_едно_хоро   end
  31. 5. Цикли • Начини да повтаряте едно и също действие

    многократно (т. нар. "цикли") • Повече от един начин да стане това; избираме си различни, според ситуацията • Принципът е еднакъв в повечето езици за програмиране
  32. 5. Цикли 30.times  do      направи_коремна_преса   end

  33. 5. Цикли 5.times  {      puts  "Здравейте!"   }

  34. 5. Цикли 5.times  do      puts  "Здравейте!"   end

  35. 5. Цикли while  cat.alive?      cat.eat      cat.sleep

         cat.purr_for_diversion      cat.plot_for_world_domination   end
  36. 6. Изрази • Всичко в Ruby е израз. Всяко валидно

    парче код, което можете да пуснете самостоятелно в irb и да не получите грешка. • Всеки израз си има резултат (някаква стойност) • Ще наричаме тази стойност “оценка” • Ще видите това по-късно в irb
  37. Най-важният шаблон данни.име_на_действие(опции)   обект.име_на_действие(опции)