Дано растровое изображение в 24-х битной цветовой модели RGB, разбитое на 16 квадратов, каждый из которых залит одним цветом. Ка
ждый квадрат обозначен латинской буквой, как показано на рисунке справа. Исходное изображение
Цвета квадратов приведены в таблице: R G B A 0 190 160 B 0 165 160 C 0 140 185 D 0 150 170 E 0 140 160 F 0 120 130 G 0 140 110 H 0 130 170 I 0 120 190 J 0 90 160 K 0 115 160 L 0 140 130 M 0 160 190 N 0 140 145 O 0 140 210 P 0 160 130
Цветовая модель RGB может быть представлена в виде трехмерного пространства с прямоугольной системой координат и осями R, G и B соответственно. Тогда цвет любого пикселя может быть определен как точка в этом трехмерном пространстве. Инструмент «волшебная палочка» в большинстве графических редакторов работает следующим образом. У инструмента есть один параметр T – чувствительность. Пользователь применяет инструмент к одному из пикселей изображения – исходному пикселю. Считываются цветовые координаты исходного пикселя (значения R, G и B для цвета этого пикселя) и тем самым определяется точка в пространстве RGB. Строится шар радиусом T с центром в этой точке. Затем выделяются все пиксели изображения, для которых выполняется следующая пара условий: 1. Точка в пространстве RGB, соответствующая цвету этого пикселя, находится внутри или на границе построенного шара. 2. Между этим пикселем и исходным пикселем можно построить путь, проходящий через смежные (имеющие общую границу) пиксели, для которых точки пространства RGB также находятся внутри или на границе построенного шара. Определите минимальное значение параметра T, такое, что существует хотя бы один пиксель на исходном изображении, применение к которому инструмента «волшебная палочка» приведёт к выделению всех пикселей этого изображения. В ответе укажите через пробел сначала латинскую букву, обозначающую квадрат, содержащий этот пиксель к которому нужно применить инструмент, а затем целое число - найденное минимальное значение T. Примечание. В задании описано стандартное поведение инструмента «Волшебная палочка» без опций сглаживания и других дополнительных опций.
Если надо, чтобы выделились все пиксели, T должно быть не меньше, чем расстояние от исходной точки до самой дальней (в пространстве RGB). При этом расположение ячеек не играет роли. Остается перебрать все варианты начальных точек, для каждого найти наименьшее Т, и из полученных значений выбрать минимальное.
Код (python 3.5): from math import sqrt, ceil points = [["A",0,190,160],["B",0,165,160],["C",0,140,185],["D",0,150,170], ["E",0,140,160],["F",0,120,130],["G",0,140,110],["H",0,130,170], ["I",0,120,190],["J",0,90,160],["K",0,115,160],["L",0,140,130], ["M",0,160,190],["N",0,140,145],["O",0,140,210],["P",0,160,130]] minT2 = 3*256**2 minpt = "A" for pt in points: T2 = 0 for pt2 in points: T2 = max(T2, (pt[1]-pt2[1])**2+(pt[2]-pt2[2])**2+(pt[3]-pt2[3])**2) if T2 < minT2: minpt, minT2 = pt[0], T2 print(minpt, ceil(sqrt(T2)))
Var n:integer; c:string; begin write('Введите число от 10 до 9999 ->'); readln(n); Str(n,c); writeln('Предпоследняя цифра в числе равна ',c[length(c)-1]) end.
Пример работы программы:
Введите число от 10 до 9999 ->1523 Предпоследняя цифра в числе равна 2
Какую информацию несёт: она несёт много информации. Во-первых, это физическое тело, которое имеет прямоугольную форму, созданная из жёсткого материала. Запаха книга не имеет, звука не издает.
Эту информацию мне помогли определить органы чувств: зрения, осязания, слуха, обоняния.
ЭВМ появились, когда возникла острейшая необходимость в очень трудоемких и точных расчетах, особенно в таких областях науки и техники, как атомная физика и теория динамик полета и управления летательными аппаратами, в исследовании аэродинамики больших скоростей. Между тем доэлектронная вычислительная техника (механическая и электромеханическая) позволяла только в ограниченной степени механизировать процессы вычислений. Требовался переход к элементам, работающим в более быстром темпе. Технические предпосылки для этого уже были созданы: развивалась электроника и счетно-аналитическая вычислительная техника. Идеи создания электронных вычислительных машин возникли в конце 30-х - начале 40-х гг. независимо друг от друга в четырех странах: СССР, США, Великобритании и Германии. Во время второй мировой войны (с 1939 по 1945г.) были построены несколько первых электромеханических компьютеров. Первым электронным компьютером стал английский COLOSSUS-1, использующийся для расшифровки секретного кода, который применяла Германия для передачи сообщений особой важности. Аналоговые вычислительные машины (АВМ). В АВМ все математические величины представляются как непрерывные значения каких-либо физических величин. Главным образом, в качестве машинной переменной выступает напряжение электрической цепи. Их изменения происходят по тем же законам, что и изменения заданных функций. В этих машинах используется метод математического моделирования (создаётся модель исследуемого объекта). Результаты решения выводятся в виде зависимостей электрических напряжений в функции времени на экран осциллографа или фиксируются измерительными приборами. Основным назначением АВМ является решение линейных и дифференцированных уравнений. Электронные вычислительные машины (ЭВМ). В отличие от АВМ, в ЭВМ числа представляются в виде последовательности цифр. В современных ЭВМ числа представляются в виде кодов двоичных эквивалентов, то есть в виде комбинаций 1 и 0. В ЭВМ осуществляется принцип программного управления. ЭВМ можно разделить на цифровые, электрифицированные и счётно-аналитические (перфорационные) вычислительные машины. ЭВМ разделяются на большие ЭВМ, мини-ЭВМ и микроЭВМ. Они отличаются своей архитектурой, техническими, эксплуатационными и габаритно-весовыми характеристиками, областями применения. Аналого-цифровые вычислительные машины (АЦВМ). АЦВМ - это такие машины, которые совмещают в себе достоинства АВМ и ЭВМ. Они имеют такие характеристики, как быстродействие, простота программирования и универсальность. Основной операцией является интегрирование, которое выполняется с помощью цифровых интеграторов. В АЦВМ числа представляются как в ЭВМ (последовательностью цифр), а метод решения задач как в АВМ (метод математического моделирования). Поколения ЭВМ. Можно выделить 4 основные поколения ЭВМ. Но деление компьютерной техники на поколения — весьма условная, нестрогая классификация по степени развития аппаратных и программных средств, а также способов общения с компьютером. Идея делить машины на поколения вызвана к жизни тем, что за время короткой истории своего развития компьютерная техника проделала большую эволюцию, как в смысле элементной базы (лампы, транзисторы, микросхемы и др.), так и в смысле изменения её структуры, появления новых возможностей, расширения областей применения и характера использования. Все ЭВМ I-го поколения были сделаны на основе электронных ламп, что делало их ненадежными - лампы приходилось часто менять. Эти компьютеры были огромными, неудобными и слишком дорогими машинами, которые могли приобрести только крупные корпорации и правительства. Лампы потребляли огромное количество электроэнергии и выделяли много тепла. Притом для каждой машины использовался свой язык программирования. Набор команд был небольшой, схема арифметико-логического устройства и устройства управления достаточно проста, программное обеспечение практически отсутствовало. Показатели объема оперативной памяти и быстродействия были низкими. Для ввода-вывода использовались перфоленты, перфокарты, магнитные ленты и печатающие устройства, оперативные запоминающие устройства были реализованы на основе ртутных линий задержки электроннолучевых трубок. В 1958 г. в ЭВМ были применены полупроводниковые транзисторы, изобретённые в 1948 г. Уильямом Шокли, они были более надёжны, долговечны, малы, могли выполнить значительно более сложные вычисления, обладали большой оперативной памятью. 1 транзистор способен был заменить около 40 электронных ламп и работает с большей скоростью.
Program help; uses Crt; var a,cot,cpo:integer; begin ot:=0;po:=0;cot:=0;cpo:=0 repeat writeln('Число: '); readln(a); if a<0 then begin ot:=ot+a; inc(cot);end else if a>0 then begin po:=po+a; inc(cpo); end else if a=0 then begin writeln('Кол-во положительных чисел: ',cpo); writeln('Кол-во отрицательных чисел: ',cot); end; until a=0; readln; end