русс | укр

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

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

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

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


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

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


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


Блок-схема цикла по счетчику

Цикл

Блок-схема оператора варианта

Switch (B)

Оператор выбора варианта.

Схема иерархии типов.

Преобразование и привидение типов.

 

Автоматически преобразования производятся перед:

 

ü Выполнением арифметических операций.

ü Присвоением значения выражения правой части оператора присвоения, переменной левой части оператора присвоения.

ü Передачей фактических параметров функции.

ü Возвратом результата функции.

Система ввода/вывода определяет, соответствует ли код цифре или символу.

 

Стрелки задают порядок автоматического приведения типов.

 

 
 

 

 


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

Можно принудительно преобразовать типы явным образом через механизм приведения типов: имяТипа (значение);происходит преобразование значения в тип имяТипа.

Например:

#include <iostream>

int mane ()

{

using namespace std;

int auks, coots;

auks = 19.99 + 11.99;//результат усекается до целого - 31

//следующий оператор суммирует целочисленные значения

coots = int (19.99) + int (11.99);

cout << “auks = ” <<auks << “ , coots = ” << coots << endl;

char ch = ‘Z’;

cout << “The code for ” << ch << “ is ”; // вывод в формате char

cout << int(ch) << endl; // вывод в формате int

return 0;



}

Результат выполнения программы:

auks = 31, coots = 30

The code for Z is 90

 

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

Формат:

{

“case” метка 1 “:” [оператор 1 “;”] [“break” “;”]

… … … … … … … … … … … … … … … …

“case” метка n “:” [оператор n “;”] [“break” “;”]

[“default” “:” операторы “;” ]

}

 

(B) – константное выражение (селектор) символьного или целого типа определяющее одну из меток стоящих после ключевого слова “case”.

метка 1 … метка n - константы целого и символьного типа, совпадающие по типу с селектором.

оператор 1 … оператор n – пустой, простой, структурированный, составной оператор, который выполняется при выборе соответствующей метки.

“default” – имеет значение иначе (else), операторы после “default” выполняются, если результат (B) не совпал ни с одной меткой.

 

Константное выражение - это выражение вычисляющееся во время компиляции.

Алгоритм выполнения:

1. Вычисляется B;

2. Это значение сравнивается с каждой из меток:

a) если значение селектора равно метке, то выполняется соответствующие операторы. Далее возможны варианты:

v если присутствует “break”, то действия переходят на оператор, стоящий за оператором “switch”;

v если оператора “break” нет, то выполняются все операторы, при всех метках, в порядке написания и после “default”;

б) если значение селектора не совпало с первой меткой, то действия переходят на распознание следующей метки, пропуская выполнение операторов нераспознанных меток;

в) если значение селектора не совпало ни с одной меткой, то выполняются операторы, стоящие после “default”.

Оператор switch действует как маршрутизатор, который сообщает компьютеру, какую строку кода использовать следует.

 

Обязательное условие для выполнения оператора:

При входе в оператор switch переменные, участвующие в селекторе, должны иметь конкретные значения

Селектор и альтернативы должны совпадать по типу. Тип возможен только целочисленный, символьный или перечисляемый.

 

Пример:

#include <iostream>

using namespace std;

void main()

{

int day;

cout<<"b abgycte mesace ";

cin>> day;

if ((day > 0) && (day < 31 ))

switch (day % 7 )

{

case 1: cout << " hiclo - patnica\n"; break;

case 2: cout << " hiclo - sybbota\n"; break;

case 3: cout << " hiclo - boskresenie\n";break;

case 4: cout << " hiclo - ponidelnik\n"; break;

case 5: cout << " hiclo - btopnik\n"; break;

case 6: cout << " hiclo - speda\n"; break;

case 0: cout << " hiclo - hetbepg\n"; break;

};

char c ;

cout << "bbedite simbol: Y, y, N, n = ";

cin >> c;

switch (c)

{

case 'Y':

case 'y': cout << " - YES "; break;

case 'N':

case 'n': cout << " - No "; break;

default : cout << "\n Bi ohiblisi!!! \n";

}

enum {red, orange, yellow, green, blue, violet, indigo};

cout << "bbedite cbet koda (0 -6)";

int code;

cin >> code;

if (code >= red && code <=indigo)

switch (code)

{

case red : cout << "kpasnii \n"; break;

case orange : cout << "opangebii"; break;

case yellow : cout << "geltie"; break;

case green : cout << "zelenii"; break;

case blue : cout << "cinii"; break;

case violet : cout << "fioletobii"; break;

case indigo : cout << "indigo"; break;

}

}

 

выбор при n = 1: y := sin(x) при n = 2: y := cos(x) при n = 3: y := 0 Все
выбор при a > 5: i := i+1 при a = 0: j := j+1 иначе i := 10; j:=0 Все

 

Цикл – это инструкция, в которой оператор или группа операторов, написанные один раз, выполняются нужное число раз. Существуют три циклические инструкции: - это цикл по счетчику, цикл с предусловием, цикл с постусловием,.

 

Цикл по счётчику

.

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

Формат оператора цикла по счетчику:

 

“for” (сп1 “;”сп2 “;” сп3) <тело цикла> “;”

 

сп1 – инициализирующая часть оператора,, т.е.список операторов выполняются один раз, до начала исполнения тела цикла, используются для установки начальных значений параметров цикла.

 

сп2 – проверочное выражение, т.е. список операторов и выражений для проверки конца цикла; выполняется перед каждым выполнением тела цикла:

a) если сп2!=0 (true) , то тело цикла выполняется;

b) если сп2=0 (false), то тело цикла завершается и действие переходит на оператор, стоящий после тела цикла.

сп3 – обновляющее выражение, т.е. список операторов или выражений, для корректировки параметров цикла; выполняются после каждого выполнения тела цикла.

 

<тело цикла> - простой, составной или структурированный оператор.

 

Алгоритм работы оператора:

 

1. Выполняется сп1 .

2. Выполняются операторы и выражения сп2, анализируются значения последнего выражения сп2:

· если оно истинно (! = 0), то тело цикла выполняется;

· если ложно (= 0), то действие переходит на оператор стоящий за телом цикла (если оно с первого раза ложно, то тело цикла не выполняется не разу).

3. После выполнения тела цикла выполняются операторы и выражения сп3, затем переходим к пункту 2.

4. Появление в любом месте тела цикла continue” даёт переход на пункт 3, т.е. выполняем сп3.

5. Появление в любом месте тела цикла “break” вызывает прекращение работы цикла и действия переходят на оператор, стоящий за телом цикла.

 

Обязательные условия для выполнения оператора:

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

2. любое сп может быть опущено, но обязательно присутствие двух “;”

3. выражения внутри оператора for могут отсутствовать. В этом случае оператор

for ( ; ; ) представляет собой бесконечный цикл.

4. если отсутствует сп2, то результат проверки “истина” – всегда.

Примеры использования оператора for:

#include <iostream>

using namespace

static const int N = 10 ;

int main()

{ //определим сумму

for ( int x = 1, sum = 0 ; x < N + 1 ; ++x )

sum += x ; // sum увеличивается на x

cout << sum << endl ; // выводится 5

……//определим степень числа

for ( int x = 5, sum = 1, int i=0; i < N ; i++ )

sum *= x ; // sum увеличивается в 5 раз

cout << sum << endl ; // выводится 5 в степени 10

//Напечатаем алфавит //

for (ch = ‘A’; ch <= ‘Z’; ch ++);

cout << ch<< “__”;

}

 

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

 

Формат оператора:

 

“while” (B(x)) <тело цикла> “;”

B(x) – выражение любого типа.

 

<тело цикла> - простой, составной, структурированный. Обязательно существует оператор изменяющий условие.

 

Алгоритм работы оператора:

 

1. Выполняется выражение (B(x)):

a. если выражение истинно, то выполняется <тело цикла>;

b. если выражение ложно, то переходим на оператор за телом цикла.

2. Если выражение представляет собой константа true, то цикл выполняется вечно.

3. Если выражение представляет собой константа false, то цикл не выполняется ни разу, т.о. цикл с предусловием может не выполнится ни разу или необходимое число раз.

 

Обязательные условия для выполнения оператора:

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

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

 



<== предыдущая лекция | следующая лекция ==>
Условная операция. | Операторы передачи управления


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


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

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

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


 


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

 
 

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

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