Напишите программу ввода трех произвольных чисел x y z с клавиатуры если х больше z
Получить задание на выполнение лабораторной работы согласно своему варианту (раздел 6). Разработать и отладить программу. Составить и защитить отчет о лабораторной работе у преподавателя.
Содержание отчета
- наименование и цель работы;
- задание на лабораторную работу согласно варианту;
- схема алгоритма, текст программы на алгоритмическом языке;
- результаты работы программы.
Краткая теория
С помощью условного оператора и оператора выбора реализуется операция ветвления алгоритма, то есть с помощью этих операторов, в зависимости от результатов проверки условия, выбирается одно из множества потенциально возможных направления дальнейшего хода вычислительного процесса.
Условный оператор IF
Условный оператор If позволяет произвести развилку алгоритма, в которой осуществляется выбор одной из двух альтернативных ветвей в зависимости от некоторого условия (при этом одна из ветвей может отсутствовать). В качестве условия выбора используется значение логического выражения. Оно может быть простым или сложным. Сложные условия организуются при помощи логических операций AND, OR, NOT.
В целом синтаксис оператора If можно представить в следующем виде:
if <логическое_выражение> then <оператор1>
[else <оператор2>]
В результате вычисления выражения получается логическое значение типа Boolean. Если результатом является значение TRUE, то выполняется <оператор1>, следующий за служебным словом then. Если же в результате выполнения получается значение FALSE, то выполняется <оператор2>, следующий за Else. Если часть условного оператора, начиная со слова Else, отсутствует, то управление передается оператору, следующему за условным.
Следует отметить, что использование в операторе If после служебного слова then второго оператора If приводит к синтаксически неоднозначной конструкции вида:
if <выражение1> then
if <выражение2> then
<оператор1>
Else
<оператор2>
Компилятор Турбо Паскаль разрешает подобную неоднозначность, интерпретируя этот фрагмент следующим образом:
if <выражение1> then
Begin
if <выражение2> then
<оператор1>
Else
<оператор2>
end;
То есть, служебное слово else всегда ассоциируется с ближайшим по тексту служебным словом if, которое еще не связано со служебным словом else.
1) if X>Y then Max:=X else Max:=T;
2) if X>0 then X:=Sqrt(X);
3) if Ch=1 then
Begin
X:=Sin(X);
WriteLn(‘Sin(x)= ’,X);
End
Else
Begin
X:=Cos(X);
WriteLn(‘Cos(x)= ’,X);
end;
4) if (A=5)and(B=5) then
if C mod 2 = 0 then
K:=(A+B)*C
Else
K:=(A+B)/C
Else
WriteLn(’A и В не равны 5’);
5) if D>0 then
Begin
if C mod 2 = 0 then
K:=D*C;
End
Else
K:=Sqr(D);
В пятом примере служебное слово else относится к первому if , а не к ближайшему. Порядок изменен при помощи операторных скобок begin…end.
4.2 Оператор варианта CASE
Оператор Case производит развилку алгоритма на произвольное множество ветвей. Из этого множества либо выбирается единственная ветвь, отвечающая одному из заданных условий, либо ни одной, если ни одно из условий не выполняется.
Оператор варианта состоит из выражения (селектора) и списка операторов, каждому из которых предшествует одна или более констант (они называются константами выбора) или ключевое слово else. Селектор должен иметь порядковый тип. Строковый тип и длинный целый тип являются недопустимыми типами селектора. Все константы выбора должны быть уникальными и иметь порядковый тип, совместимый с типом селектора.
case <селектор> of
<константа_выбора1>: <оператор1>;
<константа_выбора2>: <оператор2>;
<константа_выбораN>: <операторN>;
[else <оператор>]
end;
Оператор Сase приводит к выполнению оператора, которому предшествует константа выбора, равная значению селектора или диапазону выбора, в котором находится значение селектора. Если такой константы выбора или такого диапазона выбора не существует и присутствует ветвь else, то выполнятся оператор, следующий за ключевым словом else. Если же ветвь else отсутствует, то никакой оператор не выполняется.
Case Ch of
’A’..’Z’: WriteLn(‘Латинский алфавит’);
’А’..’Я’: WriteLn(‘Русский алфавит’);
end;
Case I of
0, 2, 4, 6, 8: Writeln(‘Четная цифра’);
1, 3, 5, 7, 9: Writeln('Нечетная цифра');
Else
Writeln('Цифра не принадлежит диапазону 0..9!');
end;
Примеры программ
5.1 Решить уравнение:
program Solution;
Var
x, y: Real;
Begin
Write(‘Введите x = ’);
ReadLn(x);
if (x>0)and(x<2) then
y:= sqr(cos(x))
Else
y:= 1-sin(x*x);
WriteLn(‘y = ’,y:5:2);
End.
5.2 Ввести символ латинского алфавита из диапазона A..E. Определить, какая буква была введена – гласная или согласная?
Program LatSymbols;
Var
c: Char;
Begin
Write(‘Введите лат.символ из диапазона A..E: ’);
ReadLn(с);
Case с of
‘A’,‘a’,‘E’,‘e’: WriteLn(‘Гласная’);
‘B’,‘b’,‘C’,‘c’,‘D’,‘d’: WriteLn(‘Согласная’);
Else
WriteLn(‘Символ не принадлежит диап. А..Е’);
end;
End.
Варианты заданий для самостоятельного решения
Оператор IF
Вариант 1
1. Может ли шар радиуса r пройти через ромбообразное отверстие с диагоналями p и q?
2. Ввести с клавиатуры a, b, c, d и вычислить:
Вариант 2
1. Заданы три числа: a, b, c. Определить, могут ли они быть сторонами треугольника, и если да, то определить его тип: равносторонний, равнобедренный, разносторонний. (Условия существования треугольника: ; ; ).
2. Среди заданных целых чисел k,l,m найти пары кратных.
Вариант 3
1. Можно ли коробку размером упаковать в посылку размером ? «Углом» укладывать нельзя.
(x,y,z,v – вводятся с клавиатуры и принадлежат [-7;7]).
Вариант 4
1. Если значение переменной W не равно 0 и при этом котангенс от W меньше 0.5, тогда поменять знак у W, а если значение W равно 0, то присвоить W значение 1.
, (a,b,c,d вводятся с клавиатуры).
Вариант 5
1. Составить алгоритм и программу вычисления функции, x – вводится с клавиатуры:
2. Число делится на 3 тогда и только тогда, когда сумма его цифр делится на 3. Проверить этот признак на примере заданного трехзначного числа.
Вариант 6
1. Найти среднее арифметическое трех чисел. Если оно больше некоторого числа А, то возвести его в квадрат, иначе удвоить.
Вариант 7
2. Ввести возраст человека в годах и в зависимости от числа добавить «лет» или «года». Например, 25 лет, 2 года.
Вариант 8
1. Даны действительные числа a, b, c, x, y. Выяснить, пройдет ли кирпич с ребрами a,b,c в прямоугольное отверстие со сторонами x и y. Просовывать кирпич в отверстие разрешается только так, чтобы каждое из его ребер было параллельно или перпендикулярно каждой из сторон отверстия.
2. Написать программу, которая проверяла бы справедливость неравенства, в результате выводила бы True или False:
Вариант 9
1. Составить алгоритм и программу вычисления функции (х вводится)
2. Вычислить: y=min,c>, a, b, c, d – даны.
Вариант 10
1. Составить алгоритм и программу вычисления функции, x, a, b, c – вводится с клавиатуры.
2. Вычислить y=min+max, где a, b, c, d, f – даны.
Вариант 11
1. Составить алгоритм и программу нахождения корней уравнения ax 2 +bx+c=0. Предусмотреть варианты двух, одного корня, а также, когда действительных корней нет.
2. Вычислить y=max>, a, b, c, d – числа.
Вариант 12
1. Составить алгоритм и программу вычисления функции, x вводится с клавиатуры.
Вариант 13
1. Известно, что из четырёх чисел a, b, c, d одно отлично от трех других, равных между собой. Найти сумму данного числа с любым из трех оставшихся.
2. Вычислить: U = max(x,y)+2*(min(x,y,z)), ( x, y, z – вводятся с клавиатуры).
Вариант 14
1. Составить алгоритм и программу вычисления функции, x – вводится с клавиатуры.
2. Вычислить: (a, b, c, d – вводятся с клавиатуры)
Вариант 15
1. Составить алгоритм и программу вычисления функции y0 (x,y- даны)
2. Может ли шар радиуса r пройти через прямоугольное отверстие со
Сторонами А и В.
Вариант 16
1. Составить алгоритм и программу вычисления функции, x, y – вводится с клавиатуры.
2. Написать программу, которая в зависимости от введенных А, В и С считает их произведение, если они все положительны; или сумму, если хотя бы одно отрицательно.
Вариант 17
1. Написать программу проверки трех введенных чисел на четность/нечетность. Вывести, сколько из них четно, сколько нечетно.
2. Вычислить y= a + max>, a, b, c, d – числа.
Вариант 18
1. Найти максимум из трех чисел. Если он больше некоторого числа А, то найти сумму этих чисел, иначе – произведение.
2. Ввести двузначное число и найти сумму цифр этого числа, если оно четно, иначе найти разность цифр.
Вариант 19
1. Написать программу, которая проверяла бы справедливость неравенства, в результате выводила бы True или False:
, (n вводится с клавиатуры).
2. Ввести четыре числа. Найти сумму четных и сумму нечетных.
Вариант 20
1. Вычислить сумму А,В и С, если все они четны, разность, если есть хотя бы одно нечетное.
2. Найти max(min(a,b);min(c,d)).
Вариант 21
2. Числа a,b,c тогда и только тогда являются сторонами треугольника, когда существуют такие положительные x,y,z что
Вариант 22
2. Ввести три числа и определить, есть ли среди них четные и кратные 3-м одновременно.
Вариант 23
1. Ввести три числа x,y,z и проверить выполняется ли условие x>y>z.
2. Вычислить (x вводится с клавиатуры).
Вариант 24
1. Известно, что из четырёх чисел a, b, c, одно отлично от двух других, равных между собой. Найти сумму данного числа с любым из двух оставшихся.
2. Вычислить: U = min(x,y)+2*(max(x,y,z)), ( x, y, z – вводятся с клавиатуры).
Вариант 25
1. Найти максимум из трех чисел. Если он больше некоторого числа S, то найти среднее арифметическое этих чисел, иначе – произведение.
2. Ввести четыре числа. Найти произведение всех четных и сумму нечетных.
Вариант 26
3. Составить алгоритм и программу нахождения корней уравнения ax 2 +bx+c=0. Предусмотреть варианты двух, одного корня, а также, когда действительных корней нет.
4. Вычислить y=max>/ max < b,d>, a, b, c, d – числа.
6.2 Оператор варианта
1. Реализовать в программе меню выбора логических операций. В зависимости от варианта посчитать значение произвольного выражения, операндами которого являются 0 и 1.
2. Написать программу, которая ждет ввода знака арифметической операции и, в зависимости от введенного символа, вычисляет значение произвольного арифметического выражения.
3. Написать программу, которая запрашивает ввод знака арифметической операции и выдает ее название.
4. Написать программу, которая запрашивает размер ноги и выдает ориентировочный рост.
5. Ввести код цвета и определить его категорию: теплый или холодный.
6. Написать программу, которая ждет ввода буквы и, в зависимости от введенного значения, сообщает, является ли буква заглавной или строчной.
7. По введенному двузначному числу определить к какому десятку оно относиться. Например, 12 – второй десяток.
8. Написать программу, которая запрашивает ваш возраст в годах, а затем отображает информацию о периоде вашей жизни: детство, отрочество, юность, молодость, зрелость, старость.
9. Написать программу, которая требует ввода времени дня и, в зависимости от введенного значения, желает доброго утра, доброго дня, доброго вечера или спокойной ночи.
10. Написать программу определения цвета в зависимости от введенного числа.
11. Реализовать в программе меню выбора арифметических действий. В зависимости от варианта посчитать значение выражения Y:=X<+|-|*|/>А. Х и А вводятся.
12. Написать программу, которая ждет ввода первой буквы названия месяца. В зависимости от этого определяет квартал. Учесть: Июнь, Июль – разные кварталы.
13. Написать программу, которая требует ввода числа месяца и, в зависимости от введенного значения, сообщает номер декады.
14. Написать программу, которая требует ввода номера месяца, числа и, в зависимости от введенного значения, сообщает, сколько дней осталось до нового года.
15. Написать программу, которая по номеру курса выдает номера учебных семестров этого курса.
16. Заданное натуральное число N, не превосходящее 100, записать прописью, то есть вывести соответствующее количественное числительное, например: 25 – «двадцать пять».
17. По введенной дате (число, месяц) определить знак зодиака.
18. Написать программу, где ожидается ввод символа с клавиатуры, после чего определяется, является ли этот символ буквой, цифрой или специальным символом.
19. Написать программу, которая запрашивает ваше имя и рост в сантиметрах, а затем отображает информацию в виде: высокий, средний, низкий.
20. Написать программу, которая запрашивает у пользователя месяц рождения и выдает сезон, в котором человек родился.
21. Написать программу, которая ждет ввода буквы русского алфавита и в зависимости от этого определяет гласная или согласная. Если согласная, то звонкая или глухая.
22. Написать программу, которая ждет ввода первой буквы названия месяца. В зависимости от этого определяет время года.
23. По углу определить вид треугольника: прямоугольный, тупоугольный, остроугольный.
24. Представить заданное целое число от 1 до 10 в римской системе счисления.
25. Написать программу, которая запрашивает ввод знака операции отношения и выдает ее название.
26. Написать программу, которая запрашивает рост и выдает предполагаемый вес.
27. Необходимо преобразовать целое число N в зависимости от величины остатка от его деления на 17 следующим образом:
если N mod 17=0, то N=0;
если N mod 17=1 или 6, то N=-N;
если N mod 17=2, 3 или 5, то N=E*N;
если N mod 17=4, то N=3*N;
28. По количеству артистов коллектива определить его тип:
4 – квартет и т.д.
y=x в других случаях.
31. Написать программу, которая запрашивает размер ноги и выдает ориентировочный рост.
Введение
При изучении любого языка программирования очень важно много практиковаться. В этом уроке Вы найдёте различные задачи, которые помогут Вам развить алгоритмическое мышление.
I like Python
Напишите программу, которая выводит на экран текст «I***like***Python» (без кавычек).
Управляемый разделитель
Напишите программу, которая считывает строку-разделитель и три строки, а затем выводит указанные строки через разделитель.
Сумма трёх чисел
Напишите программу, которая считывает три целых числа и выводит на экран их сумму. Каждое число записано в отдельной строке.
Следующее и предыдущее
Напишите программу, которая считывает целое число, после чего на экран выводится следующее и предыдущее целое число с пояснительным текстом.
Разделяй и властвуй
Напишите программу, которая считывает целое положительное число xx и выводит на экран последовательность чисел x, 2x, 3x, 4x, 5x, разделённых тремя черточками.
Расстояние в метрах
Напишите программу, которая находит полное число метров по заданному числу сантиметров.
Сама неотвратимость
Безумный титан Танос собрал все 6 камней бесконечности и намеревается уничтожить половину населения Вселенной по щелчку пальцев. При этом если население Вселенной является нечетным числом, то титан проявит милосердие и округлит количество выживших в большую сторону. Помогите Мстителям подсчитать количество выживших.
Пересчет временного интервала
Напишите программу для пересчёта величины временного интервала, заданного в минутах, в величину, выраженную в часах и минутах.
Трехзначное число
Напишите программу, в которой рассчитывается сумма и произведение цифр положительного трёхзначного числа.
Четырёхзначное число
Напишите программу для нахождения цифр четырёхзначного числа.
Пароль
При регистрации на сайтах требуется вводить пароль дважды. Это сделано для безопасности, поскольку такой подход уменьшает возможность неверного ввода пароля.
Напишите программу, которая сравнивает пароль и его подтверждение. Если они совпадают, то программа выводит: «Пароль принят», иначе: «Пароль не принят».
Четное или нечетное?
Напишите программу, которая определяет, является число четным или нечетным.
Роскомнадзор
Напишите программу, которая определяет, разрешен пользователю доступ к интернет-ресурсу или нет.
Формат входных данных
На вход программе подаётся целое число — возраст пользователя.
Формат выходных данных
Программа должна вывести текст «Доступ разрешен» если возраст не менее 18, и «Доступ запрещен» в противном случае.
Арифметическая прогрессия
Напишите программу, которая определяет, являются ли три заданных числа (в указанном порядке) последовательными членами арифметической прогрессии.
Наименьшее из четырёх чисел
Напишите программу, которая определяет наименьшее из четырёх чисел.
Только +
Напишите программу, которая считывает три числа и подсчитывает сумму только положительных чисел.
Принадлежность 1
Напишите программу, которая принимает целое число x и определяет, принадлежит ли данное число промежутку от -1 до 17.
Принадлежность 2
Напишите программу, которая принимает целое число x и определяет, принадлежит ли данное число указанным промежуткам: от минус бесконечности до -3 и от 7 до бесконечности.
Принадлежность 3
Напишите программу, которая принимает целое число x и определяет, принадлежит ли данное число указанным промежуткам: от -30 до -2 и от 7 до 25.
Високосный год
Напишите программу, которая определяет, является ли год с данным номером високосным. Если год является високосным, то выведите «YES», иначе выведите «NO». Год является високосным, если его номер кратен 4, но не кратен 100, или если он кратен 400.
Ход ладьи
Даны две различные клетки шахматной доски. Напишите программу, которая определяет, может ли ладья попасть с первой клетки на вторую одним ходом. Программа получает на вход четыре числа от 1 до 8 каждое, задающие номер столбца и номер строки сначала для первой клетки, потом для второй клетки. Программа должна вывести «YES», если из первой клетки ходом ладьи можно попасть во вторую, или «NO» в противном случае.
Ход короля
Даны две различные клетки шахматной доски. Напишите программу, которая определяет, может ли король попасть с первой клетки на вторую одним ходом. Программа получает на вход четыре числа от 1 до 8 каждое, задающие номер столбца и номер строки сначала для первой клетки, потом для второй клетки. Программа должна вывести «YES», если из первой клетки ходом короля можно попасть во вторую, или «NO» в противном случае.
Вид треугольника
Напишите программу, которая принимает три положительных числа и определяет вид треугольника, длины сторон которого равны введенным числам.
Самописный калькулятор
Напишите программу, которая считывает с клавиатуры два целых числа и строку. Если эта строка является обозначением одной из четырёх математических операций (+, -, *, /), то выведите результат применения этой операции к введённым ранее числам, в противном случае выведите «Неверная операция». Если пользователь захочет поделить на ноль, выведите текст «На ноль делить нельзя!».
Цветовой микшер
Красный, синий и желтый называются основными цветами, потому что их нельзя получить путем смешения других цветов. При смешивании двух основных цветов получается вторичный цвет:
- если смешать красный и синий, то получится фиолетовый;
- если смешать красный и желтый, то получится оранжевый;
- если смешать синий и желтый, то получится зеленый.
Темой урока в этот раз стала работа с целыми числами. В рамках урока обучающийся узнает:
- Как использовать базовые математические операторы (сложение, вычитание, деление умножение).
- Пользоваться функцией int(), приводящей любое значение в целое число.
Первые три вопроса
- Укажите значение переменной s после выполнения следующего кода:
Ответ: -50
2. Укажите значение переменной x после выполнения следующего кода:
Ответ: 20
3. Что появится на экране после выполнения следующей программы?
Ответ: 4 a
Три последовательных числа
Напишите программу вывода на экран трех последовательно идущих чисел, каждое на отдельной строке. Первое число вводит пользователь, остальные числа вычисляются в программе.
Формат входных данных
На вход программе подается одно целое число.Формат выходных данных
Программа должна вывести три последовательно идущих числа в соответствии с условием задачи.
Сумма трёх чисел
Напишите программу, которая считывает три целых числа и выводит на экран их сумму. Каждое число записано в отдельной строке.
Формат входных данных
На вход программе подаётся три целых числа, каждое на отдельной строке.
Формат выходных данных
Программа должна вывести сумму введенных чисел.
Куб
Напишите программу, вычисляющую объём куба и площадь его полной поверхности, по введённому значению длины ребра.
Формат входных данных
На вход программе подается одно целое число – длина ребра.Формат выходных данных
Программа должна вывести текст и числа в соответствии с условием задачи.Примечание. Объём куба и площадь полной поверхности можно вычислить по формулам V = a^3, \, \, S = 6a^2V=a3,S=6a2.
Следующее и предыдущее
Напишите программу, которая считывает целое число, после чего на экран выводится следующее и предыдущее целое число с пояснительным текстом.
Формат входных данных
На вход программе подаётся целое число.
Формат выходных данных
Программа должна вывести текст согласно условию задачи.
Стоимость покупки
Напишите программу, которая считает стоимость трех компьютеров, состоящих из монитора, системного блока, клавиатуры и мыши.
Формат входных данных
На вход программе подаётся четыре целых числа, каждое на отдельной строке. В первой строке — стоимость монитора, во второй строке — стоимость системного блока, в третье строке — стоимость клавиатуры и в четвертой строке — стоимость мыши.Формат выходных данных
Программа должна вывести одно число – стоимость покупки (трех компьютеров).
Арифметические операции
Напишите программу, в которой вычисляется сумма, разность и произведение двух целых чисел, введенных с клавиатуры.
Формат входных данных
На вход программе подаётся два целых числа, каждое на отдельной строке.Формат выходных данных
Программа должна вывести сумму, разность и произведение введённых чисел, каждое на отдельной строке.
Первым делом переводим 160 в двоичную систему счисления удобным для вас способом. Результат: 10100000. Затем идём по пунктам 1-4 в обратном порядке. 4. Убираем 0, 3. Убираем 0, 2. Убираем 0, 1. Переводим в десятичную систему число 10100 = 20. Так как 20 преобразуется ровно в 160, то нам нужно увеличить число до минимального большего целого числа. Получим 21, это и будет искомое число.
Определите, при каком наименьшем введённом значении переменной s программа выведет число, превосходящее 2000.Python
Данную задачу можно решать и на компьютере через перебор и на листочке логически. Проще конечно же на компьютере, поэтому берём данный нам код и оборачиваем в цикл с условием n < 2000.for s in range(1, 2000):
Музыкальный фрагмент был записан в формате моно, оцифрован и сохранён в виде файла без использования сжатия данных. Размер полученного файла – 72 Мбайт. Затем тот же музыкальный фрагмент был записан повторно в формате стерео (двухканальная запись) и оцифрован с разрешением в 3 раза выше и частотой дискретизации в 4,5 раза меньше, чем в первый раз. Сжатие данных не производилось. Укажите размер файла в Мбайт, полученного при повторной записи.
Решается данная задачи буквальным повторением всех действий с размером файла.
72*2 = 144 (формат стерео) 144 *3 = 432 (разрешение в 3 раза выше) 432/4,5 = 96 (частота дискретизации в 4,5 раз меньше)
В слове АВРОРА 4 повторяющиеся буквы: две А и две Р. Обозначим остальные буквы как *. Четыре буквы АР могут стоять как: АР АР; АР РА; РА АР; РА РА. Сначала возьмём вторую и третью комбинации. В них повторяющиеся буквы обязательно должны быть разделены. Обозначим позиции для ОВ: *А*Р**Р*А*. Количество слов равно число позиций на число свободных букв в периоде = 6 * 2! = 12, для комбинации 3 будет столько же, к ответу прибавляем = 0 + 12 *2 = 24. А теперь возьмём первую и четвёртую. *АР*АР, *АРА*Р, *АРАР*, А*Р*АР, А*РА*Р, А*РАР*, АР*А*Р, АР*АР*, АРА*Р*, **АРАР, А**РАР, АР**АР, АРА**Р, АРАР**, АРАР**, число слов = 15 * 2! = 60, прибавляем к ответу = 24 + 60 = 84
Откройте файл электронной таблицы 9-0.xls, содержащей результаты ежечасного измерения температуры воздуха на протяжении трёх месяцев. В каком количестве измерений в апреле температура оказалась ниже 15 градусов?Первым делом скачиваем таблицу, затем нужно написать формулу, проверяющую условие =ЕСЛИ(B2<15;1;0) в клетке, находящейся под первым столбцом с температурами, затем просто растягиваем эту клетку на 24 клетки вправо и на 30 вниз. Поля со значением меньше 15 пометятся единицей, остальные примут значение 0. Нам остаётся выделить таблицу с единицами и нулями и посчитать сумму очередной формулой.
С помощью текстового редактора определите, сколько раз, не считая сносок, встречается слово «глаза» (со строчной буквы) в тексте романа в стихах А.С. Пушкина «Евгений Онегин» (файл 10-0.docx). Другие формы слова «глаза», такие как «глаз», «глазами» и т.д., учитывать не следует. В ответе укажите только число.Достаточно ввести в поиске по тексту "глаза " (обязательно с пробелом, чтобы отсеять слова по типу "глазах" и т.д.), затем просто считаем слова со строчной буквы.
При регистрации в компьютерной системе каждому пользователю выдаётся идентификатор, состоящий из 8 символов, первый и последний из которых – одна из 18 букв, а остальные – цифры (допускается использование 10 десятичных цифр). Каждый такой идентификатор в компьютерной программе записывается минимально возможным и одинаковым целым количеством байт (при этом используют посимвольное кодирование; все цифры кодируются одинаковым и минимально возможным количеством бит, все буквы также кодируются одинаковым и минимально возможным количеством бит). Определите объём памяти в байтах, отводимый этой программой для записи 500 паролей.Согласно условию, в идентификаторе могут быть использованы 18 букв. Известно, что с помощью N бит можно закодировать 2^N различных вариантов. Поскольку 2^4 < 18 < 2^5, то для записи каждой из 18 букв необходимо 5 бит. Аналогично для цифр 2^3 < 10 < 2^4 для записи каждой из 10 цифр необходимо 4 бита.
Для хранения всех 8 символов идентификатора нужно 5·2 + 4·6 = 34 бита, а так как для записи используется целое число байт, то берём ближайшее не меньшее значение, кратное восьми: это число 40 = 5·8 бит (5 байт).
Тогда 500 идентификаторов занимают 5·500 = 2500 байт.
1. заменить (v, w)
2. нашлось (v)
Первая команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Если цепочки v в строке нет, эта команда не изменяет строку. Вторая команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Дана программа для исполнителя Редактор:
НАЧАЛО
ПОКА нашлось (222)
заменить (222, 1)
заменить (111, 2)
КОНЕЦ ПОКА
КОНЕЦ
Какая строка получится в результате применения приведённой программы к строке вида 1…12…2 (2019 единиц и 2119 двоек)?
Каждую итерацию число единиц и двоек уменьшается на 2, так как три двойки заменяются на 1 и три единицы заменяются на 2, значит сначала можно вычесть 2018 из числа единиц и двоек (2018 - максимальное число, кратное 2, которое является меньше числа единиц). Получим 1 единицу и 101 двойку. Теперь нужно найти сколько единиц получится при замене двоек с помощью функции. Ближайшее число меньше 101 и кратное 3 равно 99. 99/3 = 33 - столько единиц будет добавлено. Получается 34 единицы и 2 двойки. Сейчас повторяем то же действие, только с единицами. 33 / 3 = 11.
1 единица и 13 двоек. Делаем так, пока не останутся числа, не кратные 3: 5 единиц 1 двойка, 2 единицы 2 двойки.
Но можно решить и программой:
one = 2019
two = 2119
while True:
----if one > 2:
--------one -= 3
--------two += 1
----if two > 2:
--------two -= 3
--------one += 1
----if two <= 2 and one <= 2:
--------break
for i in range(one):
----print("1", end = "")
for i in range(two):
----print("2", end = "")
Читайте также: