русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Третье выражение - изменение счетчика.


Дата добавления: 2015-06-12; просмотров: 606; Нарушение авторских прав


Здесь записывается как изменяется переменная-счетчик после каждого выполнения тела цикла. Например:

Листинг 7.4.

for (i=0; i<10; i++)

или

for (d=-100; d<=0; d+10)

Теперь немного поговорим о теле цикла. Тело цикла всегда состоит из одного оператора. И если нам нужно использовать несколько операторов, то как и в случае с конструкцией if-else, применяется составной оператор {...}.

Опишем работу цикла for словами и потом перейдем к рассмотрению практических примеров.

1. Когда программа встречает слово for она понимает что перед ней цикл.

2. Сначала определяется переменная счетчик (выражение 1).

3. Проверяется условие выполнение цикла (выражение 2)

4. Если условие ложно, то программа выходит из цикл for и продолжает свое выполнение. Т.е. если в самом начале условие будет ложно, то тело цикла не выполнится ни одного раза.

5. Если условие истинно, то начинает выполняться тело цикла.

6. После того как тело цикла выполнится, программа возвращается к заголовку и выполняет изменение значение переменной-счетчика (выражение 3).

7. После этого возвращаемся к пункту два, и все действия повторяются до тех пор, пока условие не станет ложным.

Для лучшего понимаю работы циклической конструкции for разберем сначала простейший пример, а потом вернемся к нашей задачке с коровами.

Пусть нам надо посчитать сумму 10 чисел введенных пользователем с клавиатуры.

Такая программа будет выглядеть следующим образом:

Листинг 7.5.

#include <stdio.h>

int main(void){

int i,summ=0, temp=0;

for (i=0;i<10;i++){

printf("\nVvedite chislo: ");

scanf("%d",&temp);

summ+=temp;

}

printf("Summa vvedennih chisel = %d\n",summ);

return(0);

}

Теперь распишем по пунктам как работает наша программа.

Начнем с 4 строки, всё остальное вам уже должно быть ясно после ознакомления с предыдущими уроками.



1. Переменная i счетчик и ей присваивается значение 0.

2. Проверяется условие i<10. Оно истинно, значит выполняется тело цикла: выводится надпись, пользователь вводит число и оно прибавляется к переменной summ. Тело цикла заканчивается программа возвращается к заголовку.

3. Программа выполняет выражение i++, изменяет значение переменной счетчика, в нашем случае увеличивает i на единицу. Теперь i = 1.

4. Снова проверяется условие, i<10. Оно опять истинно. Снова выполняется тело цикла и происходит изменение переменной счетчика. И процесс повторяется.

5. Потом, через несколько шагов значение i после изменения выражения счетчика становится равным 10. Проверяется условие. Оно ложно. Программа выходит из цикла и продолжает свое выполнение. В нашем случае выводит на экран значение переменной summ.

На рисунке представлен результат работы этой программы:

Пример работы программы с циклом for.

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

Изначально имеется программа (код юзера Dispose, с моими небольшими изменениями):

Листинг 7.6

#include <stdio.h>

int main(void)

{

int n,b;

printf("Vvedite chislo ot 1 do 100: ");

scanf("%d", &n);

if(n>=11&&n<=14)

{

printf("Na lugu pasetsya %d korov \n", n);

}

else

{

b=n%10;

if(b==1) printf("Na lugu pasetsya %d korova \n", n);

if(b>=2&&b<=4) printf("Na lugu pasetsya %d korovy \n", n);

if(b>=5&&b<=9) printf("Na lugu pasetsya %d korov \n", n);

if(b==0) printf("Na lugu pasetsya %d korov \n", n);

}

return(0);

}

Нам нужно проверить эту программу. Смотрим что количество коров задается в переменной n. Именно её и возьмем в качестве переменной счетчика. начальное значение у нас 0 конечное 99 . С каждым шагом значение изменяется на 1 Значит заголовок будет выглядеть следующим образом:

Листинг 7.7

for(n=0,n<=99,n++)

Теперь из исходной программы удалим строчки, где просится ввести число n и строку, где введенное число считывается в переменную n. Также добавим туда наш заголовок и возьмем оставшуюся часть программы в фигурные скобки. Получим следующий код:

Листинг 7.8.

#include <stdio.h>

int main(void)

{

int n,b;

for(n=0;n<=99;n++)

{

if(n>=11&&n<=14)

{

printf("Na lugu pasetsya %d korov \n", n);

}

else

{

b=n%10;

if(b==1) printf("Na lugu pasetsya %d korova \n", n);

if(b>=2&&b<=4) printf("Na lugu pasetsya %d korovy \n", n);

if(b>=5&&b<=9) printf("Na lugu pasetsya %d korov \n", n);

if(b==0) printf("Na lugu pasetsya %d korov \n", n);

}

}

return(0);

}

Если теперь запустить нашу полученную программу то можно посмотреть, какое окончание прибавляет программа к какому количеству коров.

Иллюстрация работы программы листинг 7.8

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

 



<== предыдущая лекция | следующая лекция ==>
Занятие 7.Циклические конструкции. Цикл со счетчиком for. | Имена и способы описания переменных.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.189 сек.