В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
ELIZA200425
ELIZA200425
14.08.2020 18:11 •  Информатика

написать код! Нужно дополнить код по условиям задания Дано: Изображение, на котором показан фрагмент звездного неба с круглой или эллиптической (овальной) черной областью. Если это эллипс, то гарантируется, что его длинная ось расположена горизонтально (то есть эллипс не будет повернут). На приведенном выше изображении черный звездолет обрисован светлым контуром, но это только для наглядности, на загруженном для обработки изображении такого контура не будет. Пиксели, затененные звездолетом, имеют идеально черный цвет (значение 0).

Требуется: найти и вывести видимый диаметр звездолета, то есть максимальную ширину непрерывной черной области, в пикселях.

Как отлаживать: закомментируй строку с "url=input()", а вместо нее раскомментируй следующую строку. Также можно раскомментировать строку с print(wa,ha). После этого шаблон программы должен выполняться без ошибок, выводя на консоль "200 200" (размер картинки) и "0" (вместо правильного ответа). Дальше дописываешь, что нужно, и добиваешься правильного ответа. Когда все работает, переносишь готовую программу обратно в Степик, только не забудь снова закомментировать/раскомментировать нужные строки!

Подсказки и пояснения:

Картинка уже загружена в переменную photo (это объект Image из библиотеки PIL, если интересно, документацию можно легко найти в интернете).

Картинка уже преобразована в формат greyscale (градации серого), каждая точка изображения представлена числом от 0 (черная точка) до 255 (белая).

Чтобы получить яркость точки по координатам (x,y), используется вызов photo.getpixel((x,y)). Двойные скобки означают, что x и y объединены в кортеж (x,y), передаваемый в getpixel() как один параметр.

Чтобы найти максимум чего-либо, берем переменную ("текущий максимум"), назначаем ей заведомо маленькое значение. Затем в цикле каждый раз сравниваем с текущим максимумом очередное значение, и если оно больше, то заменяем текущий максимум на это значение.

Чтобы найти длину непрерывной последовательности заданных значений (например, черных точек в строке), берем переменную ("счетчик") с начальным нулевым значением и начинаем просматривать наш массив (строку изображения и т.п.). Каждый раз, когда попадается заданное значение, счетчик увеличивается на 1. Каждый раз, когда попадается любое другое значение, мы запоминаем счетчик как длину последовательности (и, если надо, используем для обновления текущего максимума), после чего его снова обнуляем (поскольку последовательность уже кончилась).

КОД:

# Это загрузка картинки, здесь ничего трогать не надо!

from PIL import Image

import requests

url = input() # для отладки замените на:

# url = "https://stepik.org/media/attachments/lesson/578362/stars1h.png"

loaded_image=Image.open(requests.get(url, stream=True).raw) #загружаем картинку

photo=loaded_image.convert(mode="L") # переводим в greyscale (тона серого)

wa, ha = photo.size # это размеры картинки (ширина и высота, соотв.)

#print(wa,ha) # раскомментируй для отладки - должен выдавать "200, 200"

# Дальше идет ваш код!

alien_ship_width = 0 # здесь должен оказаться результат

# здесь пишем, что еще требуется перед обработкой всей картинки

# ...

for y in range(ha): # цикл просмотра по строкам

# здесь пишем, что требуется перед просмотром очередной строки

# ...

for x in range(wa): # цикл просмотра точек очередной строки

pix = photo.getpixel((x,y)) # взяли точку...

# и вот тут что-то с ней делаем!

# ...

# здесь пишем, что требуется после просмотра очередной строки

# ...

print(alien_ship_width) # выводим полученный результат

Показать ответ
Ответ:
allaxarchenko
allaxarchenko
11.05.2023 00:19
";  // Вывод сообщения в консоль

   return 1;  // Конец программы с кодом ошибки

 }

 else // Иначе

 {  

   fuel -= fuel_cons * distance_a_b;  // Емкость бака = емкость бака - расход топлива на 1 км * расстояние из пункта А в пункт В (узнаем количеств оставшегося топлива)

 }

 int distance_b_c, weight_b;   // Создание целочисленных переменных:

distance_b_c - расстояние из пункта В в пункт Сweight_b - вес груза в пункте В

 cout << "Погрузка/Разгрузка в точке B: ";  // Вывод сообщения в консоль

 cin >> weight_b;  // Ввод с клавиатуры веса груза в пункте В

 weight_a += weight_b;  // Выясняем, на сколько был дозагружен/разгружен самолет в пункте В (Вес в пункте А + Вес в пункте В)

 fuel_cons = fuel_consumption(weight_a);  // Переменной fuel_cons присваиваем возвращаемое значение из функции fuel_consumption (расход топлива на 1 км)

 cout << "Расстояние от пункта B в пункт C (км): ";  // Вывод сообщения в консоль

 cin >> distance_b_c;  // Ввод с клавиатуры расстояния из пункта В в пункт С

 fuel = (distance_b_c * fuel_cons - fuel);  // Выясняем, на сколько необходимо дозаправить самолет, чтобы долететь до пункта С (Емкость бака = расстояние из пункта В в пункт С * расход на 1 км - емкость бака)

 cout << "В пункте B самолет необходимо дозаправить на минимум (л): ";  // Вывод сообщения в консоль

 cout << fuel;  // Вывод значения переменной fuel

}

0,0(0 оценок)
Ответ:
NikuSonada
NikuSonada
09.05.2023 18:47

Существовало две игры. Одна проигрывалась в жизни. Другая проживалась в игре. Естественно, однажды эти миры столкнулись, равно как и Два Джона.

Это случилось в апреле 2000 года в деловом районе Далласа{1}[1]. Поводом послужили 100 тыс. долларов, стоявшие на кону, – главный приз в чемпионате по компьютерной игре Quake III Arena, который проводила Cyberathlete Professional League, организация, надеявшаяся когда-нибудь стать своего рода Национальной футбольной лигой в кибер Все было устроено по принципу BYOC[2]. В подвале отеля Hyatt сотни компьютеров объединили в сеть: участникам предстояло провести за ними семьдесят два часа без перерыва. На огромном экране, на который выводилось то, что отображалось на мониторах игроков, проносились ракеты. Пыхающие сигарами космические десантники, грозные широкоплечие воины, забрызганные кровью клоуны-маньяки – все они гонялись друг за другом с ракетными установками и плазменными пушками с одной целью: убить как можно больше персонажей.

Участники соревнования были матерыми геймерами, проделавшими огромный путь. Больше тысячи человек приехали на машинах из далекой Флориды и даже Финляндии, привезя с собой собственные монитор, клавиатуру и мышку. Они бились до тех пор, пока не начинали падать в обморок или сползать под стол, чтобы поспать, подложив под голову коробку из-под пиццы. Одна парочка гордо заявилась с новорожденным младенцем, одетым в самодельную пижаму с надписью Quake. Двое парней выбрили на голове логотип Quake в виде когтя; их подружки кружили по конференц-залу с бритвами наготове, предлагая всем желающим сделать культовую прическу.

Подобные страсти было отнюдь не редкостью для Далласа – столицы ультражестких игр типа Quake или DOOM. Игры, в которых, как в пейнтболе, играешь от первого лица, положили начало новому жанру, известному как first person shooter[3]. Они входят в число самых успешно продаваемых франшиз в этой индустрии, оцениваемой в 10,8 миллиона долларов, и заставляют американцев тратить больше денег на видеоигры, нежели на билеты в кино{2}. В свое время они развитию вычислительной техники, расширив границы 3D-графики и задав стандарт онлайн-игр и сообществ. Вместе с тем из-за них так сильно накалилась социально-политическая обстановка, что их даже запретили в ряде стран, а в США признали, что именно они спровоцировали череду убийств, совершенных в 1999 году двумя фанатами в Колумбийском университете.

В результате сформировалось уникальное неформальное сообщество, высокотехнологичная Мекка, где совершенно безумных одаренных молодых геймеров награждали крупными призами. Самыми одаренными и безумными среди них оказались соавторы DOOM и Quake Джон Кармак и Джон Ромеро, или, как их все называли, Два Джона.

Для нового поколения Кармак и Ромеро стали олицетворением «американской мечты»: оба – профессионалы, сделавшие себя сами и превратившие личное увлечение в большой бизнес, новую форму искусства, культурный феномен. История их успеха сделала их самыми необычными антигероями как по мнению Fortune 500, так и по мнению компьютерных хакеров; их называли Ленноном и Маккартни видеоигр (хотя более лестным для них было бы, вероятно, сравнение с Metallica). Оба Джона оставили свои неблагополучные семьи, чтобы создать одни из самых значимых компьютерных игр в истории. Но так вышло, что они же стали причиной, по которой их пути разошлись. И вот теперь, спустя годы после разрыва, Кармаку и Ромеро предстояло вместе выйти к своим фанатам.

Они согласились рассказать о своих последних проектах: детище Кармака Quake Arena III, разработанном в компании id Software, которую они основали сообща, и долгожданной эпической игре Daikatana авторства Ромеро, появившейся на свет в его новом стартапе Ion Storm. Эти игры объединяли полярные различия, в свое время сплотившие Двух Джонов в столь динамичный дуэт, а ныне превратившие их в, казалось, абсолютно непримиримых соперников. Их отношения стали предметом изучения человеческой алхимии.

29-летний Кармак, программист-филантроп, вел монашеский образ жизни и в свободное время собирал мощные ракеты (по мнению Билла Гейтса, он входил в шорт-лист гениев); его игра, равно как и вся жизнь, сводилась в своем устройстве к элегантной продуманности компьютерного кода. 32-летний Ромеро – дерзкий дизайнер, чей имидж плохого парня превратил его в рок-звезду индустрии, – мог поставить на кон все, включая собственную репутацию, чтобы реализовать самые смелые проекты. Как сказал Кармак после их разрыва: «Ромеро нужна целая империя, я же всего лишь хочу писать хорошие программы»{3}.

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота