Добавил:
Лабы/курсовые по программированию (С++/Verilog HDL), Теория и Практика Помехоустойчивого Кодирования Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1сем Дагаев / progr_su_2.ppt
Скачиваний:
13
Добавлен:
09.03.2022
Размер:
186.37 Кб
Скачать

Вложенные инструкции if

int num = -10; if (num > 0)

printf (''Положительное число\n''); else

if (num < 0)

printf (''Отрицательное число\n'');

else

printf (''Нуль\n'');

Пример логической ошибки в программе

int a=17, b=5; if (a>10)

b++; if (a <=5)

b+=a; else

b*=2;

Множественные разветвления

switch (переменная-селектор)

{

case A1: <действие 1>; break; case A2: <действие 2>; break;

case AN: <действие N>; break;

default: <действие, выполняемое по умолчанию>;

}

Пример задачи с множественными разветвлениями

Задача: по порядковому номеру занятия (пары) в расписании вывести время начала и окончания занятия.

План решения: введем переменную num для обозначения порядкового номера пары. Тип переменной — целочисленная (int).

Циклы в C

for — цикл с заранее определенным количеством повторений

while — цикл с предусловием

do while — цикл с постусловием

цикл : заголовок цикла + тело цикла итерация : однократный проход цикла

Цикл while

while (условие)

{

<тело цикла>

}

Пример: int n = 2; while (n<20)

{

n = n*2; printf(''%d\n'',n);

}

Условие

Тело цикла

Цикл do while

Тело цикла

Условие

int i = 1; do

{

i++;

printf (''\n%d'',i);

}

while (i<4);

Цикл for

1

2

for (выражение инициализации; условное выражение;

3 выражение приращения)

4 <действие>;

i=1 to 10 step 2

тело цикла

int i, s = 0; for(i=1; i<10; i+=2)

{

s+= i; printf(''\n%6d%8d'',i,s);

}

Задача о табулировании функции

На интервале [a,b] числовой оси требуется вычислить значения функции f(x) в N равноудаленных точках.

Анализ: алгоритм — циклический, количество итераций — N, упраляющая циклом

переменная - x.

N = 3

x начальное = a

x конечное = b

a

b

приращение dx = количеству интервалов

разбиения числовой оси

dx = (b-a)/(N-1)

Инструкция continue

- прерывает текущую итерацию цикла. int i;

for(i=8; i>0; i--)

{

if (i%2) continue; printf (''%8d'', i);

}

Соседние файлы в папке 1сем Дагаев