2018 ИНФОРМАТИКА И ПРОГРАММИРОВАНИЕ ПИб-1курс ЛЕК=14шт Л/Р=11шт СРС=72ч 2019 Курс: Алгоритмы на Python https://goo.gl/KLKKPZ папка с презентациями Лекций https://goo.gl/dZxpGg рейтинг и оценки Если в аудитории нет Пайтона, то работаем он-лайн тут: https://trinket.io/features/python3 Программа для ТЕСТИРОВАНИЯ: https://pCoding.ru/download/-TEST-.zip ============== 2 семестр ============== Лекция 2 - Функции 01 def decToBin(dec): bin = "" while dec > 0: bin = str(dec % 2) + bin dec //= 2 return bin dec = int(input("Введите десятичное число - ")) print("dec =", dec, "\nbin =", decToBin(dec)) 02 def binToDec(bin): dec = 0; st = len(bin) for i in range(st): st -= 1 dec += int(bin[i]) * 2 ** st return dec bin = input("Введите двоичное число - ") print("dec =", binToDec(bin), "\nbin =", bin) 03 def recSumma(n): if n==0: return 0 # базис рекурсии else: return recSumma(n-1) + n n = 100 print(recSumma(n)) 04 def decToBin(dec): if dec==0: # базис рекурсии return '' else: # шаг рекурсии return decToBin(dec//2) + str(dec%2) dec = int(input("Введите десятичное число - ")) print("dec =", dec, "\tbin =", decToBin(dec)) ============== 1 семестр ============== Ссылка на плейлист - видео с Лекциями и дистанционными занятиями: https://www.youtube.com/playlist?list=PL2PI4EDhLXozBzc5NdtvFU-Ve6eVi0Kp- Телеграм-канал - тут оперативно: где какие занятия и что делать: https://t.me/joinchat/AAAAAEiRgXeGoC5Qwy7wSg Что нужно иметь на компьютере и как настроить (можно установить заранее, можно вместе со мной на Л/Р 27.11.2018): https://pcoding.ru/pdf/readmeHosting.pdf Пример оформления страницы с решениями лабораторок для Дистанционных занятий: http://t919492h.beget.tech/ Ссылка на документ куда можно вставлять кусочки своего кода: https://goo.gl/qhpyTF а я их увижу и смогу поискать ошибку и прокомментировать Смотрим Плейлист «Азбука программирования» с сайта https://pcoding.ru/ Используем Справочник по JS https://pcoding.ru/pdf/jsManual.pdf Читаем Методичку по Алгоритмизации https://pcoding.ru/pdf/algo.pdf Редактор блок-схем алгоритмов: https://pcoding.ru/res/redaktor.rar Он-лайн редактор блок-схем алгоритмов: https://www.draw.io/ требования по Дисциплине: - посещать лекции, так как без них не понять что и как делать - до лабораторки: дома тренироваться самому по примерам с лекции - на лабораторке: приходить на лабораторки, выполнять задания ==================================================== итоговая оценка за дисциплину складывается по итогам работы на лабораторках и выполнения тестов ЭКЗАМЕН: в форме собеседования с решением практических заданий (только для тех, кого не удовлетворила оценка выше) ==================================================== ТЕМЫ Диалоги, ветвления, циклы, операции, шифрование. Массивы. Файлы. Функции. Модульное программирование Генерация HTML-документа Кодирование цвета Событийное программирование ---------------------------------------------------- ЛЕКЦИИ - Найти нужное: CTRL+"Лекция N" ---------------------------------------------------- Лекция _ Анимация | 20_12_2018 Реакция на событие Убегающая кнопка Принудительное движение Снежинки Миньон Спиннер Солнечная Система Лекция _ Программирование микроконтроллеров 0) API (англ. application programming interface) или программный интерфейс приложения - это описание способов (набор классов, функций, структур, констант), которыми одна компьютерная программа может взаимодействовать с другой программой. API определяет функциональность, которую предоставляет модуль/ библиотека. API позволяет абстрагироваться от того, как именно эта функциональность реализована. 1) Функции функции как выражения Объекты-функции Анонимные функции Функция как аргумент 2) Датчики Температуры Компас Освещённости Наклона Встряхивания Индикаторы (позиция и яркость) 3) Примеры программ 1. Счётчик 2. Заполнение по строчное 3. С переменной яркостью ------------------------------------------------------ let cls = function () { basic.clearScreen(); } let cls_ = () => basic.clearScreen(); input.onButtonPressed(Button.B, cls_); input.onButtonPressed(Button.A, () => basic.showNumber(input.temperature()) ) basic.showString("Hello!"); function print() { return "Hello Word!"; } let print_ = function () { return "Hello Word!"; } let print__ = () => "Hello Word!"; basic.showString(print__()); ------------------------------------------------------ Температура input.onButtonPressed(Button.A, () => { basic.showNumber(input.temperature()) }) ------------------------------------------------------ let max = 25 basic.forever(() => { led.plotBarGraph( input.temperature(), max ); basic.pause(500); }) ------------------------------------------------------ Освещённость basic.showNumber(input.lightLevel()); Светодиоды led.plotAll(); ------------------------------------------------------ let num = 0; let step = 10; let brightness = 0; let size = 5; input.onButtonPressed(Button.B, () => basic.clearScreen()); input.onButtonPressed(Button.A, function () { while (num < size ** 2) { let posX = Math.floor(num / size); let posY = num % size; brightness = ++num * step; led.plotBrightness(posY, posX, brightness); basic.pause(200); } }) ------------------------------------------------------ let pos = 0; let size = 5; input.onButtonPressed(Button.A, function () { for (let row = 0; row < size; row++) { for (let col = 0; col < size; col++) { led.plot(col, row); basic.pause(200); } } }); input.onButtonPressed(Button.B, function () { basic.clearScreen(); }); ------------------------------------------------------ let f_Reset = function () { basic.clearScreen(); } let reset = () => basic.clearScreen(); input.onButtonPressed(Button.A, function () { basic.showLeds(` . # . # . # . # . # # . . . # . # . # . . . # . . `) }) input.onButtonPressed(Button.B, reset) ------------------------------------------------------ let smb = IconNames.Yes; let smbs = [IconNames.Yes, IconNames.No, IconNames.Snake]; basic.forever(function () { let pos = Math.randomRange(0, 3); smb = smbs[pos]; basic.showIcon(smb); basic.pause(1000); }) ------------------------------------------------------ let f_Reset = function () { basic.clearScreen(); } let reset = () => basic.clearScreen(); let print_H = () => basic.showLeds(`. # . # .\n# . # . #\n# . . . #\n. # . # .\n. . # . .\n`); input.onGesture(Gesture.Shake, function () { basic.showIcon(IconNames.Sad) }) input.onButtonPressed(Button.A, print_H) input.onButtonPressed(Button.B, reset) ------------------------------------------------------ компас let a = 0 a = input.compassHeading() basic.showNumber(a) input.onButtonPressed(Button.A, () => { a = input.compassHeading() basic.showNumber(a) }) input.onButtonPressed(Button.B, () => { basic.clearScreen() }) ------------------------------------------------------ наклон basic.forever(function () { let arrow = 0; let x = input.acceleration(Dimension.X); let y = input.acceleration(Dimension.Y); arrow = x>0? 2: 6; basic.showArrow(arrow); basic.pause(100); }) ------------------------------------------------------ let posY = 2; let posX = 2 let stepX = 0; let stepY = 0; function setNewPos() { led.unplot(posX, posY); posX += stepX; posY += stepY; led.plot(posX, posY); } function reset() { led.unplot(posX, posY); posX = 2; posY = 2; led.plot(posX, posY); } input.onButtonPressed(Button.AB, function () { reset(); }) input.onButtonPressed(Button.A, function () { stepX = -1; stepY = 0; setNewPos(); }) input.onButtonPressed(Button.B, function () { stepX = +1; stepY = 0; setNewPos(); }) basic.forever(function () { let x = input.acceleration(Dimension.X) let y = input.acceleration(Dimension.Y) if (y < 0 - 199) { stepX = 0; stepY = -1; setNewPos(); } if (y > 0 + 199) { stepX = 0; stepY = +1; setNewPos(); } basic.pause(600); }) ------------------------------------------------------ Лекция _ Событийное программирование 1) Как это работает, какие события? 2) Способы обработки событий. Где размещать код... 3) Пример программы. Способ 1 - обработчик на уровне html
" + String(row*col) + " | "; } str += "