A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Cancel Create
Python-course-stepik.org- / 1.-Operators.-Variables.-Data-types.-Conditions / 1.12
- Go to file T
- Go to line L
- Copy path
- Copy permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Cannot retrieve contributors at this time
163 lines (143 sloc) 10.2 KB
- Open with Desktop
- View raw
- Copy raw contents Copy raw contents Copy raw contents
Copy raw contents
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
ИНФОРМАТИКА КЕГЭ2022. Задача 2 и задача 15 — решаем прогой! Алгебра логики УНИЧТОЖЕНА
1.12 шаг 1 |
В то далёкое время, когда Паша ходил в школу, ему очень не нравилась формула Герона для вычисления площади треугольника, так как казалась слишком сложной. В один прекрасный момент Павел решил избавить всех школьников от страданий и написать и распространить по школам программу, вычисляющую площадь треугольника по трём сторонам. |
Одна проблема: так как эта формула не нравилась Павлу, он её не запомнил. Помогите ему завершить доброе дело и напишите программу, вычисляющую площадь треугольника по переданным длинам трёх его сторон по формуле Герона: |
S=√(p(p−a)(p−b)(p−c)) |
где p=(a+b+c)/2 – полупериметр треугольника. На вход программе подаются целые числа, выводом программы должно являться вещественное число, соответствующее площади треугольника. |
Код: a = int(input()) |
b = int(input()) |
c = int(input()) |
p = (a+b+c)/2 |
S = (p*(p-a)*(p-b)*(p-c))**0.5 |
print(S) |
1.12 шаг 2 |
Напишите программу, принимающую на вход целое число, которая выводит True, если переданное значение попадает в интервал (−15,12]∪(14,17)∪[19,+∞)(−15,12]∪(14,17)∪[19,+∞) и False в противном случае (регистр символов имеет значение). |
Обратите внимание на разные скобки, используемые для обозначения интервалов. В задании используются полуоткрытые и открытые интервалы. Подробнее про это вы можете прочитать, например, на википедии (полуинтервал, промежуток). |
Код: i = int(input()) |
print((-15 < i |
1.12 шаг 3 |
Напишите простой калькулятор, который считывает с пользовательского ввода три строки: первое число, второе число и операцию, после чего применяет операцию к введённым числам («первое число» «операция» «второе число») и выводит результат на экран. |
Поддерживаемые операции: +, -, /, *, mod, pow, div, где |
mod — это взятие остатка от деления, |
pow — возведение в степень, |
div — целочисленное деление. |
Если выполняется деление и второе число равно 0, необходимо выводить строку «Деление на 0!». |
Обратите внимание, что на вход программе приходят вещественные числа. |
Код: a = float(input()) |
b = float(input()) |
c = input() |
answer=0 |
if c == «+»: |
answer = a+b |
if c == «-«: |
answer = a-b |
if c == «*»: |
answer = a*b |
if c == «pow»: |
answer = a**b |
if c == «/» and b == 0: |
answer =»Деление на 0!» |
if c == «/» and b != 0: |
answer = a/b |
if c == «mod» and b == 0: |
answer =»Деление на 0!» |
if c == «mod» and b != 0: |
answer = a%b |
if c == «div» and b == 0: |
answer =»Деление на 0!» |
if c == «div» and b != 0: |
answer = a//b |
if (c != «+» and c != «-» and c != «*» and c != «pow» and c != «/» and c != «mod» and c != «div»): |
answer =»Деление на 0!» |
print (answer) |
1.12 шаг 4 |
Жители страны Малевии часто экспериментируют с планировкой комнат. Комнаты бывают треугольные, прямоугольные и круглые. Чтобы быстро вычислять жилплощадь, требуется написать программу, на вход которой подаётся тип фигуры комнаты и соответствующие параметры, которая бы выводила площадь получившейся комнаты. |
Для числа π в стране Малевии используют значение 3.14. |
Формат ввода, который используют Малевийцы: |
треугольник |
a |
b |
c |
где a, b и c — длины сторон треугольника |
прямоугольник |
a |
b |
где a и b — длины сторон прямоугольника |
круг |
r |
где r — радиус окружности |
Код: from math import sqrt |
a = (str(input())) |
if a == «треугольник»: |
a1 = (int(input())) |
b = (int(input())) |
c = (int(input())) |
p = ((a1+b+c)/2) |
s = (sqrt(p*(p-a1)*(p-b)*(p-c))) |
print (s) |
if a == «круг»: |
elipse = (int(input())) |
s = 3.14*elipse**2 |
print(s) |
if a == «прямоугольник»: |
aa = (int(input())) |
bb = (int(input())) |
summa = aa * bb |
print (summa) |
1.12 шаг 5 |
Напишите программу, которая получает на вход три целых числа, по одному числу в строке, и выводит на консоль в три строки сначала максимальное, потом минимальное, после чего оставшееся число. |
На ввод могут подаваться и повторяющиеся числа. |
Код: a=int(input()) |
max=a |
min=a |
b=int(input()) |
if (b>=max): |
max=b |
elif (b <=min): |
min=b |
c=int(input()) |
if (c>=max): |
mid=max |
max=c |
elif (c <=min): |
mid=min |
min=c |
else: |
mid=c |
print(max) |
print(min) |
print(mid) |
1.12 шаг 6 |
В институте биоинформатики по офису передвигается робот. Недавно студенты из группы программистов написали для него программу, по которой робот, когда заходит в комнату, считает количество программистов в ней и произносит его вслух: «n программистов». |
Для того, чтобы это звучало правильно, для каждого nn нужно использовать верное окончание слова. |
Напишите программу, считывающую с пользовательского ввода целое число nn (неотрицательное), выводящее это число в консоль вместе с правильным образом изменённым словом «программист», для того, чтобы робот мог нормально общаться с людьми, например: 1 программист, 2 программиста, 5 программистов. |
В комнате может быть очень много программистов. Проверьте, что ваша программа правильно обработает все случаи, как минимум до 1000 человек. |
Дополнительный комментарий к условию: |
Обратите внимание, что задача не так проста, как кажется на первый взгляд. Если ваше решение не проходит какой-то тест, это значит, что вы не рассмотрели какой-то из случаев входных данных (число программистов 0≤n≤10000≤n≤1000). Обязательно проверяйте свои решения на дополнительных значениях, а не только на тех, что приведены в условии задания. |
Так как задание повышенной сложности, вручную код решений проверяться не будет. Если вы столкнулись с ошибкой в первых четырёх тестах, проверьте, что вы используете только русские символы для ответа. В остальных случаях ищите ошибку в логике работы программы. |
Код: n=int(input()) |
if (((n%100)%10)==0 or 5 <=((n%100)%10)<=9) or 11<=n%100<=15: |
print(n,»программистов») |
elif ((n%100)%10)==1: |
print(n,»программист») |
elif 2 |
print(n,»программиста») |
1.12 шаг 7 |
Паша очень любит кататься на общественном транспорте, а получая билет, сразу проверяет, счастливый ли ему попался. Билет считается счастливым, если сумма первых трех цифр совпадает с суммой последних трех цифр номера билета. |
Однако Паша очень плохо считает в уме, поэтому попросил вас написать программу, которая проверит равенство сумм и выведет «Счастливый», если суммы совпадают, и «Обычный», если суммы различны. |
На вход программе подаётся строка из шести цифр. |
Выводить нужно только слово «Счастливый» или «Обычный», с большой буквы. |
Код: # put your python code here |
tick = input() |
if len(tick) == 6: |
a = int(tick[0]) |
b = int(tick[1]) |
c = int(tick[2]) |
d = int(tick[3]) |
e = int(tick[4]) |
f = int(tick[5]) |
if (a+b+c) == (d+e+f): |
print(‘Счастливый’) |
else: |
print(‘Обычный’) |
else: |
print(‘Неправильный диапазон’) |
ИНФОРМАТИКА КЕГЭ2022. Задача 2 и задача 15 — решаем прогой! Алгебра логики УНИЧТОЖЕНА
- Copy lines
- Copy permalink
- View git blame
- Reference in new issue
Источник: github.com
Что будет выведено на экран в результате выполения следующей программы Var a,b,c:integer; a:=-15; a:a*2+1; b:=-a; c:=b mod 2; Writeln (c=,c); end
a:=-15; //переменной a присваивается значение -15
a:=a*2+1; //переменной a присваивается значение a=(-15)*2+1=-29
b:=-a; //переменной b присваивается противоположное значение a: b=29
c:=b mod 2;//переменной c присваивается остаток от деления 29 на 2: c=1
Writeln (c=,c); //вывод c
программа выведет:
c=1
Во-первых, если загрузить эту программу в паскаль то ничего не выведется т.к. тут допущены ошибки, вот как правильно:
Var a,b,c:integer;begina:=-15;b:=-a;
c:=b mod 2;Writeln(c=,c);end.
в программе выводится остаток деления числа b на число c
но если тебе нужно оставить действие a:=a*2+1 тогда ты должен добавить ещё одну переменную и в таком случае b будет равнять не -а, а минус эта самая переменная. я обозначила эту переменную n, вот что получается
Var a,b,c,n:integer;begina:=-15;n:=-a*2+1;b:=-n;c:=n mod 2;Writeln(c=,c); end.
Отв. дан 2018-11-08 08:26:40 Львович
Источник: otvechu.com
Презентация на тему Программирование на языке Python
время.
Детерминированность (определённость) — при каждом запуске алгоритма с одними и теми же исходными данными получается один и тот же результат.
Понятность — алгоритм содержит только команды, входящие в систему команд исполнителя.
Конечность (результативность) — для корректного набора данных алгоритм должен завершаться через конечное время.
Корректность — для допустимых исходных данных алгоритм должен приводить к правильному результату.
Массовость — алгоритм можно использовать для разных исходных данных.
Источник: thepresentation.ru