Тема 2 уч практ

Содержание

Слайд 2

if (Условие) {
Команда1;
Команда2;
...
} else {
Команда3;
Команда4;
...
}

Операторы ветвлений

Оператор

if (Условие) { Команда1; Команда2; ... } else { Команда3; Команда4; ...
выбора (проверки условия)
if

if (Условие) {
Команда1;
Команда2;
...
} else {
Команда3;
Команда4;
...
}

if (Условие) {
Команда1;
Команда2;
...
} else {
Команда3;
Команда4;
...
}

if (Условие) {
Команда1;
Команда2;
...
} else {
Команда3;
Команда4;
...
}

if (хорошее_поведение) {
поход_в_зоопарк;
покупка_мороженого;
} else
{
стояние_в_углу;
}

если

иначе

Учебная практика ИВТ I курс

Слайд 3

Учебная практика ИВТ I курс

if (Условие)
{
Команда1;
Команда2;
...
}

Оператор выбора (проверки

Учебная практика ИВТ I курс if (Условие) { Команда1; Команда2; ... }
условия)
if
краткие формы

if (Условие)
Команда1;

if (Условие)
Команда1;
else
Команда2;

if (Условие)
{
Команда1;
Команда2;
...
} else
Команда3;

Слайд 4

Учебная практика ИВТ I курс

Арифметические операции для проверки условия в операторе
if

Учебная практика ИВТ I курс Арифметические операции для проверки условия в операторе if

Слайд 5

Учебная практика ИВТ I курс

Оператор выбора (проверки условий)
switch

Switch (Переменная){
case

Учебная практика ИВТ I курс Оператор выбора (проверки условий) switch Switch (Переменная){
Значение1:
Команда1;
Команда2;

break;
case Значение2:
Команда3;
Команда4;

break;

default:
Команда5;
Команда6;

break;
}

Switch (Переменная){
case Значение1:
Команда1;
Команда2;

break;
case Значение2:
Команда3;
Команда4;

break;

default:
Команда5;
Команда6;

break;
}

Switch (Переменная){
case Значение1:
Команда1;
Команда2;

break;
case Значение2:
Команда3;
Команда4;

break;

default:
Команда5;
Команда6;

break;
}

Switch (Переменная){
case Значение1:
Команда1;
Команда2;

break;
case Значение2:
Команда3;
Команда4;

break;

default:
Команда5;
Команда6;

break;
}

switch (Переменная){
case Значение1:
Команда1;
Команда2;

break;
case Значение2:
Команда3;
Команда4;

break;

default:
Команда5;
Команда6;

break;
}

переключение

случай

разрыв

умолчание, неисполнение

метки

Слайд 6

Учебная практика ИВТ I курс

Оператор выбора (проверки условий)
switch

switch (оценка_по_математике){
case

Учебная практика ИВТ I курс Оператор выбора (проверки условий) switch switch (оценка_по_математике){
1:
стояние_в_углу;
break;
case 2:
сидение_дома;
мытьё_полов;
break;
case 3:
сидение_дома;
мытьё_посуды;
break;
default:
поездка_на_рыбалку;
break;
}

Слайд 7

Учебная практика ИВТ I курс

Замена оператора
switch на if

if(оценка_по_математике == 1)

Учебная практика ИВТ I курс Замена оператора switch на if if(оценка_по_математике ==

стояние_в_углу;
else
{
if(оценка_по_математике == 2)
{
сидение_дома;
мытьё_полов;
} else
{
if(оценка_по_математике == 3)
{
сидение_дома;
мытьё_посуды;
} else
поездка_на_рыбалку;
}
}

switch (оценка_по_математике)
{
case 1:
стояние_в_углу;
break;
case 2:
сидение_дома;
мытьё_полов;
break;
case 3:
сидение_дома;
мытьё_посуды;
break;
default:
поездка_на_рыбалку;
break;
}

Слайд 8

Учебная практика ИВТ I курс

if(оценка_по_математике == 1)
стояние_в_углу;
else {
if(оценка_по_математике

Учебная практика ИВТ I курс if(оценка_по_математике == 1) стояние_в_углу; else { if(оценка_по_математике
== 2){
сидение_дома;
мытьё_полов;
} else {
if(оценка_по_математике == 3){
сидение_дома;
мытьё_посуды;
} else
поездка_на_рыбалку;
}
}
В программировании различают знак присваивания "="
и знак сравнения "=="

Слайд 9

Учебная практика ИВТ I курс

Истина и Ложь в программировании – это значения,

Учебная практика ИВТ I курс Истина и Ложь в программировании – это
которые могут принимать переменные специального типа boolean

логический

Переменные типа boolean могут иметь
только два значения:
true и false

истина

ложь

Слайд 10

Учебная практика ИВТ I курс

Операторы циклов

Оператор цикла с предусловием
while

while(условие) {    Команда1;    Команда2;   

Учебная практика ИВТ I курс Операторы циклов Оператор цикла с предусловием while
Команда3;
… }

координаты_1 = дом;
координаты_2 = школа;
while(коордитаты_1 != координаты_2) {    шаг;    пересчет_координаты_1; }

пока

Слайд 11

Оператор цикла
for

for (инициализация; условие; изменение) {    Команда1;    Команда2;    Команда3;
… }

для

выражение присваивает начальное значение

Оператор цикла for for (инициализация; условие; изменение) { Команда1; Команда2; Команда3; …
параметру цикла

i=i+1; → ++i;

i=i-1; → --i;

for (инициализация; условие; изменение) {    Команда1;    Команда2;    Команда3;
… }

выражение проверяет условие выполнения цикла

1

4

выражение изменяет параметр цикла
инкремент (+)
декремент (-)

2

3

7

5

6

8

9

10

for(int i=1;i<3;++i)
{
digitalWrite(lamp1+1, HIGH);
digitalWrite(lamp1+3, HIGH);
delay(500);
digitalWrite(lamp1+1, LOW);
digitalWrite(lamp1+3, LOW);
delay(500);
}

11

Учебная практика ИВТ I курс

Слайд 12

Учебная практика ИВТ I курс

координаты_2 = школа;
for(коордитаты_1 = дом; коордитаты_1 != координаты_2;

Учебная практика ИВТ I курс координаты_2 = школа; for(коордитаты_1 = дом; коордитаты_1
шаг) {   пересчет_координаты_1; }

Оператор цикла с постусловием
for

Операторы циклов

координаты_1 = дом;
координаты_2 = школа;
while(коордитаты_1 != координаты_2) {    шаг;    пересчет_координаты_1; }

Слайд 13

Учебная практика ИВТ I курс

Собственные процедуры

Процедура – это часть кода, которому назначено

Учебная практика ИВТ I курс Собственные процедуры Процедура – это часть кода,
какое-то имя

Процедуры используют для:
1) сокращения кода;
2) удобства;
3) наглядности.

void помыть _руки()
{
зайти_в_ванную()
включить_кран()
намылить_руки()
смыть_с_рук_мыло()
выключить_кран()
}

Слайд 14

void имяПроцедуры(ТипАргумента1 имяАргумента1,
ТипАргумента2 имяАргумента2, …)
{
Команда1;   Команда2;   Команда3;
… }

процедура

ТипВозвращаемогоЗначения имяФункции(
ТипАргумента1

void имяПроцедуры(ТипАргумента1 имяАргумента1, ТипАргумента2 имяАргумента2, …) { Команда1; Команда2; Команда3; … }
имяАргумента1,
ТипАргумента2 имяАргумента2, …)
{
Команда1;   Команда2;   Команда3;

return возвращаемаяПеременная; }

функция

void setupMotorShield()
{
pinMode(leftDirPin, OUTPUT);
pinMode(leftSpeedPin, OUTPUT);
pinMode(rightDirPin, OUTPUT);
pinMode(rightSpeedPin, OUTPUT);
}

int sum(int a, int b)
{
int c = a + b;
return c; }

Аргументы – это некоторые переменные, которые передаются в процедуру

Слайд 15

Учебная практика ИВТ I курс

Массив – это индексированный, то есть пронумерованный, список

Учебная практика ИВТ I курс Массив – это индексированный, то есть пронумерованный,
элементов.
Массив является переменной, которую нужно объявлять (инициализировать).

int myPins[3] = {2, 4, 8};

типЭлементовМассива имяМассива[количествоЭлементов] =
{Элемент1, Элемент2, ...};

char команда[3] = {Иванов, Петров, Сидоров};

Х = команда[2];

Х = Сидоров

0 1 2

индекс

Слайд 16

Учебная практика ИВТ I курс

Инициализация массива

Учебная практика ИВТ I курс Инициализация массива

Слайд 17

Учебная практика ИВТ I курс

Пример задания режимов работы пинов с помощью оператора

Учебная практика ИВТ I курс Пример задания режимов работы пинов с помощью
for

int ledPin[4]={10,4,6,2};
int i;
void setup ()
{
for(i=0;i<4;++i)
pinMode(ledPin[i],OUTPUT);
}

i=0

0<4

true

ledPin[0]

устанавливаем 10 пин

i=1

1<4

true

ledPin[1]

устанавливаем 4 пин

i=4

4<4

false

выходим из цикла

Слайд 18

Тип «символ» при инициализации обозначается как char.

Строка – это массив букв.

Слово

Тип «символ» при инициализации обозначается как char. Строка – это массив букв.
«dog» - это массив элементов с типом «символ».

char theword[4] = {‘d’, ‘o’, ‘g’, 0x00};

1

2

3

терминальный ноль

char theword[ ] = “dog”;

количество элементов будет вычислено автоматически
theword[0] = ‘f’;

К символам строки можно обращаться отдельно, т.е. по индексу.

“fog”

int myPins[3] = {2, 4, 8};

двойные кавычки

char theword[ ] = “dog”;

Учебная практика ИВТ I курс

Слайд 19

Учебная практика ИВТ I курс

Таблица символов в кодировке ASCII

символ

десятичный код символа

шестнадцатеричный код

Учебная практика ИВТ I курс Таблица символов в кодировке ASCII символ десятичный
символа

Таблица, ставящая в соответствие каждому символу свой код, называется кодировкой.

Слайд 20

Учебная практика ИВТ I курс

ASCII используется в программировании для определения кодов нажатых

Учебная практика ИВТ I курс ASCII используется в программировании для определения кодов
символов на клавиатуре, либо кодирования/декодирования, экранирования, анализа данных.

ASCII – это американский стандартный код для обмена информацией.

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

Каждый символ имеет свой числовой код в диапазоне от 0 до 255 (один байт).

Слайд 21

Учебная практика ИВТ I курс

Коды служебных символов в кодировке ASCII

char theword[4];
theword[0] =

Учебная практика ИВТ I курс Коды служебных символов в кодировке ASCII char
0x64;
theword[1] = 0x6F;
theword[2] = 0x67;

Слово «dog», записанное при помощи кодов

переход на начало строки

переход на новую строку

theword[3] = 0x00;

Слайд 22

Учебная практика ИВТ I курс

Пьезоизлучатель звука переводит переменное напряжение в колебание мембраны,

Учебная практика ИВТ I курс Пьезоизлучатель звука переводит переменное напряжение в колебание
которая в свою очередь создаёт звуковую волну.

buzzer – звонок, звуковой сигнал, гудок

Внешний вид пьезоэлемента

Обозначение на схемах пьезоэлемента

Пьезодинамик – это конденсатор, который звучит при зарядке и разрядке.

Пьезоэлемент изменяет свой размер, когда на него подаётся напряжение, и возвращается к первоначальному размеру, если напряжение снять.

Слайд 23

Учебная практика ИВТ I курс

Звук характеризуется частотой и амплитудой

скорость вибрации частиц воздуха

размах

Учебная практика ИВТ I курс Звук характеризуется частотой и амплитудой скорость вибрации
колебаний

звуки с большей амплитудой громче

звуки с большей частотой выше (сопрано)

Нота До первой октавы

частота – 261,63 Гц (столько колебаний в секунду)

период – 1/261,63 = 3,822 мс (полное колебание)

низкий громкий звук

низкий тихий звук

высокий громкий звук

высокий тихий звук

Слайд 24

Учебная практика ИВТ I курс

Основные характеристики пьезоэлемента

Звук – это периодическое сгущение и

Учебная практика ИВТ I курс Основные характеристики пьезоэлемента Звук – это периодическое
разряжение воздуха.

Высота звука – это частота этих сгущений и разряжений.

Слайд 25

Учебная практика ИВТ I курс

Устройство динамика

Учебная практика ИВТ I курс Устройство динамика

Слайд 26

tone (аргумент1, аргумент2, аргумент3)

Встроенная функция tone используется для генерации звуков произвольной частоты

номер

tone (аргумент1, аргумент2, аргумент3) Встроенная функция tone используется для генерации звуков произвольной
пина Arduino для генерации волны

частота сигнала

продолжительность звучания (необязательный аргумент)

strlen (аргумент1)

Встроенная функция strlen подсчитывает количество символов в строке до терминального нуля

строка

Учебная практика ИВТ I курс

Слайд 27

Встроенная функция
millis()

возвращает текущее время (с момента включения Arduino) в милиссекундах

Арифметическая операция

Встроенная функция millis() возвращает текущее время (с момента включения Arduino) в милиссекундах
%

остаток от деления двух операндов
x = y % 2;

Тип данных
long

длинный целый
Занимает 4 байта памяти
Диапазон значений:
-2 147 483 648..2 147 483 647

Учебная практика ИВТ I курс

Слайд 28

Учебная практика ИВТ I курс

Схема подключения пьезоэлемента

Учебная практика ИВТ I курс Схема подключения пьезоэлемента

Слайд 29

Учебная практика ИВТ I курс

Задание

Соберите на макетной плате схему, состоящую из 5-ти

Учебная практика ИВТ I курс Задание Соберите на макетной плате схему, состоящую
светодиодов и пьезоэлемента.
Запрограммируйте контроллер на включение нужного количества светодиодов одновременно в зависимости от значения переменной:
- если значение переменной находится в диапазоне от 1 до 5, то одновременно загорается столько светодиодов, чему равно значение переменной;
- если значение переменной меньше 1, то мигает 1-й светодиод;
- если значение переменной больше 5, то мигает 5-й светодиод.
Каждый из режимов работы должен сопровождаться звучанием одной из нот 1 октавы.
При программировании необходимо использовать операторы for (или while), if, switch. При задании номера пинов необходимо использовать массив.