Помогите написать код по информатике
Найти сумму всех целых чисел от 1 до n
Только сделать это на всех видах циклов
Делаем монитор своими руками
Всем привет! Рад, что понравился мой предыдущий пост про ZX Spectrum. Решил также сделать небольшую вырезку о том, как сделан компьютерный монитор (устройство для вывода плоского изображения). Также мы с вами попробуем построить некое его подобие из подручных средств.
Наш монитор, в общем то, состоит из:
- Матрицы (непосредственно превращающей электрический сигнал в световой)
- Схемы управления (содержит задающий генератор, устройство синхронизации, дешифратор, видеобуфер).
Давайте начнём с матрицы. Возьмём для примера LED-матрицу 8 на 8 пикселей. Вот она:
При разрешении всего лишь 8 на 8, в данной матрице, не много ни мало, 64 светодиода - и 128 проводов! Их необходимо адресовать (соединить). Благо, разработчики всё продумали - вертикальные и горизонтальные ряды можно объединить в линейку, сократив общее количество проводов до 16 штук. При этом, мы не теряем возможность зажечь каждый светодиод по отдельности. Вот, как это выглядит:
А для создания платы управления монитора, возьмём ещё несколько деталей:
Верхняя плата - тактовый генератор (формирует стробирующий сигнал, иначе говоря, задаёт темп работы схемы).
Для того, чтобы увидеть изображение, нам необходимо выполнить его развёртку. То есть, прочёсывание экрана из одной стороны в другую (либо слево направа, либо сверху вниз, это роли не играет). В этом нам поможет синхронизация монитора.
Для синхронизации вводится микросхема "синхронный счётчик", выполненный на отечественной микросхеме К555ИЕ5. Каждый такт генератора он добавляет +1 к своему численному значению. Давайте настроим и проверим данный счетчик:
Как можно видеть, светодиод стробирующего сигнала (в правом верхнем углу) мигает, а в нашей схеме в такт ему происходит счет от 1 до 8, пока что в двоичной системе. В конце счет сбрасывается, и всё начинается по кругу. Таким образом реализуется "прочёс" экрана, за каждый такт - сдвиг на 1 линейку.
Теперь, данный сигнал необходимо расшифровать. Нам поможет микросхема К555ИД7, дешифрующая сигнал из линий (синие светодиоды), в сигнал из 8 линий, который мы подключим к нашей матрице. Смотрим, как она работает:
Мы собрали типичную схему "бегущие огни". Здесь осуществляется "прочёс" светодиодов по кругу. Тот, который соответствует текущей цифре на счетчике, выключается. Теперь давайте попробуем подключить данную линию к нашей матрице, и посмотреть, что получится:
Мы сделали горизонтальную синхронизацию. К слову, в компьютерных мониторах и телевизорах синхронизация тоже очень важна - обычно, для неё выделяется отдельный провод. Так как тактовые генераторы в источнике видеосигнала и мониторе изначально не согласованы, данный сигнал (H-SYNC или CLK) и позволяет отследить, с какого момента и с какой скоростью начать прочёс, чтобы изображение не было сдвинуто или сжато/растянуто.
Давайте я продемонстрирую вам, каким образом будет происходить пиксельная развёртка:
Как я ранее упоминал, мы можем зажигать отдельные пиксели по очереди. Для этого, нужно в такт генератору и горизонтальной развёртке включать/выключать соответствующие, теперь уже вертикальные сигналы колонок. Похожим образом работает, в том числе, кинескопный телевизор, да и любой другой.
Осталось сформировать вертикальный сигнал. Давайте установим видеобуфер. Пока в качестве него вместо ОЗУ у меня будет ПЗУ (такая большая микросхема, т.к. других не было, но задействуем мы всего лишь первые 8 байт от неё). Эти 8 байт - наша экранная память (кадр), в которой хранится изображение. Это при том, что уровня яркости всего лишь два, и дисплей "монохромный" -не содержит цветов. Двоичный выход со счетчика дублируется, и подается на адресные входы ПЗУ. Давайте соберём, и посмотрим, как будет себя вести наше устройство:
Я ускоряю частоту тактового генератора, и таким образом, изображение становится "статичным" - оно по-прежнему построчно мерцает, но глазу и камере этого уже не заметно. В ПЗУ был записан какой-то мусор. Но картинка стабильна с течением времени, пиксели не мерцают, значит, схема собрана верно. Давайте попробуем нарисовать какой-нибудь кадр, и вывести его на монитор.
Данная картинка (bmp) 1-бит - конвертируется в набор HEX-значений. Вот он:
3C 42 91 85 85 91 42 3C
Это и будет наш кадр. Теперь давайте пропишем его в наш импровизированный "видеобуфер". Для этого я воспользуюсь китайской платой Mega 2560 и самодельным переходником под память.
К слову, с программированием данного ПЗУ тоже не всё так просто. Сначала, нужно передать код разблокировки ПЗУ, а лишь затем, информацию. Это тема для отдельного поста. Вот, что по итогу получается:
Как можно видеть, наш код успешно внесён в ПЗУ. Давайте попробуем запустить:
В общем, таким образом формируется наш кадр. А для вывода информации с источника сигнала в реальном времени, видеобуфер следует несколько усложнить - применив, например, двойную буферизацию: в одну микросхему загружается информация из компьютера, тогда как из другой она отображается. Затем эти микросхемы быстро переключаются между собой. Таким образом, не возникает проблем ни с доступом к памяти, ни с мерцанием пикселей - картинка есть всегда.
Всем спасибо за внимание, с вами был Kekovsky, 2023 г.
Посоветуйте пожалуйста курс по программированию
Посоветуйте пожалуйста курс по С++ для школьника 16 лет.
Если в двух словах, то чтобы был подробным с самых азов, последовательным, понятным и эффективным.
Спасибо!
Кому не лень читать много букв, вот подробная инфа🙂:
Ребенку 16 лет, 10 класс. В школе информатика проводится можно сказать номинально. Сейчас ходит на двухгодовые подготовительные курсы для поступления в институт. На курсах три предмета, математика, физика, информатика. С физикой и математикой и в школе и на курсах у него всё в порядке, а с информатикой проблема. На курсах никакой базовой и фундаментальной теории информатики, чистое изучение программирования. Информация даётся поверхностно, абсолютно не структурированно, на каждом занятии новая тема, никакого тщательного разбора, и поэтому для людей которые в программировании ни в зуб ногой практически бесполезно. С теми знаниями которые у него есть, из тех задач которые даются на курсах, он понимает половину слов, и смысл очень приблизительно.
Плюс в том, что программированием и основами ООП я владею на уровне любителя энтузиаста, так или иначе знаю Java, Python, у них там С++, но немного гуглинга, и все задачи которые им там дают мне абсолютно понятны, и всё это мы можем с ним разобрать и решить. Только проблема в том что у меня на это крайне мало времени, а решение урывками пары-тройки задач к его глобальному пониманию об информатике и программировании мне кажется мало что даст. Ну не сложится у него общая картина через решение не связанных между собой задач.
По-хорошему ему бы для начала повторить и усвоить школьную программу по информатике чтобы понимать как работает компьютер и т.д., но в принципе мне кажется если досконально проходить курс программирования, то навык и умение в итоге всё равно будут приобретены, пусть и так сказать более высокоуровневые.
Так же плюс в пользу онлайн курса в том, что если нет времени подсказать и помочь, то всегда в курсе есть ссылки для самостоятельного изучения материала, который поможет в прохождении.
Ну а при наличии времени конечно буду подсказывать и помогать.
Он по моему совету пару раз подходил к преподавателям и говорил что это непонятно, скажите какой материал изучить чтобы стало понятно. Не знаю в нём ли причина или в преподавателях, но безрезультатно.
Единицы измерения информации | Информатика
В этом видео мы поговорим про минимальную единицу измерения информации, а также рассмотрим правила перевода межу единицами информации.
Учебники по информатике и математике
Всем доброго времени суток. Я закончил школу два года назад, и все это время не мог решить кем стану когда вырасту, провел их в поисках себя и на различных работах/подоаботках. В итоге решил поступать по ИТ специальности, но как оказалось, я успел подзабыть большую часть нужного материала. Теперь, мне нужны какие нибудь хорошие учебники, которые смогут освежить мою память и основательно подготовить к ЕГЭ. Сначала,хотел взять в руки школьную программу, но вспомнил что там воды больше, чем в Тихом океане и решил что ну его нафиг. Так вот, может кто знает, хорошие учебники в которых всё изложено максимально лаконично, без лишней воды и с хорошими объяснениями? Буду очень благодарен.
Ответ на пост «Урок информатики»
Самым насыщенным, на тот период 91-93год, компьютерными классами на душу населения в стране был Нижневартовск. На город 300т населения было больше 20 классов только на базе ДВК-БК0010, классы устанавливались не только в школах но и в детских садах (благодаря этому удалось устроить в детский сад дочку - занимался установкой и обслуживанием этих классов). Классы были организованы на базе ДВК- место преподавателя и БК-0010 место ученика. Загрузка программ производилась по сети . Организовал доставку и установку в город этих комплексов Пахарев Владимир Матвеевич, преподаватель информатики пед. училища на тот момент. в городе и окрестных поселках были и другие комплексы, ямахи, агаты, еще какие то (за давностью лет не помню название) практически во всех пришлось покопаться . Агаты стояли в деревне, в близ лежащих городах их не было. При монтаже классов даже мебель специализированную делали -отдельная бригада была по мебели.
Сможете найти на картинке цифру среди букв?
Справились? Тогда попробуйте пройти нашу новую игру на внимательность. Приз — награда в профиль на Пикабу: https://pikabu.ru/link/-oD8sjtmAi
Урок информатики
Компьютерный класс в школе в 80-е годы прошлого века. На фото знаменитые компьютеры «Агат-4», которые в 1983 вышли с производства. На них был установлен софт «Школьник», а оперативная память составляла 64 кб.