Вівторок, 19.03.2024, 05:21
Гость

Мішатронік

Мобільна версія | Додати у вибране  | Мій профіль | Вихід | RSS |
Меню сайту
Наше опитування
Оцініть мій сайт
Всього відповідей: 12
Статистика

Онлайн всього: 1
Гостей: 1
Користувачів: 0


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

Методология структурного программирования основана на предположении, что логичность и понятность программы обеспечиваетнадежность, облегчает модификацию и ускоряет разработку программы.

 

Характерными чертами структурного программирования являются:

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

Цикл с предусловием

Существует три вида циклов: whilefor и doЦикл while имеет следующую форму:

 
while (e) s;
 

Оператор s выполняется до тех пор, пока значение выражения e равно "истина". Значение e вычисляется перед каждым выполнением оператора s.

 

В предшествующих лекциях мы пользовались этой формой цикла. Рассмотрим еще один пример его работы:

 
/* угадывание числа */
#include <stdio.h>
main( )
{
 int i = 1; 
 char res;
 printf("Задумайте целое число от 1 до 100. 
 Компьютер попытается угадать его. \n");
 printf ("Отвечайте y, если догадка правильна и");
 printf("\n n, если программа ошибается \n");
 printf("Итак, ваше число %d?\n",i); 
 /*получение ответа */
 while((res = getchar( )) !='y') 
 if(res !='\n') 
 /* пропуск символа новая строка */
 printf("Ну тогда оно равно %d\n" ,++i); 
 printf("Число угадано!\n");
}
 
! Это довольно простая программа. Она написана правильно и решает поставленную задачу, но делает это крайне неэффективно. Данный пример показывает, что правильность написания - не единственный критерий, по которому необходимо оценивать программу. При этом очень важна ее эффективность!
 

В наших примерах до сих пор использовались условные выражения, но вообще говоря, это могут быть выражения произвольного типа. В качестве оператора можно использовать простой оператор с символом "точка с запятой" в конце или составной оператор, заключенный в фигурные скобки. Если выражение истинно (или в общем случае равно единице), то оператор, входящий в цикл while, выполняется один раз, а затем выражение проверяется снова. Эта последовательность действий, состоящая из проверки и выполнения оператора, периодически повторяется до тех пор, пока выражение не станет ложным (или в общем случае равным нулю). Каждый такой шаг называется итерация. Данная структура аналогична структуре оператора if. Основное отличие заключается в том, что в операторе if проверка условия и (возможное) выполнение оператора осуществляется только один раз, а в цикле while эти действия производятся, вообще говоря, неоднократно.

 
! При построении цикла while вы должны включить в него какие-нибудь конструкции, изменяющие величину проверяемого выражения так, чтобы в конце концов оно стало ложным. В противном случае выполнение цикла никогда не завершится.
 

Цикл while является условным циклом, использующим предусловие, т.е. условие на входе. Он называется условным, потому что выполнение оператора зависит от истинности условия, описываемого с помощью выражения. Подобное выражение задаетпредусловие, поскольку выполнение этого условия должно быть проверено перед началом выполнения тела цикла.

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

Подведем итоги.

 

Оператор while определяет операции, которые циклически выполняются до тех пор, пока проверяемое выражение не станет ложным, или равным нулю. Оператор while - это цикл с предусловием. Решение, выполнить ли в очередной раз тело цикла, принимается перед началом его прохождения. Поэтому вполне возможно, что тело цикла не будет выполнено ни разу. Оператор, образующий тело цикла, может быть либо простым, либо составным. Форма записи:

 
while (выражение) оператор
 

Выполнение оператора циклически повторяется до тех пор, пока выражение не станет ложным, или равным нулю.

 

Цикл со счетчиком

Оператор цикла for

 
for(e1; e2; e3) s
 

является удобной сокращенной записью для цикла while вида

 
e1;
while(e2) {
 s;
 e3;
}
 

Выражение e1 служит для задания начальных условий выполнения циклавыражение e2 обеспечивает проверку условия выхода из цикла, а выражение e3 модифицирует условия, заданные выражением e1. Любое из выражений e1e2e3 может быть опущено. Если опущено e2, то по умолчанию вместо него подставляется значение TRUE. Например, цикл for

 
for(;e2;) s;
 

с опущенными e1e3 эквивалентен циклу

 
while(e2) s;
 

Цикл

 
for(;;) s;
 

со всеми опущенными выражениями эквивалентен циклу

 
while(TRUE) s;
 

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

 

Форма входа
Пошук
Друзі сайту
Календар
«  Березень 2024  »
ПнВтСрЧтПтСбНд
    123
45678910
11121314151617
18192021222324
25262728293031

Єдина Країна! Единая Страна!