М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
taskarin02
taskarin02
31.05.2021 10:03 •  Информатика

В заданной строке найти самое длинное слово - Мал золотник да дорог!
В Python у строкового типа данных есть метод split(), который разделяет слова по пробелу (или другому символу, если он передан в качестве аргумента). Получается список слов.
Далее из этого списка можно извлекать отдельные слова, обращаясь к ним по индексам.
Для решения задачи разбейте строку на слова, возьмите за самое длинное слово - самое первое, а дальше с цикла “for...in range” сравнивайте слова с первым.

👇
Ответ:
віка20052
віка20052
31.05.2021

Python 3.7

import re

import string

def clrStr(strng: str) -> str:

   return re.sub(r' +', ' ', re.sub(rf'[{string.punctuation}]|\n', '', strng))

raw_string = input()

clean_string = clrStr(raw_string)

print(max(clean_string.split(' '), key = lambda p: len(p)))

И никаких велосипедов с перебором всего списка слов в цикле.

Объяснение:

Да, я специально решил эту задачу не так, как просят в условии. Ведь в условии вам максимально разжевали подход к решению. Но, стоит заметить, что по дурацки. Питоньи списки можно перебирать циклом вида for item in list, не обращаясь к исходному списку по индексам. Так же функция max() может принимать аргумент key, который является функцией, с которой интерпретатор будет выбирать максимум из указанного списка.

4,4(100 оценок)
Открыть все ответы
Ответ:
amelkumjan
amelkumjan
31.05.2021

Причин, по которой в школах на информатике изучают именно PascalABC, а не Python (Ладно хоть не JS), в общем говоря две - Адекватная и не очень.

Адекватная причина заключается в том, что в отличии от пайтона, паскаль - компилируемый язык со статической типизацией. Такие языки не прощают ошибок, если ты что то сделал не так - ты сразу же получаешь ошибку компиляции и идёшь перепиливать, а не обнаруживаешь свой косяк, когда кое-что уже попало на вентилятор.

Паскаль познакомит юного маслёнка с основными понятиями программирования в достаточно понятной форме. Программные блоки в языке Pascal выделяются ключевыми словами begin-end, что при минимальных знаниях английского будет восприниматься человеком намного проще, чем операторные скобки С-подобных языков, или питоньи отступы. Так же у паскаля в описаниях циклов присутствуют дополнительные ключевые слова, опять же более ясно дающие понять, что дальше будет происходить. Вот сравни, что понятнее (цикл for):

C/C++:

for (int i = 1; i < some_counter; i++) { //Code }

PascalABC.NET:

for var i := 1 to some_counter do begin

//code

end;

Паскалевский "фор" как то более подробно себя описывает, не так ли?

Или вот например чтение входного потока:

Читаем переменную i:

C++:

cin >> i;

PascalABC.NET

var i := ReadInteger();

Ну и куча других мелочей.

А вот почему в школах учат именно Турбо Pascal, А не, например, его современную версию PascalABC.NET - Проблема вероятно в программах обучения, составленных ещё в далёкие годы, и с тех пор не менявшихся. Да и большинство преподавателей информатики в школах мало знакомы с какими либо языками кроме древнючего турбопаскаля и сурового и беспощадного С. И это печально. Надеюсь, я ответил на твой вопрос.

4,4(33 оценок)
Ответ:
elank
elank
31.05.2021

В ЭВМ применяется двоичная система счисления, т.е. все числа в компьютере представляются с нулей и единиц, поэтому компьютер может обрабатывать только информацию, представленную в цифровой форме.

Для преобразования числовой, текстовой, графической, звуковой информации в цифровую необходимо применить кодирование. Кодирование – это преобразование данных одного типа через данные другого типа. В ЭВМ применяется система двоичного кодирования, основанная на представлении данных последовательностью двух знаков: 1 и 0, которые называются двоичными цифрами (binary digit – сокращенно bit).

Таким образом, единицей информации в компьютере является один бит, т.е. двоичный разряд, который может принимать значение 0 или 1. Восемь последовательных бит составляют байт. В одном байте можно закодировать значение одного символа из 256 возможных (256 = 2 в степени 8). Более крупной единицей информации является килобайт (Кбайт), равный 1024 байтам (1024 = 2 в степени 10). Еще более крупные единицы измерения данных: мегабайт, гигабайт, терабайт (1 Мбайт = 1024 Кбайт; 1 Гбайт = 1024 Мбайт; 1 Тбайт = 1024 Гбайт).

Целые числа кодируются двоичным кодом довольно просто (путем деления числа на два). Для кодирования нечисловой информации используется следующий алгоритм: все возможные значения кодируемой информации нумеруются и эти номера кодируются с двоичного кода.

Например, для представления текстовой информации используется таблица нумерации символов или таблица кодировки символов, в которой каждому символу соответствует целое число (порядковый номер). Восемь двоичных разрядов могут закодировать 256 различных символов.

Существующий стандарт ASCII (8 – разрядная система кодирования) содержит две таблицы кодирования – базовую и расширенную. Первая таблица содержит 128 основных символов, в ней размещены коды символов английского алфавита, а во второй таблице кодирования содержатся 128 расширенных символов.

Так как в этот стандарт не входят символы национальных алфавитов других стран, то в каждой стране 128 кодов расширенных символов заменяются символами национального алфавита. В настоящее время существует множество таблиц кодировки символов, в которых 128 кодов расширенных символов заменены символами национального алфавита.

Так, например, кодировка символов русского языка Widows – 1251 используется для компьютеров, которые работают под ОС Windows. Другая кодировка для русского языка – это КОИ – 8, которая также широко используется в компьютерных сетях и российском секторе Интернет.

Но использование различных кодовых страниц для национальных алфавитов (применение 8 – разрядной системы кодирования) создает проблемы для обмена файлами между разными узлами сети Интернет. С целью устранения недостатков стандарта ASCII, организация Unicode внедрила новый стандарт универсальной системы UNICODE, основанный на 16 – разрядном кодировании символов.

В первой версии Юникода была представлена кодировка с фиксированным размером символа в 16 бит (два байта). Эта 16 – разрядная система обеспечивает универсальные коды для 65536 различных символов, т.е. в этой таблице могут разместиться символы языков большинства стран мира.

Но внедрение фиксированной 16 – разрядной системы кодирования символов (UTF-16) привела бы к увеличению объема текстовых файлов в два раза. В настоящее время Юникод имеет несколько форм представления: UTF-8, UTF-16 и UTF-32. UTF-32 использует для кодирования любого символа 32 бита, а UTF-8 и UTF-16 используют для представления символов переменное число байтов.

Фактически сейчас применяется кодировка UTF-8, которая обеспечивает совместимость с системой ASCII, использующей 8-битные символы. Символы ASCII занимают один байт в UTF-8 и используют те же биты. Остальные символы Юникода, которые не относятся к символам ASCII, кодируются переменным числом байтов от двух до четырех.

Для кодирования графических данных применяется, например, такой метод кодирования как растр. Координаты точек и их свойства описываются с целых чисел, которые кодируются с двоичного кода. Так черно-белые графические объекты могут быть описаны комбинацией точек с 256 градациями серого цвета, т.е. для кодирования яркости любой точки достаточно 8 - разрядного двоичного числа.

Режим представления цветной графики в системе RGB с использованием 24 разрядов (по 8 разрядов для каждого из трех основных цветов) называется полноцветным. Для поноцветного режима в системе CMYK необходимо иметь 32 разряда (четыре цвета по 8 разрядов).

Объяснение:

4,4(44 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ