Solit 2014, Процедурное программирование, Соловей Василий
Upcoming SlideShare
Loading in...5
×
 

Solit 2014, Процедурное программирование, Соловей Василий

on

  • 96 views

Василий Соловей, Солигорск. PHP-разработчик в в «Электронном Солигорске». ...

Василий Соловей, Солигорск. PHP-разработчик в в «Электронном Солигорске».

«Минусы ООП на примере языка PHP». Development секция. Для разработчиков (начальный и средний уровень).
1. Что есть ООП (легкое повторение уже знакомого)
2. Лучше доверять авторитету мнения, чем мнению авторитета (во всем нужно разбираться основательно, а в ООП тем более)
3. Неизменная скупость в похвалах — верный признак посредственного ума (плюсы ООП)
4. Не все то солнышко, что блестит (основная часть доклада – минусы ООП)
5. Кто владеет информацией, тот владеет ситуацией (пояснение сути доклада:
доклад не принижает и не умоляет достоинств ООП он создан расширить кругозор)
«Начинать никогда не поздно!». Мотивационное выступление. На личном примере, я могу рассказать, что начинать никогда не поздно, и если есть желание – нет повода себе отказывать.
1. Путь в тысячу миль начинается с одного шага (с чего начать)
2. И на верном пути повстречаются распутья (как не сбиться с дороги начав)
3. Кто ты программист? (мой взгляд на программирование)
4. Успех – дитя настойчивости

Statistics

Views

Total Views
96
Views on SlideShare
90
Embed Views
6

Actions

Likes
0
Downloads
0
Comments
0

1 Embed 6

http://solit.isoligorsk.org 6

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Solit 2014, Процедурное программирование, Соловей Василий Solit 2014, Процедурное программирование, Соловей Василий Document Transcript

  • Procedural programming  Процедурное программирование     С развитием языков программирования развивались и технологии, используемые при  написании программного кода. Первые программы писались сплошным текстом. Это  была простая последовательность команд, записанная в столбец. Все это выглядело  приблизительно так:    Листинг 1. Текст линейной программы  Начало программы  Команда 1  Команда 2  Команда 3  ...  Команда N  Конец программы       Используя такой подход к программированию, можно было сделать очень мало.  Единственное, что было доступно программисту для создания логики в данном случае  — это условные переходы. Под условным переходом понимается переход на какую­то  команду при определенных условиях, которые сложились в процессе обработки данных  на процессоре. Например:    Листинг 2. Пример условного перехода  Если выполнено условие, то перейти на команду 1, иначе на команду 3  Команда 1  Команда 2  Команда 3  ...  Команда N.       Это единственная логика, с помощью которой можно было выполнять определенные  действия, зависящие от конкретных ситуаций, которые могут сложиться в процессе  вычислений. Но программы оставались плоскими и неудобными, потому что написать  таким образом логику современных программ невозможно. Линейным  программированием можно создать только линейную логику, которая проведет вас по  определенным шагам. Например, мастера в программах имеют линейную логику. Она  может разветвляться по ходу выполнения шагов мастера, но не может делать что­то  более сложное.       Взгляните на программу MS Word. В ней трудно представить себе линейность, потому  что здесь как бы присутствует диалог с программой. Вы говорите, что вам надо, а она  выполняет ваши действия. При линейном программировании можно создать только  такую логику, при которой компьютер запрашивает определенные параметры (данные),  и вы вводите их, а отступить от линейности, заложенной в такую логику, невозможно.       Следующим шагом стал процедурный подход. При этом подходе какой­то код  программы мог объединяться в отдельные блоки (процедуры). После этого такой блок  команд можно вызывать из любой части программы. Например: 
  •   Листинг 3. Процедурное программирование  Начало процедуры 1  Команда 1  Команда 2  Конец процедуры 1  Начало программы  Команда 1  Команда 2  Если выполнено условие, то выполнить код процедуры 1.  Команда 3  Конец программы.       В результате появилась возможность использовать один и тот же код в одной  программе неоднократно. Код программ стал более удобным и простым для  понимания.        Но вернемся к процедурам. В процедуры можно передавать различные значения,  заставляя их что­то рассчитывать:    Листинг 4. Пример процедур с параметрами  Начало процедуры 1 (Переменная 1:строка)  Команда 1  Команда 2  Конец процедуры 1  Начало программы  Команда 1  Команда 2  Если выполнено условие, то выполнить код процедуры 1.  Команда 3  Конец программы.       В этом примере после начала процедуры в скобках указан тип передаваемой  переменной. Таким образом, в процедуру можно поместить код каких­нибудь расчётов  и определить параметры в виде переменных, которые используются в этом коде, а  затем только передавать ей разные значения в качестве этих параметров. Процедуры  остались и в наше время.       Использование процедуры часто называют "Вызов процедуры". Это действительно  так, т. е. процедура как бы вызывается. Давайте рассмотрим пример процедуры,  приближенный к реальности.    Листинг 5. Пример процедуры, приближенный к реальному  Начало процедуры 1 (Переменная 1:Целое число)  Посчитать факториал числа, находящегося в Переменная 1.  Вывести результат на экран.  Конец процедуры 1  Начало программы  Процедура1(10)  Процедура1(5)  Процедура1(8) 
  • Конец программы.       В этом примере условно используется процедура, которая вычисляет факториал  переданного ей значения и потом выводит результат на экран. В самой программе эта  процедура используется как процедура1(10), где цифра в скобках означает  переданное ей значение. Вот так получается универсальная процедура, которая  считает факториал и выводит результат на экран. Как это все работает? Давайте  рассмотрим алгоритм.    1. Начало программы.  2. Вызов процедуры процедура1(10) и передача ей значения 10.  3. Процедура вычисляет факториал числа 10 и выводит результат на экран.  4. Выход из процедуры и продолжение выполнения программы.  5. Вызов процедуры процедура1(5) и передача ей значения 5.  6. Процедура вычисляет факториал числа 5 и выводит результат на экран.    И так далее. Как видите, код программы очень удобный.       Но процедуры — это мелочи жизни. Более удобным стало использование функций.  Функция — это та же процедура, только она умеет возвращать значение, т. е. результат  своего выполнения.    Листинг 4.6. Пример функции  Начало Функции 1: Тип возвращаемого значения — целое число  Команда 1  Команда 2  Конец Функции 1  Начало программы  Команда 1  Команда 2  Если выполнено условие, то выполнить код процедуры 1.  Команда 3  Конец программы.       Заметьте, что после двоеточия идет описание типа возвращаемого значения. Теперь  рассмотрим ту же ситуацию с факториалом. Допустим, нам надо рассчитать факториал  для последующего использования, но не для вывода на экран. Такая задача легко  решается с помощью функций.    Листинг 7. Расчет факториала с помощью функции  Начало Функции 1 (Переменная 1: Целое число): Целое число  Посчитать факториал числа, находящегося в Переменная 1.  Вернуть результат расчета.  Конец Функции 1  Начало программы  Переменная 1:=Функция 1 (10)  Переменная 2:=Функция 1 (5)  Переменная 3:=Переменная 1+Переменная 2  Вывести на экран Переменную 3  Конец программы.   
  •    В этом примере в "переменную 1" записывается результат расчета факториала 10!  (переменная 1—Функция 1 (10)). В "переменную 2" записывается результат расчета  факториала 5!. После этого значения переменных складываются и результат сложения  записывается в "переменную 3". Последнее действие программы — вывод на экран  "переменной 3".  Плюсы:  ● Лёгок для изучения новичкам.   ● Лёгок для работы.   ● Легко писать маленькие сайты­визитки, там не нужен мощный движок.   Минусы:  ● Плохо расширяемый.   ● Тяжело читаемый.   ● Не структуирован.   ● Повторение кода везде.   ● Очень сложно поддерживать.   Пример кода php:  $user_input = htmlspecialchars($_POST[‘field‘]);  $filtered_content = filter($user_input); //user input filtering  mysql_connect(«dbhost»,«dbuser»,«dbpassword»); //database  mysql_select_db(«dbname»);  $sql = «some query»;  $result = mysql_query($sql);  while ($data = mysql_fetch_assoc())  {  process ($data);  }  process_user_input($filtered_content);    Я решил рассказать про процедурку обще, и только в конце привести пример на php, но  если надо, можно дополнить конкретными примерами.