Инфоурок Информатика ПрезентацииУправление

Управление

Скачать материал
Скачать материал "Управление"

Получите профессию

Копирайтер

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Методические разработки к Вашему уроку:

Получите новую специальность за 3 месяца

Портной

Описание презентации по отдельным слайдам:

  • УправлениеВыражения – вычисление значений
Операторы – последовательность изме...

    1 слайд

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

  • ВыраженияВыражения строятся из
имён переменных
литеральных значений и имён ко...

    2 слайд

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

  • Выражения

    3 слайд

    Выражения

  • Выражения – приоритет операций

    4 слайд

    Выражения – приоритет операций

  • Выражения – приоритет операций (пример)x = (*a[i+1].b + c * 2) & ( (x&y|07)

    5 слайд

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

  • Условные выраженияУсловное
Вычисляется только одна из ветвей	i &lt; 0 || i&gt;=N...

    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;

  • Последовательное выражениеОсмысленно только для выражений с побочным эффектом...

    7 слайд

    Последовательное выражение
    Осмысленно только для выражений с побочным эффектом


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

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

; - пустой, ничего не делать
выр; - вычислить выражение...

    8 слайд

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

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

  • Операторы - пример	y = (x = 1)+1;
loop:
	x += 2;
	goto swap;
	y = y++ + ++x;...

    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;
    «Спагетти» код.
    Область видимости метки - по тем же правилам, что и для других объектов (?)
    Переменная t доступна только внутри блока
    В программе может быть недоступный код
    goto следует использовать только в крайних случаях.

  • Ветвления&amp;C° Выбор одной из ветвей в зависимости от значения выражения (услов...

    10 слайд

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

  • УсловныйСинтаксис:

Пример:if (‘a’

    11 слайд

    Условный
    Синтаксис:

    Пример:
    if (‘a’ <= с && c<=‘z’
    || ‘а’ <= c && c<=‘п’)
    с -= 0x20;
    else if (‘р’ <= c && c<=‘я’)
    c -= 0x50;
    If “a” <= с And c<=“z” _
    Or “а” <= c And c<=“п” Then
    с = Chr(Asc(c)-&H20)
    ElseIf “р” <= c And c<=“я” Then
    c = Chr(Asc(c)-&H50)
    End If
    VB:
    C:

  • Условный оператор или условное выражение?Сравнитьif (‘a’

    12 слайд

    Условный оператор или условное выражение?
    Сравнить
    if (‘a’ <= с && c<=‘z’
    || ‘а’ <= c && c<=‘п’)
    с -= 0x20;
    else if (‘р’ <= c && c<=‘я’)
    c -= 0x50;
    с = (‘a’ <= с && c<=‘z’
    || ‘а’ <= c && c<=‘п’
    ? с - 0x20
    : ‘р’ <=c && c<=‘я’
    ? c - 0x50
    : c);
    Операторы внутри выражений (Algol-68)
    (вещ s:=0; для i = 1 до N цк s+:= A[i] кц; s)

  • Условный оператор или условное выражение?Сравнитьif (x&gt;0)
   if (y&gt;0)
      *...

    13 слайд

    Условный оператор или условное выражение?
    Сравнить
    if (x>0)
    if (y>0)
    *p ++;
    else
    *p --;
    else
    if (y>0)
    *q ++;
    else
    *q --;
    *(x>0 ? p : q) +=
    (y>0 ? 1 : -1)
    Условный оператор не вычисляет значения (а в Algol-68, Автокоде Эльбрус – вычисляет).

  • Арифметический условный(FORTRAN)L = 0, R = N-1, found = 0;
Loop:
if (L

    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:
    L = 0
    R = N-1
    FOUND = 0
    100 IF (L-R) 101,101, 200
    101 I = (L+R) / 2
    IF (A(I) – X) 102, 103, 104
    102 R = I - 1
    GO TO 100
    103 L = I + 1
    GO TO 100
    104 FOUND = 1
    200
    C:

  • ПереключательСинтаксис:





Семантика:
Переход на метку case, соответствующу...

    15 слайд

    Переключатель
    Синтаксис:





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

  • Переключатель – пример (С)switch (x % 6)
{
	case 0 :
	case 2:
		x += 2;
	defa...

    16 слайд

    Переключатель – пример (С)
    switch (x % 6)
    {
    case 0 :
    case 2:
    x += 2;
    default :
    x += 1;
    break;
    case 1 :
    x = 0;
    break;
    }
    int t = x % 6;
    if (t==0) goto L0
    if (t==1) goto L1;
    if (t==2) goto L2;
    goto Ldefault;
    L0 :
    L2 : x += 2;
    Ldefault :x += 1;
    goto Ldone;
    L1 :x = 0;
    goto Ldone;
    Ldone:

  • Переключатель – пример (С)x%6 вычисляется один раз;
Выбор метки можно реализо...

    17 слайд

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

  • Переключатель – пример (Pascal)case x mod 6 of
0, 2: begin
		x := x+2;
		x :=...

    18 слайд

    Переключатель – пример (Pascal)
    case x mod 6 of
    0, 2: begin
    x := x+2;
    x := x+1;
    end;
    1 : x := x+1;
    else
    x := 0;
    end
    switch (x % 6)
    {
    case 0 :
    case 2:
    x += 2;
    default :
    x += 1;
    break;
    case 1 :
    x = 0;
    break;
    }

  • Переключатель – пример (Pascal)case ch of 
&#039;A&#039;..&#039;Z&#039;, &#039;a&#039;..&#039;z&#039; : 
	WriteLn(&#039;Бу...

    19 слайд

    Переключатель – пример (Pascal)
    case ch of
    'A'..'Z', 'a'..'z' :
    WriteLn('Буква');
    '0'..'9' :
    WriteLn('Цифра');
    '+', '-', '*', '/' :
    WriteLn('Оператор');
    else
    WriteLn('Спецсимвол')
    end
    Интервалы значений в альтернативых:
    Наглядность
    Возможность транслятору эффективно реализовать переход

  • Переключатель – пример (Visual Basic) Select Case True
        Case n = AscW...

    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
    Выражения в Case – не обязательно константы
    Последовательный выбор альтернативы
    Полностью эквивалентно If … ElseIf… Else … End If

  • Переключатель – пример (Fortran)(CONTINUE – пустой оператор)int t  = x % 6;
i...

    21 слайд

    Переключатель – пример (Fortran)
    (CONTINUE – пустой оператор)
    int t = x % 6;
    if (t==0) goto L0
    if (t==1) goto L1;
    if (t==2) goto L2;
    goto Ldefault;
    L0 :
    L2 : x += 2;
    Ldefault :x += 1;
    goto Ldone;
    L1 :x = 0;
    Ldone:
    t = X – (X/6)*6 +1
    GOTO (0,1,2,3,3,3) t
    0 CONTINUE
    2 X = X+2
    3 X = X+1
    GO TO 100
    X = 0
    100

  • Вычисляемые метки (Fortran)0,1,2,4,100 – метки
0,1,2,6 - константы       t =...

    22 слайд

    Вычисляемые метки (Fortran)
    0,1,2,4,100 – метки
    0,1,2,6 - константы
    t = X – (X/6)*6 +1
    GOTO (0,1,2,3,3,3) t
    0 CONTINUE
    2 X = X+2
    3 X = X+1
    GO TO 100
    X = 0
    100
    t = X – (X/6)*6
    ASSIGN 3 TO L
    IF (t .EQ.0) ASSIGN 0 TO L
    IF (t .EQ.1) ASSIGN 1 TO L
    IF (t .EQ.2) ASSIGN 2 TO L
    GOTO L, (0,1,2,3)
    0 CONTINUE
    2 X = X+2
    3 X = X+1
    GO TO 100
    1 X = 0
    100

  • Циклы &amp; C°Синтаксис:

    23 слайд

    Циклы & C°
    Синтаксис:

  • Базовая форма циклаfor (;;)
{
	…
	break;
	…
	continue;
	…
}Loop:
{
	…
	goto D...

    24 слайд

    Базовая форма цикла
    for (;;)
    {

    break;

    continue;

    }
    Loop:
    {

    goto Done;

    goto Loop;

    goto Loop;
    }
    Done:

  • Цикл for
for (Init-expr;    Test;    Reinit-expr)
{
	…
}Init-expr;
for (;;)...

    25 слайд

    Цикл for

    for (Init-expr;
    Test;
    Reinit-expr)
    {

    }
    Init-expr;
    for (;;)
    {
    if (! Test)
    break;

    Reinit-expr;
    }

  • Циклы while и do…whilewhile (Test)
{
	…
}for (;Test;)
{
	…
}do
{
	…
} while (...

    26 слайд

    Циклы while и do…while
    while (Test)
    {

    }
    for (;Test;)
    {

    }
    do
    {

    } while (Test);
    for (;;)
    {

    if (!Test) break;
    }

  • Другие формы цикла

    27 слайд

    Другие формы цикла

  • Циклы - SETLfor (int n=2; n

    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);
    }
    print({n in {2..N} |
    forall m in {2..n - 1} | n mod m > 0});

  • Переменная циклаPascal – значение переменной после выполнения цикла неопредел...

    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);

  • Границы циклаАлгол-68, Visual Basic – вычисляются один раз
C – вычисляется ка...

    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++;

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

    31 слайд

    Помеченные циклы
    Проблема: break и continue действует на ближайший охватывающий цикл или переключатель
    Пример: первая строка матрицы с нулевым элементом
    for (i=0; i<n; i++)
    for (j=0; j<N; j++)
    if (A[i][j] == 0)
    break;
    for (i=0; i<n; i++)
    for (j=0; j<N; j++)
    if (A[i][j] == 0)
    goto done;
    done:
    for (i=0; i<n; i++)
    {
    found = 0;
    for (j=0; j<N; j++)
    if (A[i][j] == 0)
    {
    found = 1;
    break;
    }
    if (found) break;
    }
    iloop:
    for (i=0; i<n; i++)
    for (j=0; j<N; j++)
    if (A[i][j] == 0)
    break iloop;
    Java:
    Неправильно:

Получите профессию

Экскурсовод (гид)

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Скачать материал

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

6 663 436 материалов в базе

Скачать материал

Другие материалы

РАБОЧАЯ ПРОГРАММА Учебной дисциплины «ОП.09 Информационные технологии в профессиональной деятельности»
  • Учебник: «Информатика (базовый уровень)», Семакин И.Г., Хеннер Е.К., Шеина Т.Ю.
  • Тема: Глава 1. Информационные системы и базы данных
  • 02.01.2021
  • 593
  • 8
«Информатика (базовый уровень)», Семакин И.Г., Хеннер Е.К., Шеина Т.Ю.

Вам будут интересны эти курсы:

Оставьте свой комментарий

Авторизуйтесь, чтобы задавать вопросы.

  • Скачать материал
    • 04.04.2020 324
    • PPTX 282 кбайт
    • Оцените материал:
  • Настоящий материал опубликован пользователем Бубело Татьяна Андреевна. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

    Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.

    Удалить материал
  • Автор материала

    Бубело Татьяна Андреевна
    Бубело Татьяна Андреевна
    • На сайте: 3 года и 4 месяца
    • Подписчики: 0
    • Всего просмотров: 64830
    • Всего материалов: 212

Ваша скидка на курсы

40%
Скидка для нового слушателя. Войдите на сайт, чтобы применить скидку к любому курсу
Курсы со скидкой

Курс профессиональной переподготовки

Экскурсовод

Экскурсовод (гид)

500/1000 ч.

Подать заявку О курсе

Курс профессиональной переподготовки

Теория и методика обучения информатике в начальной школе

Учитель информатики в начальной школе

300/600 ч.

от 7900 руб. от 3650 руб.
Подать заявку О курсе
  • Сейчас обучается 96 человек из 34 регионов
  • Этот курс уже прошли 222 человека

Курс повышения квалификации

Использование компьютерных технологий в процессе обучения информатике в условиях реализации ФГОС

36 ч. — 144 ч.

от 1700 руб. от 850 руб.
Подать заявку О курсе
  • Сейчас обучается 140 человек из 44 регионов
  • Этот курс уже прошли 1 297 человек

Курс повышения квалификации

Специфика преподавания информатики в начальных классах с учетом ФГОС НОО

72 ч. — 180 ч.

от 2200 руб. от 1100 руб.
Подать заявку О курсе
  • Сейчас обучается 39 человек из 20 регионов
  • Этот курс уже прошли 284 человека

Мини-курс

Основы творческой фотографии

6 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 224 человека из 59 регионов
  • Этот курс уже прошли 35 человек

Мини-курс

Разнообразные методы и формы обучения в высшем образовании

3 ч.

780 руб. 390 руб.
Подать заявку О курсе

Мини-курс

Проектное управление

4 ч.

780 руб. 390 руб.
Подать заявку О курсе