🗊Презентация 4. Управление

Нажмите для полного просмотра!
4. Управление, слайд №14. Управление, слайд №24. Управление, слайд №34. Управление, слайд №44. Управление, слайд №54. Управление, слайд №64. Управление, слайд №74. Управление, слайд №84. Управление, слайд №94. Управление, слайд №104. Управление, слайд №114. Управление, слайд №124. Управление, слайд №134. Управление, слайд №144. Управление, слайд №154. Управление, слайд №164. Управление, слайд №174. Управление, слайд №184. Управление, слайд №194. Управление, слайд №204. Управление, слайд №214. Управление, слайд №224. Управление, слайд №234. Управление, слайд №244. Управление, слайд №254. Управление, слайд №264. Управление, слайд №274. Управление, слайд №284. Управление, слайд №294. Управление, слайд №304. Управление, слайд №31

Содержание

Вы можете ознакомиться и скачать презентацию на тему 4. Управление. Доклад-сообщение содержит 31 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





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

Слайд 2





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

Слайд 3





Выражения
Описание слайда:
Выражения

Слайд 4





Выражения – приоритет операций
Описание слайда:
Выражения – приоритет операций

Слайд 5





Выражения – приоритет операций (пример)
x = (*a[i+1].b + c * 2) & ( (x&y|07) << 3)
[] и . сильнее, чем *
* сильнее, чем + 
& сильнее, чем |
<< сильнее, чем |
& сильнее, чем =
Пусть int a =  30000; тогда
	((long) a * a) равно 60000
	(long) (a * a) – переполнение
(long) сильнее *
Cкобки (в умеренном количестве) облегчают понимание
Описание слайда:
Выражения – приоритет операций (пример) x = (*a[i+1].b + c * 2) & ( (x&y|07) << 3) [] и . сильнее, чем * * сильнее, чем + & сильнее, чем | << сильнее, чем | & сильнее, чем = Пусть int a = 30000; тогда ((long) a * a) равно 60000 (long) (a * a) – переполнение (long) сильнее * Cкобки (в умеренном количестве) облегчают понимание

Слайд 6





Условные выражения
Условное
Вычисляется только одна из ветвей
	i < 0 || i>=N   ?   0   : A[i]
Тип – минимальный больший типов ветвей
Логические связки (John McCarthy) 
A && B	эквивалентно (A ? B : 0)
A || B эквивалентно (A ? 1 : B) 
Пример: i < N  && A[i] != 0
	сравнить i<N AND A[i] <> 0 (Pascal)
Пример: A[i] > max && A[i]=max эквивалентно 
				if (A[i] > max) A[i]=max;
Описание слайда:
Условные выражения Условное Вычисляется только одна из ветвей i < 0 || i>=N ? 0 : A[i] Тип – минимальный больший типов ветвей Логические связки (John McCarthy) A && B эквивалентно (A ? B : 0) A || B эквивалентно (A ? 1 : B) Пример: i < N && A[i] != 0 сравнить i<N AND A[i] <> 0 (Pascal) Пример: A[i] > max && A[i]=max эквивалентно if (A[i] > max) A[i]=max;

Слайд 7





Последовательное выражение
Осмысленно только для выражений с побочным эффектом
Результат – значение последнего выражения
Пример:
c  =  (a=3, b=2+a, a+b)
A[i,j] = i+j эквивалентно A[j] = i+j
Описание слайда:
Последовательное выражение Осмысленно только для выражений с побочным эффектом Результат – значение последнего выражения Пример: c = (a=3, b=2+a, a+b) A[i,j] = i+j эквивалентно A[j] = i+j

Слайд 8





Операторы
Синтаксис:

; - пустой, ничего не делать
выр; - вычислить выражение и забыть.
Описание слайда:
Операторы Синтаксис: ; - пустой, ничего не делать выр; - вычислить выражение и забыть.

Слайд 9





Операторы - пример
	y = (x = 1)+1;
loop:
	x += 2;
	goto swap;
	y = y++ + ++x;
swap:
	{ 	int t;
		t = x, x=y, y=x;
		goto loop;
	}
	x = 0;
Описание слайда:
Операторы - пример y = (x = 1)+1; loop: x += 2; goto swap; y = y++ + ++x; swap: { int t; t = x, x=y, y=x; goto loop; } x = 0;

Слайд 10





Ветвления&C° 
Выбор одной из ветвей в зависимости от значения выражения (условия)
Синтаксис:
Описание слайда:
Ветвления&C° Выбор одной из ветвей в зависимости от значения выражения (условия) Синтаксис:

Слайд 11





Условный
Синтаксис:
Пример:
Описание слайда:
Условный Синтаксис: Пример:

Слайд 12





Условный оператор или условное выражение?
Сравнить
Описание слайда:
Условный оператор или условное выражение? Сравнить

Слайд 13





Условный оператор или условное выражение?
Сравнить
Описание слайда:
Условный оператор или условное выражение? Сравнить

Слайд 14





Арифметический условный
(FORTRAN)
L = 0, R = N-1, found = 0;
Loop:
if (L<=R)
{
  i = (L+R) / 2;
  if (A[i] == x)
  { 
    found = 1;
    goto Done;
  }
  else if (A[i] < x)
     R =  i-1;
  else
     L = I +1;
   goto Loop;
}
Done:
Описание слайда:
Арифметический условный (FORTRAN) L = 0, R = N-1, found = 0; Loop: if (L<=R) { i = (L+R) / 2; if (A[i] == x) { found = 1; goto Done; } else if (A[i] < x) R = i-1; else L = I +1; goto Loop; } Done:

Слайд 15





Переключатель
Синтаксис:
Семантика:
Переход на метку case, соответствующую значению выбирающего выражения
При отсутствии таковой – переход на метку default
При отсутствии как нужного case, так и default – переход на конец переключателя
break; - переход на конец переключателя.
Описание слайда:
Переключатель Синтаксис: Семантика: Переход на метку case, соответствующую значению выбирающего выражения При отсутствии таковой – переход на метку default При отсутствии как нужного case, так и default – переход на конец переключателя break; - переход на конец переключателя.

Слайд 16





Переключатель – пример (С)
switch (x % 6)
{
	case 0 :
	case 2:
		x += 2;
	default :
		x += 1;
		break;
	case 1 :
		x = 0;
		break;
}
Описание слайда:
Переключатель – пример (С) switch (x % 6) { case 0 : case 2: x += 2; default : x += 1; break; case 1 : x = 0; break; }

Слайд 17





Переключатель – пример (С)
x%6 вычисляется один раз;
Выбор метки можно реализовать эффективнее (таблица, дихотомия,…)
«Провал» после x+= 2; - важен порядок ветвей
Значения case - константы
Описание слайда:
Переключатель – пример (С) x%6 вычисляется один раз; Выбор метки можно реализовать эффективнее (таблица, дихотомия,…) «Провал» после x+= 2; - важен порядок ветвей Значения case - константы

Слайд 18





Переключатель – пример (Pascal)
switch (x % 6)
{
	case 0 :
	case 2:
		x += 2;
	default :
		x += 1;
		break;
	case 1 :
		x = 0;
		break;
}
Описание слайда:
Переключатель – пример (Pascal) switch (x % 6) { case 0 : case 2: x += 2; default : x += 1; break; case 1 : x = 0; break; }

Слайд 19





Переключатель – пример (Pascal)
Интервалы значений в альтернативых:
 Наглядность
 Возможность транслятору эффективно реализовать переход
Описание слайда:
Переключатель – пример (Pascal) Интервалы значений в альтернативых: Наглядность Возможность транслятору эффективно реализовать переход

Слайд 20





Переключатель – пример 
(Visual Basic)
 Select Case True
        Case n = AscW("<")
            t = t & "&lt;"
        Case n = AscW(">")
            t = t & "&gt;"
        Case n = AscW("&")
            t = t & "&amp;"
        Case n = AscW("'")
            t = t & "&apos;"
        Case n = AscW("""")
            t = t & "&quot;"
        Case n > 254, n < 0
            t = t & "&#x" 
         & Hex(n And &HFFFF) & ";"
        Case Else
            t = t & Chr(n)
End Select
Описание слайда:
Переключатель – пример (Visual Basic) Select Case True Case n = AscW("<") t = t & "&lt;" Case n = AscW(">") t = t & "&gt;" Case n = AscW("&") t = t & "&amp;" Case n = AscW("'") t = t & "&apos;" Case n = AscW("""") t = t & "&quot;" Case n > 254, n < 0 t = t & "&#x" & Hex(n And &HFFFF) & ";" Case Else t = t & Chr(n) End Select

Слайд 21





Переключатель – пример (Fortran)
(CONTINUE – пустой оператор)
Описание слайда:
Переключатель – пример (Fortran) (CONTINUE – пустой оператор)

Слайд 22





Вычисляемые метки (Fortran)
0,1,2,4,100 – метки
0,1,2,6 - константы
Описание слайда:
Вычисляемые метки (Fortran) 0,1,2,4,100 – метки 0,1,2,6 - константы

Слайд 23





Циклы & C°
Синтаксис:
Описание слайда:
Циклы & C° Синтаксис:

Слайд 24





Базовая форма цикла
for (;;)
{
	…
	break;
	…
	continue;
	…
}
Описание слайда:
Базовая форма цикла for (;;) { … break; … continue; … }

Слайд 25





Цикл for

for (Init-expr; 
   Test; 
   Reinit-expr)
{
	…
}
Описание слайда:
Цикл for for (Init-expr; Test; Reinit-expr) { … }

Слайд 26





Циклы while и do…while
while (Test)
{
	…
}
Описание слайда:
Циклы while и do…while while (Test) { … }

Слайд 27





Другие формы цикла
Описание слайда:
Другие формы цикла

Слайд 28





Циклы - SETL
for (int n=2; n<=maxN; n++)
{
	int test = 0, m;
	for (test=0, m=2; m<=n-1 && (test=n % m); m++);
    if (test) 
		printf(“%d “, n);
}
Описание слайда:
Циклы - SETL for (int n=2; n<=maxN; n++) { int test = 0, m; for (test=0, m=2; m<=n-1 && (test=n % m); m++); if (test) printf(“%d “, n); }

Слайд 29





Переменная цикла
Pascal – значение переменной после выполнения цикла неопределено:
for i:=1 to N do
	if A[i] = 0 then break;
WriteLn(i);
Algol-68 – переменная цикла является константой в теле цикла
for i from 1 to N do
	if A[i] = 0 then i:=N+1 fi
od
С – допускается определение переменной в заголовке цикла
for (int i=0; i<N; i++) printf(“%d\n”,i+=2);
Описание слайда:
Переменная цикла Pascal – значение переменной после выполнения цикла неопределено: for i:=1 to N do if A[i] = 0 then break; WriteLn(i); Algol-68 – переменная цикла является константой в теле цикла for i from 1 to N do if A[i] = 0 then i:=N+1 fi od С – допускается определение переменной в заголовке цикла for (int i=0; i<N; i++) printf(“%d\n”,i+=2);

Слайд 30





Границы цикла
Алгол-68, Visual Basic – вычисляются один раз
C – вычисляется каждый раз, поскольку понятия «границы цикла» нет
int L = strlen(s), i;
char * p = s;
for (i=0,p=s; i<L; p++)
      *p == ‘a’ ? (strcpy(p,p+1), L--) : i++;
Описание слайда:
Границы цикла Алгол-68, Visual Basic – вычисляются один раз C – вычисляется каждый раз, поскольку понятия «границы цикла» нет int L = strlen(s), i; char * p = s; for (i=0,p=s; i<L; p++) *p == ‘a’ ? (strcpy(p,p+1), L--) : i++;

Слайд 31





Помеченные циклы
Проблема: break и continue действует на ближайший охватывающий цикл или переключатель
Пример: первая строка матрицы с нулевым элементом
Описание слайда:
Помеченные циклы Проблема: break и continue действует на ближайший охватывающий цикл или переключатель Пример: первая строка матрицы с нулевым элементом



Похожие презентации
Mypresentation.ru
Загрузить презентацию