Добро пожаловать в раздел "Основы программирования"

сайта "Try Objective-c - программирование для начинающих"!

  Здесь простым и доступным языком представлен материал по основам программирования.

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

  Сам процесс обучения программированию довольно трудоемок, но если у вас есть цель - то у вас все получится!

  Заучивать весь представленный материал нет необходимости. Главное - чтобы вы понимали саму суть здесь изложенного.

» » 1.17 Типы программирования. Часть 1. Структурное программирование. Циклы

Категория:

Информация к новости
  • Просмотров: 19303
  • Автор: Midav
  • Дата: 5-10-2012, 00:57
5-10-2012, 00:57

1.17 Типы программирования. Часть 1. Структурное программирование. Циклы



Быстрая навигация:
Любой язык программирования - это формальный язык, поскольку он придуман людьми для решения каких либо специфических задач. Например, набор специальных знаков и правил записи формул, используемых математиками для записи формул и доказательств теорем, является формальным языком.

Языки программирования – формальные языки, предназначенные для описания алгоритмов.

Формальные языки характерны тем, что имеют четкие синтаксические правила.
Например запись 2x2=4 является синтаксически правильной математической записью, а 2=+4 – нет.

Когда вы читаете предложение на русском языке или выражение на формальном языке, вы определяете его структуру, часто неосознанно. Этот процесс называется синтаксическим анализом или синтаксическим разбором. Эквивалентный англоязычный термин – parsing (парсинг)

Отсюда мы подходим к тому, что называется парадигмой программирования.

Парадигма программирования - это некий набор правил, который определяет стиль написания программ.

Существует несколько таких правил, которые можно распределить по специфике методологии программирования:
- структурное программирование
- объектно-ориентированное программирование
- логическое программирование и прочие...

Следует отметить, что парадигма программирования не определяется однозначно языком программирования; практически все современные языки программирования в той или иной мере допускают использование различных парадигм.

Вот интересная вводная лекция
по парадигмам программирования
на русском языке:




Рассмотрим основные моменты касающиеся структурного программирования.


Структурное программирование

Это методология разработки программного обеспечения, в основе которой лежит представление программы в виде иерархической структуры блоков (модулей).

Любая программа представляет собой структуру, построенную из трёх типов базовых конструкций имеющие следующие отличительные черты:

1
Последовательное исполнение
— однократное выполнение операций в том порядке, в котором они записаны в тексте программы (сначала выполняется инструкция 1, затем инструкция 2, затем следующая... и так далее);

2
Ветвление (if)
— это однократное выполнение одной из двух или более операций, в зависимости от выполнения некоторого заданного условия;
Операторы выполняющие функции ветвления имеют название - условные операторы.
Например если при выполнении проверки условия (осуществляется логическими операторами - истина / ложь) мы получаем ИСТИНУ - то выполняется ветвь 1, а если результатом проверки оказалась ЛОЖЬ - выполняем другую ветвь программы.
Как вариант, после проверки условия какая то из инструкций программы может быть пропущена. Это так называемый "обход".


if (Условие)
   Оператор


Схематичное изображение условного оператора if (на языке Си):
1.17 Типы программирования. Часть 1. Структурное программирование. Циклы

Условие - любое выражение
Оператор - любой допустимый оператор или блок операторов
Если условие истинно - оператор будет выполнен.
Если условие ложно - оператор будет пропущен


else - иначе

Условный оператор if может быть усложнен служебным словом else - иначе
Это слово позволяет получить законченность условного оператора if, которое будет выражаться так:
Если условие истинно - сделай так, иначе (если оно ложно) - сделай по другому


if (Условие)
   Оператор 1
else
   Оператор 2


Схематичное изображение условного оператора if-else (на языке Си):
1.17 Типы программирования. Часть 1. Структурное программирование. Циклы




3
Цикл
— многократное исполнение одной и той же операции до тех пор, пока выполняется некоторое заданное условие (условие продолжения цикла - например производить увеличение числа на единицу, пока оно не станет равным, к примеру, 5).

- Цикл for
Для организации цикла for необходимо выполнить три обязательных действия:
- установить начальные значения переменных
- проверять истинность условия цикла
- на каждом шаге изменять значение счетчика чикла

for (Выражение 1; Выражение 2; Выражение 3){
 тело цикла
}


Схематичное изображение цикла for (на языке Си):
1.17 Типы программирования. Часть 1. Структурное программирование. Циклы

- Выражение 1 - инициализация (выполняется только один раз в самом начале цикла)
- Выражение 2 - условие цикла (выполняется на каждом последующем витке цикла)
- Выражение 3 - приращение счетчика (выполняется на каждом последующем витке цикла после выполнения оператора)

циклы с предусловием (while)
- сперва выполняется условие (проверяется его истинность или ложность) и только после этого выполняется сам цикл. Данный цикл может не выполниться ни разу если результатом проверки окажется "ложь".

while (условие):
        оператор


Схематичное изображение цикла while в Python:
1.17 Типы программирования. Часть 1. Структурное программирование. Циклы

Условие - любое выражение
Оператор - любой допустимый оператор или блок операторов

- циклы с пост условием (do while) - сперва выполняется сам цикл и только после него проверяется его истинность или ложность. Особенностью данного цикла является то, что он будет выполнен хотя бы один раз, в отличии от цикла с предусловием.

do
       оператор
while (условие):


Схематичное изображение операции цикла do while:
1.17 Типы программирования. Часть 1. Структурное программирование. Циклы



В программе циклы могут быть ВЛОЖЕННЫЕ друг в друга произвольным образом.

Это означает, что после выполнения проверки истинности условия и последующего перехода в следующую ветвь, в ней также может производиться проверка на истинность какого либо условия. Это как раз и есть вложенность друг в друга. (вложенные циклы)



Повторяющиеся фрагменты программы (либо не повторяющиеся) могут оформляться в виде так называемых ПОДПРОГРАММ (процедур или функций).
В этом случае в тексте основной программы, вместо помещённого в подпрограмму фрагмента, вставляется инструкция вызова подпрограммы. При выполнении такой инструкции выполняется вызванная подпрограмма, после чего исполнение программы продолжается с инструкции, следующей за командой вызова подпрограммы.

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


Образно говоря - программа состоит из блоков - кирпичиков из которых и строится общая программа.
И чтобы не загромождать кодом одну страницу и повысить читаемость текста, программу делят на отдельные куски - подпрограммы (процедуры или функции), которые отвечают за определенный вид работ.

Справка
- Процедура, будучи вызванной выполняет какое то действие.
- Функция (в отличии от процедуры) всегда возвращает значение.

Например в программе мы можем какой либо переменной присвоить значение (результат) какой то функции:
x = function(y)
Здесь мы переменной Х присваиваем значение Y, которое вернула функция function
(синтаксис мы будем рассматривать позднее)
В языке СИ например, что процедура, что функция называются одинаково - функция. Независимо от того какую работу они выполняют.



Разработка программы в структурном программировании ведётся пошагово, методом «сверху вниз».
Это позволяет вместо работающих подпрограмм использовать "заглушку", чтобы протестировать работоспособность всей программы в целом. После первого тестирования на работоспособность заглушку заменяют реальной подпрограммой.

Ярким представителем структурного программирования является язык программирования СИ
Основы программирования на Си мы также будем рассматривать в дальнейшем...

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

Метки к статье: структурное программирование, парадигма, цикл

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Добавление комментария

Имя:*
E-Mail:
Комментарий:
Полужирный Наклонный текст Подчеркнутый текст Зачеркнутый текст | Выравнивание по левому краю По центру Выравнивание по правому краю | Вставка смайликов Вставка ссылкиВставка защищенной ссылки Выбор цвета | Скрытый текст Вставка цитаты Преобразовать выбранный текст из транслитерации в кириллицу Вставка спойлера
Введите два слова, показанных на изображении: *