Что выведет программа если ввести число 73
Перейти к содержимому

Что выведет программа если ввести число 73

  • автор:

Ответы по параграфу 3.3 Программирование линейных алгоритмов

Учебник по Информатике 8 класс Босова

Задание 2. Напишите программу вычисляющую «y» для заданного «x» по формуле
y = x 3 + 2.5x 2 – x + 1 = ((x+2.5)x-1)x + 1
(Нельзя возводить в степень, в присваивании только одна арифметическая операция, не больше 5-ти операторов присваивания.)

program z_2; var x, y: real; BEGIN write ('x>>'); read (x); y:= x + 2.5; y:= y*x; y:= y-1; y:= y*x; y:= y+1; writeln ('y = ', y) END.

Задание 3. Напишите программу, вычисляющую длину отрезка AB по заданным координатам точек A и B.

Формула нахождения длины отрезка по заданным координатам:

program z_3; var xA, yA, xB, yB, d: real; BEGIN write ('xA='); read (xA); write ('yA='); read (yA); write ('xB='); read (xB); write ('yB='); read (yB); d:= sqrt(sqr(xB-xA) + sqr(yB-yA)); writeln ('d=', d) END.

Задание 4. Известны длины сторон треугольника a, b, c. Напишите программу, вычисляющую площадь этого треугольника.

program z_4; var a, b, c, p, S: real; BEGIN writeln('Площадь треугольника по трём его сторонам'); writeln('Введите стороны треугольника:'); write('a>>'); read (a); write('b>>'); read (b); write('c>>'); read (c); //Проверяем, существует ли такой треугольник if ((a+b)>c) and ((a+c)>b) and ((b+c)>a) then begin //Вычислим полупериметр p := (a+b+c)/2; //Теперь вычислим площадь S:=sqrt(p*(p-a)*(p-b)*(p-c)); writeln ('S = ', S:3:2, ' см2'); end else writeln ('Треугольник со сторонами ', a,', ', b,', ', c,' не существует'); END.

Задание 5. Известны координаты A, B, C треугольника. Напишите программу, вычисляющую площадь этого треугольника.

Объединим программы из двух предыдущих заданий.

program z_5; var xA, yA, xB, yB, xC, yC, a, b, c, p, S: real; BEGIN writeln('Площадь треугольника по трём его сторонам'); writeln('Введите координаты вершин:'); write ('xA='); read (xA); write ('yA='); read (yA); write ('xB='); read (xB); write ('yB='); read (yB); write ('xC='); read (xC); write ('yC='); read (yC); a:= sqrt(sqr(xB-xA) + sqr(yB-yA)); b:= sqrt(sqr(xC-xB) + sqr(yC-yB)); c:= sqrt(sqr(xC-xA) + sqr(yC-yA)); //Проверяем, существует ли такой треугольник if ((a+b)>c) and ((a+c)>b) and ((b+c)>a) then begin //Вычислим полупериметр p := (a+b+c)/2; //Теперь вычислим площадь S:=sqrt(p*(p-a)*(p-b)*(p-c)); writeln ('S = ', S:3:2, ' см2'); end else writeln ('Треугольник со сторонами ', a,', ', b,', ', c,' не существует'); END.

Задание 6. Если сумма налога исчисляется в рублях и копейках, то налоговая служба округляет ее до ближайшего рубля (до 50 копеек – с недостатком, свыше 50 копеек с избытком). Используйте компьютер, чтобы ввести точную сумму налога и вывести, сколько следует уплатить.

Функция «round(x)» округляет число до ближайшего целого.

program z_6; var nalog: real; k: integer; BEGIN write ('Введите точную сумму налога: '); read (nalog); nalog:= round(nalog); write ('Следует уплатить "', nalog, '" рублей.'); END.

Задание 7. Исследуйте работу функции random, запустив многократно на выполнение программу в учебнике.

Как можно получить случайное число из интервала:
а) (0, x);
random (x-1) + 1;

б) (0, x];
random (x) + 1;

в) (n, x +n);
random (x+n-1) + n+1;

Задание 8. Одна компания выпустила билеты трёх разрядов: для молодежи, для взрослых и для пенсионеров. Номера билетов каждого разряда лежат в пределах:
Для молодежи: от 1 до 100;
Для взрослых: от 101 до 200;
Для пенсионеров – от 201 до 250.
Выберите случайным образом лотерейный билет в каждом разряде.

program z_8; var a, b, c: integer; BEGIN a:= random (100)+1; b:= random (100)+101; c:= random (50)+201; writeln ('Для молодежи билет номер ', a); writeln ('Для взрослых билет номер ', b); writeln ('Для пенсионеров билет номер ', c); END.

Задание 9. Запишите программу, которая для произвольного натурального двузначного числа определяет:
а) сумму и произведение его цифр;
б) число, образованное перестановкой цифр исходного числа.

program z_9; var a, b, c, sum, pr: integer; BEGIN writeln ('Введите двузначное натуральное число:'); readln (a); b:= a div 10; c:= a mod 10; sum:= b+c; pr:= b*c; writeln ('а) Сумма: ', sum, '; Произведение: ', pr); writeln ('б) ', c*10+b) END.

Задание 10. Запишите программу, реализующую алгоритм работы кассира, выдающего покупателю сдачу (s) наименьшим возможным количеством банкнот по 1000 (k1000), 500 (k500), 100 (k100), 50 (k50) рублей.

program z_10; var s: integer; BEGIN writeln ('Введите сдачу:'); readln (s); writeln ('Следует сдать:'); writeln ('банкнот по 1000 руб. - ', s div 1000, ' шт.'); s:= s mod 1000; writeln ('банкнот по 500 руб. - ', s div 500, ' шт.'); s:= s mod 500; writeln ('банкнот по 100 руб. - ', s div 100, ' шт.'); s:= s mod 100; writeln ('банкнот по 50 руб. - ', s div 50, ' шт.'); s:= s mod 50; END.

Задание 11. Идет k-я секунда суток. Разработайте программу, которая по введённой k-ой секунде суток определяет, сколько целых часов h и целых минут m прошло с начала суток.

program z_11; var k: integer; BEGIN writeln ('Введите секунды суток:'); readln (k); write ('Прошло ', k div 3600, ' часа(-ов) '); k:= k mod 3600; write (k div 60, ' минут'); END.

Задание 12. Запишите программу, которая вычисляет сумму кодов букв в слове «БАЙТ».

program z_12; BEGIN writeln ('Слово "БАЙТ"'); writeln ('Сумма кодов букв: ', ord('Б')+ord('А')+ord('Й')+ord('Т')) END.

Задание 13. Запишите на языке Паскаль программу, которая формирует и выводит на экран строку символов, коды которых равны 66, 69, 71, 73, 78.

program z_13; BEGIN writeln ('Код: 66, 69, 71, 73, 78'); writeln ('Сформированное слово: ', chr(66)+chr(69)+chr(71)+chr(73)+chr(78)) END.

Задание 14. Разработайте программу, которая запрашивает три строковые величины – взаимосвязанные прилагательное, существительное и глагол, а затем выводит все варианты фраз с использованием введенных слов.

program z_14; var a, b, c: string; BEGIN writeln('Введите прилагательное, существительное и глагол:'); write ('Прилагательное: '); readln (a); write ('Существительное: '); readln (b); write ('Глагол: '); readln (c); writeln (' ------- '); writeln (a, ' ', b, ' ', c); writeln (a, ' ', c, ' ', b); writeln (b, ' ', a, ' ', c); writeln (b, ' ', c, ' ', a); writeln (c, ' ', a, ' ', b); writeln (c, ' ', b, ' ', a); END.

Задание 15. Даны значения целочисленных переменных: a=10, b=20. Чему будет равно значение логической переменной rez после выполнения операции присваивания?

а) rez:= (a=10) or (b>10) True
б) rez:= (a>5) and (b>5) and (a 20) False

Задание 16. Составьте программу, вводящую true, если высказывание является истинным, и false в противном случае:

а) Сумма цифр трехзначного числа x является четным числом.

program z_16a; var x: integer; //Исходные данные a, b, c, s: integer; //Промежуточные величины ans: boolean; //Результат BEGIN randomize; x:= random (900)+100; writeln ('Трёхзначное число x=', x); a:=x div 100; b:=x mod 100 div 10; c:=x mod 10; s:=a+b+c; writeln ('s=', s); ans:= s mod 2=0; writeln (ans) END.

б) Треугольник со сторонами a, b, c является разносторонним.
Проверку существования треугольника со сторонами a, b, c в этой программе мы не выполняем.

program z_16b; var a, b, c: real; //Исходные данные ans: boolean; //Результат BEGIN write ('a='); readln (a); write ('b='); readln (b); write ('c='); readln (c); ans:= (a<>b) and (a<>c) and (b<>c); writeln (ans) END.

Решение заданий из учебника Информатика 8 класс Босова, параграф 3.3 Программирование линейных алгоритмов. Числовые типы данных, символьный и строковый типы данных, логический тип данных.

Гиперпростое число

Author24 — интернет-сервис помощи студентам

Простое число называется гиперпростым, если любое число, получающееся из него откидыванием нескольких последних цифр, тоже является простым. Например, число 733 -– гиперпростое, так как и оно само, и числа 73 и 7 -– простые. Напишите программу, которая определяет, верно ли, что переданное ей число N – гиперпростое. Используйте функции. Учтите, что число 1 не считается простым.

Входные данные
Входная строка содержит натуральное число N .

Выходные данные
Программа должна вывести слово ‘YES’, если переданное её число – гиперпростое, и слово ‘NO’, если это число не гиперпростое.

Примеры
входные данные
733
выходные данные
YES

входные данные
1734
выходные данные
NO

Помогите найти ошибку

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
def simple(n): k = 2 while k*k  n and n % k != 0: k += 1 return (k*k > n) def gipersimple(n): c = 0 if simple(n) is False: return False else: for i in range(1, int(len(str(n)))): if simple(n % 10**i) is True and simple(n // 10**i) is True: c += 1 return True break if c == 0: return False if gipersimple(int(input())) is True: print('YES') else: print('NO')

Решение модуля 7.3 из курса «Поколение python: курс для начинающих»

Полное решение модуля (урока) 7.3 из курса «Пколение python: курс для начинающих» с сайта stepik.org на питоне.

Что покажет приведенный ниже фрагмент кода?
num1 = 4
num2 = 6
num1 += num2
num1 *= num1
print(num1)

Что покажет приведенный ниже фрагмент кода?
total = 0
for i in range(1, 6):
total += i
print(total)

Что покажет приведенный ниже фрагмент кода?
total = 0
for i in range(1, 6):
total += i
print(total, end=»)

1361015

Решение модуля 7.3 из курса

Количество чисел

На вход программе подаются два целых числа a и b (ab). Напишите программу, которая подсчитывает количество чисел в диапазоне от a до b включительно, куб которых оканчивается на 4 или 9.

# Получаем значения a и b и преобразуем их в целые числа. a = int(input()) b = int(input()) count = 0 # Устанавливаем начальное значение счетчика. # Создаем цикл с итерациями от a до b+1. for i in range(a, b + 1): # Проверяем, оканчивается ли текущее значение i на 4 или 9. if i % 10 == 4 or i % 10 == 9: count += 1 # Увеличиваем счетчик на 1, если условие выполняется. # Выводим значение счетчика, которое представляет количество чисел, удовлетворяющих условию. print(count)

Решение модуля 7.3 из курса

Сумма чисел

На вход программе подается натуральное число n, а затем n целых чисел, каждое на отдельной строке. Напишите программу, которая подсчитывает сумму введенных чисел.

a = int(input()) s = 0 # Установка переменной суммы 0 # указываем программе сколько раз должен повторяться цикл for i in range(a): s += int(input()) # к сумме прибавляем введенное значение print(s)

Решение модуля 7.3 из курса

Асимптотическое приближение

На вход программе подается натуральное число n. Напишите программу, которая вычисляет значение выражения

from math import log # Импортируем из math функцию log diff = 0 # Задаем стартовое значение переменной для скобок n = int(input()) # получаем число n # Интервал начинаем с единицы, чтобы не делить на 0 for i in range(1, n + 1): diff += (1 / i) # Набиваем скобки суммами частных print(diff - log(n)) # и дописываем формулу

Решение модуля 7.3 из курса

Сумма чисел

На вход программе подается натуральное число n. Напишите программу, которая подсчитывает сумму тех чисел от 1 до n (включительно) квадрат которых оканчивается на 2, 5 или 8.

# Считываем значение n и преобразуем его в целое число. n = int(input()) s = 0 # Переменная для суммирования. # Создаем цикл с итерациями от 1 до n включительно. for i in range(1, n + 1): t = i**2 # Возводим i в квадрат и сохраняем результат в переменной t. # Проверяем, оканчивается ли квадрат числа t на 2, 5 или 8. if t % 10 == 2 or t % 10 == 5 or t % 10 == 8: s += i # Если условие выполняется, добавляем i к сумме s. # Выводим сумму подходящих чисел. print(s)

Решение модуля 7.3 из курса

Факториал

На вход программе подается натуральное число n. Напишите программу, которая вычисляет n!.

# Получаем значение n и преобразуем его в целое число. n = int(input()) total = 1 # Инициализируем переменную total значением 1. # Создаем цикл с итерациями от 1 до n включительно. for i in range(1, n + 1): total *= i # Умножаем текущее значение total на i. # В результате цикла total будет содержать факториал числа n. # Выводим значение факториала. print(total)

Решение модуля 7.3 из курса

Без нулей

Напишите программу, которая считывает 10 чисел и выводит произведение отличных от нуля чисел.

total = 1 # переменная в которой будем собирать произведение for i in range(10): # цикл на ввод 10 значений num = int(input()) # принимаем 10 входящих if num > 0: # условие что бы число было больше 0 total = num * total # произведение всех чисел больше 0 print(total)

Решение модуля 7.3 из курса

Сумма делителей

На вход программе подается натуральное число n. Напишите программу, которая вычисляет сумму всех его делителей.

n = int(input()) # получаем число sum = 0 # присваиваем переменной суммы делителей 0 for i in range(1, n + 1): # цикл от 1 до нашего числа if n % i == 0: # находим делитель, если остаток от деления равен нулю sum += i # прибавлем к переменной текущий делитель print(sum)

Решение модуля 7.3 из курса

Знакочередующаяся сумма

На вход программе подается натуральное число n. Напишите программу вычисления знакочередующей суммы 1-2+3-4+5-6…+(−1) n+1 n.

# Получаем значение n и преобразуем его в целое число. n = int(input()) res = 0 # Инициализируем переменную res значением 0. # Создаем цикл с итерациями от 1 до n включительно. for i in range(1, n + 1): if i % 2 == 0: res -= i # Если i делится без остатка (четное), вычитаем его из текущего значения res. if i % 2 != 0: res += i # Если i делится с остатком (нечетное), прибавляем его к текущему значению res. # В результате цикла res будет содержать разность суммы четных и нечетных чисел. # Выводим значение res. print(res)

Решение модуля 7.3 из курса

Наибольшие числа

На вход программе подается натуральное число n, а затем n различных натуральных чисел, каждое на отдельной строке. Напишите программу, которая выводит наибольшее и второе наибольшее число последовательности.

n = int(input()) max1 = max2 = 1 # Инициализируем максимальные значения как минимально возможное (1). # Создаем цикл с итерациями от 1 до n. for i in range(1, n + 1): a = int(input()) # Получаем следующее число от пользователя. # Если введенное число больше текущего наибольшего max1 if a > max1: max2 = max1 # то текущий max1 становится вторым наибольшим числом max2 max1 = a # а новое число становится наибольшим max1. elif a > max2: # Если число не больше max1, но больше текущего max2, max2 = a # то оно становится новым вторым наибольшим числом max2. # Выводим наибольшее число max1 и max2 print(max1) print(max2)

Решение модуля 7.3 из курса

Only even numbers ?️

Напишите программу, которая считывает последовательность из 10 целых чисел и определяет является ли каждое из них четным или нет.

flag = 'YES' # по умолчанию считаем что последовательность четная for _ in range(10): # цикл до 10 a = int(input()) # получаем число if a % 2 != 0: # проверяем делимость числа на остаток flag = 'NO' # если число имеет остаток то NO print(flag)

Решение модуля 7.3 из курса

Последовательность Фибоначчи

Напишите программу, которая считывает натуральное число n и выводит первые n чисел последовательности Фибоначчи.

n = int(input()) # получаем кол-во циклов num1 = 0 # число 1 num2 = 1 # число 2 for i in range(n): # цикл до N num2 = num1 + num2 # присваиваем переменной num2 новое значение суммы этой переменной с предыдущей num1 = num2 - num1 # переменной num1 присваиваем значение которое было в num2 print(num1,end=' ')

Если у вас не отображается решение последних задач, значит у вас включен блокировщик рекламы который вырезает эти ответы

Решение заданий №24,25,26,27 второй части варианта №1 ЕГЭ 2019

24. На обработку поступает натуральное число, не превышающее 10 9 . Нужно написать программу, которая выводит на экран максимальную чётную цифру этого числа. Если в числе нет чётных цифр, требуется на экран вывести «NO». Программист написал программу неправильно. Ниже эта программа для Вашего удобства приведена на пяти языках программирования.

var N,digit,maxDigit: longint;

maxDigit := N mod 10;

digit := N mod 10;

if digit mod 2 = 0 then

if digit > maxDigit then

if maxDigit >= 0 then

maxDigit = N % 10

if digit > maxDigit:

Последовательно выполните следующее.

1. Напишите, что выведет эта программа при вводе числа 243.

2. Приведите пример такого трёхзначного числа, при вводе которого приведённая программа, несмотря на ошибки, выдаёт верный ответ.

3. Найдите допущенные программистом ошибки и исправьте их. Исправление ошибки должно затрагивать только строку, в которой находится ошибка. Для каждой ошибки:

1) выпишите строку, в которой сделана ошибка;

2) укажите, как исправить ошибку, т.е. приведите правильный вариант строки.

Известно, что в тексте программы можно исправить ровно две строки так, чтобы она стала работать правильно.

1. Напишите, что выведет эта программа при вводе числа 243. Выведет 3

maxDigit := N mod 10;

digit := N mod 10;

if digit mod 2 = 0 then

if digit > maxDigit then

if maxDigit >= 0 then

3 mod 2 = 0 ( нет )

Вывод на экран 3

2. 234, выведет 4

Строка с ошибкой

maxDigit := N mod 10;

maxDigit t := digit;

25. Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от – 10 000 до 10 000 включительно. Опишите на одном из языков программирования алгоритм, который находит максимальный элемент среди элементов массива, имеющих чётное значение, а затем заменяет каждый элемент с чётным значением на число, равное найденному максимуму. Гарантируется, что хотя бы один такой элемент в массиве есть. В качестве результата необходимо вывести изменённый массив, каждый элемент выводится с новой строчки.

Например, для исходного массива из шести элементов:

программа должна вывести следующий массив

Исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных.

a: array [1..N] of longint;

for i := 1 to N do

# целочисленные переменные j и k

for i in range(0, n):

for i := 1 to N do

if (a[i] mod 2 =0) and (a[i]>j) then j:= a[i];

for i := 1 to N do

if a[i] mod 2 =0 then a[i]:= j;

26. Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежат две кучи камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в одну из куч (по своему выбору) один камень или увеличить количество камней в куче в три раза. Например, пусть в одной куче 10 камней, а в другой 7 камней; такую позицию в игре будем обозначать (10, 7). Тогда за один ход можно получить любую из четырёх позиций:
(11, 7), (30, 7), (10, 8), (10, 21). Для того чтобы делать ходы, у каждого игрока есть неограниченное количество камней.

Игра завершается в тот момент, когда суммарное количество камней в кучах становится не менее 74. Победителем считается игрок, сделавший последний ход, т.е. первым получивший такую позицию, при которой в кучах будет 74 камня или больше.

В начальный момент в первой куче было шесть камней, во второй куче – S камней; 1 ≤ S ≤ 67.

Выполните следующие задания.

а) Укажите все такие значения числа S, при которых Петя может выиграть за один ход.

б) Известно, что Ваня выиграл своим первым ходом после неудачного первого хода Пети. Укажите минимальное значение S, когда такая ситуация возможна.

Укажите такое значение S, при котором у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:

— Петя не может выиграть за один ход;

— Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.

Для указанного значения S опишите выигрышную стратегию Пети.

Укажите значение S, при котором одновременно выполняются два условия:

— у Вани есть выигрышная стратегия, позволяющая ему выиграть первым или вторым ходом при любой игре Пети;

— у Вани нет стратегии, которая позволит ему гарантированно выиграть первым ходом.

Для указанного значения S опишите выигрышную стратегию Вани.

Постройте дерево всех партий, возможных при этой выигрышной стратегии Вани (в виде рисунка или таблицы).

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

3) Игра завершается в тот момент, когда суммарное количество камней в кучах становится не менее 74.

4) В начальный момент в первой куче было 6 камней, во второй куче – S камней; 1 ≤ S ≤ 67.

а) Укажите все такие значения числа S, при которых Петя может выиграть за один ход.

Подсчитаем минимальное число камней во второй куче (74-6)/3. Получаем 23 камня.

При 23 ≤ S ≤ 67 Петя выиграет первым ходом, утроив количество камней во второй куче.

Тогда 69 ≤ S ≤ 201 + 6 камней из первой куче. Получим >=75. Выигрыш Пети первым ходом.

б) Известно, что Ваня выиграл своим первым ходом после неудачного первого хода Пети. Укажите минимальное значение S, когда такая ситуация возможна.

При S =8 и неправильном ходе Пети число камней может оказаться (6, 24). Ваня утраивает камни во второй куче и выигрывает.

Укажите такое значение S, при котором у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:

— Петя не может выиграть за один ход;

— Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.

Для указанного значения S опишите выигрышную стратегию Пети.

При S=22 Петя выигрывает 2 ходом независимо от того, как будет ходить Ваня.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *