Что выведет программа если ввести число 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 Программирование линейных алгоритмов. Числовые типы данных, символьный и строковый типы данных, логический тип данных.

thlicey1: Функции

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

Входные данные

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

Выходные данные

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

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

uchet-jkh.ru

Вопрос о том, что выведет программа при заданном входном значении, является одним из классических заданий в обучении программированию. Разберемся, что происходит в программе и какое значение будет выводиться при вводе числа 73.

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

Важно отметить, что программа проверяет входное число на несколько условий с помощью условного оператора if-else. В данном случае, если введенное значение больше 100, то на экран будет выведено значение «Больше 100». В противном случае, если оно меньше 100, то на экран будет выведено значение «Меньше 100».

Таким образом, если ввести число 73, программа выполнит условие, что это число меньше 100 и выведет на экран значение «Меньше 100». Это является верным ответом при заданном вопросе.

Задача программы: вывод значения при вводе числа 73

Данная программа имеет задачу выводить значение, которое будет получено при вводе числа 73.

Для выполнения данной задачи программа содержит следующий код:

  1. Программа просит пользователя ввести число.
  2. Пользователь вводит число 73.
  3. Программа анализирует введенное число.
  4. Программа выводит значение, соответствующее введенному числу 73.

Таким образом, при вводе числа 73 программа выведет соответствующее ему значение.

Анализ программного кода и применение проверки

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

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

Пусть имеется следующий программный код:

num = int(input("Введите число: "))

if num % 2 == 0:

print("Число", num, "является четным")

else:

print("Число", num, "является нечетным")

Давайте рассмотрим его построчно:

  1. В первой строке мы используем функцию int(input()), чтобы получить число от пользователя. Это позволяет программе работать с числами, а не со строками.
  2. Далее идет условие if num % 2 == 0, которое проверяет, делится ли число на 2 без остатка. Если условие выполняется, то это означает, что число является четным.
  3. Если условие не выполняется, то выполняется блок кода после ключевого слова else, который выводит сообщение о том, что число нечетное.

Таким образом, если введено число 73, то программа выведет сообщение «Число 73 является нечетным».

Этот код является простым примером использования проверки условий в программировании, который позволяет определить, является ли число четным или нечетным.

Проверка условий является мощным инструментом в программировании, который позволяет программе выполнять различные действия в зависимости от заданных условий. Она может быть применена во многих сферах, например, в разработке игр, анализе данных, создании веб-приложений и многом другом.

Подходы к решению задачи

Для проверки и анализа программного кода, который будет выведен, когда введено число 73, можно использовать следующие подходы:

  1. Чтение кода программы: необходимо внимательно прочитать программный код и понять его логику. Это поможет понять, какие вычисления и операции будут выполняться с введенным числом 73.
  2. Расчет по шагам: можно последовательно проследить, как пройдет вычисление в программе при введенном числе 73. Для этого можно использовать таблицу или список шагов.
  3. Использование отладчика: отладчик – полезный инструмент для проверки программного кода. С его помощью можно увидеть значения переменных и проследить выполнение программы пошагово. Это поможет выявить ошибки и проблемы в коде.
  4. Тестирование: можно ввести число 73 в программу и проверить полученный результат. Если программа выводит ожидаемое значение – задача решена правильно.

Выбор подхода зависит от предпочтений программиста или требований задачи. Комбинация разных подходов может быть наиболее эффективной для анализа программного кода.

Варианты вывода при вводе числа 73

При вводе числа 73 программа может вывести следующий результат:

  • Число 73 является простым числом.

Так как число 73 имеется только два делителя — 1 и 73, оно считается простым числом.

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

Описание работы программы

Программа будет проверять введенное число и выводить информацию о нем.

Сначала, программа получает число от пользователя. В данном случае, введенное число равно 73.

Затем, программа проверяет, является ли число четным или нечетным. Если остаток от деления числа на 2 равен 0, то число является четным, иначе — нечетным.

В данном случае, число 73 является нечетным.

Далее, программа проверяет, является ли число простым. Число является простым, если оно имеет только два делителя — 1 и само себя. Программа проверяет все числа в диапазоне от 2 до числа — 1 и проверяет, делится ли число на какое-либо из них без остатка. Если деление без остатка происходит хотя бы один раз, то число не является простым.

В данном случае, число 73 является простым.

В конце, программа выводит информацию о числе: оно является нечетным и простым.

Проверка корректности программного кода

Проверка корректности программного кода – важный этап в разработке любой программы. Без проверки кода на наличие ошибок и несоответствий требованиям функциональности программы, она может не работать правильно или вообще не запускаться.

Существует несколько основных методов проверки кода:

  1. Синтаксическая проверка. Этот метод проверяет соответствие кода правилам синтаксиса определенного языка программирования. Если код содержит ошибки в написании команд, скобок, ключевых слов и других элементов языка, программа может не работать корректно.
  2. Логическая проверка. Во время логической проверки анализируется структура программы и правильность логики ее работы. Этот метод помогает обнаружить логические ошибки, например, неправильные условия ветвления, неправильные формулы вычисления или неправильные алгоритмы работы программы.
  3. Тестирование. Данный метод предполагает запуск программы с разными тестовыми данными для проверки правильности ее работы. Тестирование помогает выявить функциональные ошибки, которые могут возникать при реальном использовании программы. Используя различные наборы входных данных, можно проверить работу программы в различных условиях.
  4. Анализ кода. Анализ кода проводится с помощью специальных программ, которые проверяют качество кода, его стабильность и соответствие определенным стандартам разработки программного обеспечения. Анализ кода позволяет выявить потенциальные ошибки, уязвимости и неправильные практики при написании кода.

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

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

Анализ возможных проблем и ошибок

При анализе программного кода на предмет возможных проблем и ошибок можно выделить несколько важных моментов:

  1. Неправильное использование условных операторов. Возможно, программа содержит некорректные условия, которые могут привести к ошибочным результатам. Необходимо внимательно проверить каждое условие и убедиться, что оно соответствует требуемым критериям.
  2. Ошибка в математических операциях. Программа может содержать неправильно выполненные математические операции, что приведет к неверным результатам. Необходимо проверить все вычисления и убедиться, что они выполняются правильно.
  3. Неправильное использование переменных. Возможно, программа использует переменные неправильным образом, что может привести к неверным результатам или ошибкам выполнения. Необходимо убедиться, что все переменные объявлены и используются корректно.
  4. Недостаточная проверка ввода данных. Если программа требует ввод данных пользователем, необходимо убедиться, что она выполняет достаточную проверку этих данных. Некорректные входные данные могут привести к непредсказуемым результатам или ошибкам выполнения.

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

Возможная проблема/ошибка Рекомендуемое решение
Неправильное использование условных операторов Внимательно проверить каждое условие и убедиться, что оно соответствует требуемым критериям
Ошибка в математических операциях Проверить все вычисления и убедиться, что они выполняются правильно
Неправильное использование переменных Убедиться, что все переменные объявлены и используются корректно
Недостаточная проверка ввода данных Произвести достаточную проверку вводимых данных, чтобы избежать непредсказуемых результатов или ошибок выполнения

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

Ожидаемые результаты при запуске программы

После запуска программы и ввода числа 73 ожидается следующий результат:

  1. Выводится сообщение: «Введите число:»
  2. Пользователь вводит число 73
  3. Программа проверяет, является ли введенное число четным или нечетным
  4. Если число нечетное, то выводится сообщение: «Введенное число 73 — нечетное»
  5. Если число четное, то выводится сообщение: «Введенное число 73 — четное»

В данном случае, число 73 — нечетное, поэтому ожидаемый результат программы будет следующим:

Ввод Вывод
73 Введенное число 73 — нечетное

Вопрос-ответ

Какой результат выдаст программа, если я введу число 73?

Если вы введите число 73, то программа выдаст результат «Число 73 является нечётным». Это связано с тем, что программа делит введенное число на 2 и проверяет остаток от деления. Если остаток равен нулю, то число считается четным. В случае числа 73, остаток от деления будет равен 1, что говорит о том, что число нечётное.

Что произойдет, если введу в программу отрицательное число, например -73?

Если вы введете отрицательное число, например -73, то программа все равно выдаст результат «Число -73 является нечётным». В данной программе не осуществляется проверка на отрицательность числа, поэтому оно будет обрабатываться также, как и положительное число.

Насколько эффективна данная программа для определения четности числа?

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

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

Да, программу можно изменить так, чтобы она выводила результат в виде текста, указывая, что число является четным или нечетным. Для этого можно использовать условные операторы и выводить соответствующий текст в зависимости от результата проверки. Например, вместо вывода числа можно использовать команды вывода строки, такие как «Число 73 является нечётным».

Подготовка ребёнка к ЕГЭ по информатике. Часть двенадцатая

24 задание ЕГЭ «Исправление ошибок в программе» Предисловие Довольно часто программистам приходится исправлять ошибки в программе за теми, кто писал код до них. Составителям ЕГЭ знакома эта ситуация, поэтому в экзамене существует отдельное задание, где надо исправить ошибку в коде. А решения различных вариантов будут представлены ниже. Для удобства код будет представлен на 5 языках программирования, ведь есть читатели, которые привыкли к C ++ или Python больше, чем к Pascal . Демонстрационный вариант ЕГЭ 2019 г. ИНФОРМАТИКА и ИКТ, 11 класс На обработку поступает натуральное число, не превышающее 109. Нужно написать программу, которая выводит на экран минимальную чётную цифру этого числа. Если в числе нет чётных цифр, требуется на экран вывести «NO». Программист написал программу неправильно. Ниже эта программа для Вашего удобства приведена на пяти языках программирования.

Бейсик Python
DIM N, DIGIT, MINDIGIT AS LONG INPUT N MINDIGIT = N MOD 10 WHILE N > 0 DIGIT = N MOD 10 IF DIGIT MOD 2 = 0 THEN IF DIGIT < MINDIGIT THEN MINDIGIT = DIGIT END IF END IF N = N \ 10 WEND IF MINDIGIT = 0 THEN PRINT "NO" ELSE PRINT MINDIGIT END IF N = int(input()) minDigit = N % 10 while N > 0: digit = N % 10 if digit % 2 == 0: if digit < minDigit: minDigit = digit N = N // 10 if minDigit == 0: print("NO") else: print(minDigit)
Алгоритмический язык Паскаль
алг нач цел N, digit, minDigit ввод N minDigit := mod(N,10) нц пока N > 0 digit := mod(N,10) если mod(digit, 2) = 0 то если digit < minDigit то minDigit := digit все все N := div(N,10) кц если minDigit = 0 то вывод "NO" иначе вывод minDigit все кон var N,digit,minDigit: longint; begin readln(N); minDigit := N mod 10; while N > 0 do begin digit := N mod 10; if digit mod 2 = 0 then if digit < minDigit then minDigit := digit; N := N div 10; end; if minDigit = 0 then writeln('NO') else writeln(minDigit) end.
С++
#include using namespace std; int main() < int N, digit, minDigit; cin >> N; minDigit = N % 10; while (N > 0) < digit = N % 10; if (digit % 2 == 0) if (digit < minDigit) minDigit = digit; N = N / 10; >if (minDigit == 0) cout

Последовательно выполните следующее. 1. Напишите, что выведет эта программа при вводе числа 231. 2. Приведите пример такого трёхзначного числа, при вводе которого приведённая программа, несмотря на ошибки, выдаёт верный ответ. 3. Найдите допущенные программистом ошибки и исправьте их. Исправление ошибки должно затрагивать только строку, в которой находится ошибка. Для каждой ошибки: 1) выпишите строку, в которой сделана ошибка; 2) укажите, как исправить ошибку, т.е. приведите правильный вариант строки. Известно, что в тексте программы можно исправить ровно две строки так, чтобы она стала работать правильно. Достаточно указать ошибки и способ их исправления для одного языка программирования. Обратите внимание на то, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения. 1. Разберемся, как выполняется данный алгоритм для числа 231:

Шаг 1 N = 231 m inDigit = 1 digit = 1 N = 23
Шаг 2 N = 23 minDigit = 1 Digit = 3 N = 2
Шаг 3 N = 2 minDigit = 1 N = 0 Печать « 1 »

2. Например, 123. Убедимся:

Шаг 1 N = 123 m inDigit = 3 digit = 3 N = 12
Шаг 2 N = 12 minDigit = 3 Digit = 2 N = 1
Шаг 3 N = 1 minDigit = 2 N = 0 Печать « 2 »

3. Первая ошибка допущена в четвертой строке «minDigit := N mod 10;» Неизвестно, будет ли цифра, обозначающая количество единиц в данном числе – числом, большем 8 (наибольшей четной цифры). Поэтому правильная строка будет выглядеть следующим образом: minDigit := 9; И следовательно, вторая ошибка допущена в тринадцатой строке: «if minDigit = 0 then». 0 надо исправить на 9. Т.е. должно быть «if minDigit = 9 then». Если в числе не нашлось четных цифр, то minDigit останется равным 9, и компилятор должен выдать « NO ». Демонстрационный вариант ЕГЭ 2018 г. ИНФОРМАТИКА и ИКТ, 11 класс На обработку поступает натуральное число, не превышающее 109. Нужно написать программу, которая выводит на экран максимальную цифру числа, кратную 5. Если в числе нет цифр, кратных 5, требуется на экран вывести «NO». Программист написал программу неправильно. Ниже эта программа для Вашего удобства приведена на пяти языках программирования. Напоминание: 0 делится на любое натуральное число.

Бейсик Python
DIM N, DIGIT, MAXDIGIT AS LONG INPUT N MAXDIGIT = N MOD 10 WHILE N > 0 DIGIT = N MOD 10 IF DIGIT MOD 5 = 0 THEN IF DIGIT > MAXDIGIT THEN MAXDIGIT = DIGIT END IF END IF N = N \ 10 WEND IF MAXDIGIT = 0 THEN PRINT «NO» ELSE PRINT MAXDIGIT END IF N = int(input()) maxDigit = N % 10 while N > 0: digit = N % 10 if digit % 5 == 0: if digit > maxDigit: maxDigit = digit N = N // 10 if maxDigit == 0: print(«NO») else: print(maxDigit)
Алгоритмический язык Паскаль
алг нач цел N, digit, maxDigit ввод N maxDigit := mod(N,10) нц пока N > 0 digit := mod(N,10) если mod(digit, 5) = 0 то если digit > maxDigit то maxDigit := digit все все N := div(N,10) кц если maxDigit = 0 то вывод «NO» иначе вывод maxDigit все кон var N,digit,maxDigit: longint; begin readln(N); maxDigit := N mod 10; while N > 0 do begin digit := N mod 10; if digit mod 5 = 0 then if digit > maxDigit then maxDigit := digit; N := N div 10; end; if maxDigit = 0 then writeln(‘NO’) else writeln(maxDigit) end.
С++
#include using namespace std; int main() < long N, digit, maxDigit; cin >> N; maxDigit = N % 10; while (N > 0) < digit = N % 10; if (digit % 5 == 0) if (digit >maxDigit) maxDigit = digit; N = N / 10; > if (maxDigit == 0) cout

Последовательно выполните следующее. 1. Напишите, что выведет эта программа при вводе числа 132. 2. Приведите пример такого трёхзначного числа, при вводе которого программа выдаёт верный ответ. 3. Найдите все ошибки в этой программе (их может быть одна или несколько). Известно, что каждая ошибка затрагивает только одну строку и может быть исправлена без изменения других строк. Для каждой ошибки: 1) выпишите строку, в которой сделана ошибка; 2) укажите, как исправить ошибку, т.е. приведите правильный вариант строки. Достаточно указать ошибки и способ их исправления для одного языка программирования. Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка. 1. Разберемся, как выполняется данный алгоритм для числа 231:

Шаг 1 N = 132 m inDigit = 2 digit = 2 N = 13
Шаг 2 N = 13 minDigit = 2 digit = 3 N = 1
Шаг 3 N = 1 minDigit = 2 N = 0 Печать «2»

2. Например, 153 . Убедимся:

Шаг 1 N = 153 m inDigit = 3 digit = 3 N = 15
Шаг 2 N = 15 minDigit = 3 Digit = 5 N = 1
Шаг 3 N = 1 minDigit = 5 N = 0 Печать « 5 »

3. Первая ошибка допущена в четвертой строке « maxDigit := N mod 10;» Очевидно, что цифра, обозначающая количество единиц в данном числе, точно не будет числом, меньшим 0 (наименьшей цифры, кратной 5). Поэтому правильная строка будет выглядеть следующим образом: minDigit := -1; И следовательно, вторая ошибка допущена в тринадцатой строке: «if maxDigit = 0 then». 0 надо исправить на -1. Т.е. должно быть «if maxDigit = -1 then». Если в числе не нашлось кратных 5 цифр, то maxDigit останется равным -1, и компилятор должен выдать « NO ». Демонстрационный вариант ЕГЭ 2017 г. ИНФОРМАТИКА и ИКТ, 11 класс Дано целое положительное число N, не превосходящее 1000. Необходимо определить, является ли это число степенью числа 3. То есть требуется определить, существует ли такое целое число K, что 3K = N, и вывести это число либо сообщение, что такого числа не существует. Для решения этой задачи ученик написал программу, но, к сожалению, его программа оказалась неверной. Ниже эта написанная им программа для Вашего удобства приведена на пяти языках программирования.

Бейсик Python
DIM N, K AS INTEGER INPUT N K = 0 WHILE K MOD 3 = 0 K = K + 1 N = N \ 3 WEND IF N > 0 THEN PRINT K ELSE PRINT » Не существует » END IF END n = int(input()) k = 0 while k%3 == 0: k = k + 1 n = n // 3 if n > 0: print(k) else: print(«Не существует»)
Алгоритмический язык Паскаль
алг нач цел n, k ввод n k := 0 нц пока mod(k, 3)=0 k := k + 1 n := div(n,3) кц если n > 0 то вывод k иначе вывод «Не существует» все кон var n, k: integer; begin read(n); k := 0; while k mod 3 = 0 do begin k := k + 1; n := n div 3; end; if n > 0 then writeln(k) else writeln(‘Не существует’) end.
С++
#include int main() < int n, k; scanf("%d",&n); k = 0; while (k%3 == 0) < k = k + 1; n = n / 3; >if (n > 0) printf(«%d», k); else printf(«Не существует»); return 0; >

Последовательно выполните следующее. 1. Напишите, что выведет эта программа при вводе числа 9. 2.Приведите пример числа, при вводе которого приведённая программа напечатает то, что требуется. 3. Найдите в программе все ошибки (их может быть одна или несколько). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде. Достаточно указать ошибки и способ их исправления для одного языка программирования. Обратите внимание: Вам нужно исправить приведённую программу, а не написать свою. Вы можете только заменять ошибочные строки, но не можете удалять строки или добавлять новые. Заменять следует только ошибочные строки: за исправления, внесённые в строки, не содержащие ошибок, баллы будут снижаться. 1. Разберемся, как выполняется данный алгоритм для числа 9:

Шаг 1 N = 9 k = 0 k = 1 N = 3
Шаг 2 N = 3 Печать «1»

2. Например, 3. Убедимся:

Шаг 1 N = 3 k = 0 k = 1 N = 1
Шаг 2 N = 1 Печать «1»

3. Первая ошибка допущена в пятой строке «while k mod 3 = 0 do begin» Очевидно, что необходимо найти остаток от деления введенного числа n от 3. Поэтому правильная строка будет выглядеть следующим образом: while n mod 3 = 0 do begin И следовательно, вторая ошибка допущена в девятой строке: « if n > 0 then ». « > 0» надо исправить на « = 1 ». Т.е. должно быть « if n = 1 then ». Потому что это будет означать, что число разделилось нацело на степень тройки. Например, 81/81 = 1. Демонстрационный вариант ЕГЭ 2016 г. ИНФОРМАТИКА и ИКТ, 11 класс На обработку поступает положительное целое число, не превышающее 109. Нужно написать программу, которая выводит на экран сумму цифр этого числа, меньших 7. Если в числе нет цифр, меньших 7, требуется на экран вывести 0. Программист написал программу неправильно. Ниже эта программа для Вашего удобства приведена на пяти языках программирования.

Бейсик Python
DIM N, DIGIT, SUM AS LONG INPUT N SUM = 0 WHILE N > 0 DIGIT = N MOD 10 IF DIGIT < 7 THEN SUM = SUM + 1 END IF N = N \ 10 WEND PRINT DIGIT N = int(input()) sum = 0 while N > 0: digit = N % 10 if digit < 7: sum = sum + 1 N = N // 10 print(digit)
Алгоритмический язык Паскаль
алг нач цел N, digit, sum ввод N sum := 0 нц пока N > 0 digit := mod(N,10) если digit < 7 то sum := sum + 1 все N := div(N,10) кц вывод digit кон var N, digit, sum: longint; begin readln(N); sum := 0; while N > 0 do begin digit := N mod 10; if digit < 7 then sum := sum + 1; N := N div 10; end; writeln(digit) end.
С++
#include int main() < int N, digit, sum; scanf("%d", &N); sum = 0; while (N >0) < digit = N % 10; if (digit < 7) sum = sum + 1; N = N / 10; >printf(«%d»,digit); return 0; >

Последовательно выполните следующее. 1. Напишите, что выведет эта программа при вводе числа 456. 2. Приведите пример такого трёхзначного числа, при вводе которого программа выдаёт верный ответ. 3. Найдите все ошибки в этой программе (их может быть одна или несколько). Известно, что каждая ошибка затрагивает только одну строку и может быть исправлена без изменения других строк. Для каждой ошибки: 1) выпишите строку, в которой сделана ошибка; 2) укажите, как исправить ошибку, т.е. приведите правильный вариант строки. Достаточно указать ошибки и способ их исправления для одного языка программирования. Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка. 1. Разберемся, как выполняется данный алгоритм для числа 456:

Шаг 1 N = 456 sum = 0 digit = 6 sum = 1
Шаг 2 N = 45 digit = 5 sum = 2 N = 4
Шаг 3 N = 4 digit = 4 sum = 3 N = 0
Шаг 4 N = 0 Печать «4»

2. Например, 177. Убедимся:

Шаг 1 N = 177 sum = 0 digit = 7 sum = 0
Шаг 2 N = 17 digit = 7 sum = 0 N = 1
Шаг 3 N = 1 digit = 1 sum = 1 N = 0
Шаг 4 N = 0 Печать « 1 »

3. Первая ошибка допущена в восьмой строке «sum := sum + 1;» Очевидно, что для нахождения суммы цифр < 7, необходимо прибавить значение цифры. Поэтому правильная строка будет выглядеть следующим образом: sum := sum + digit ; И следовательно, вторая ошибка допущена в одиннадцатой строке: « writeln( digit )" . « digit » надо исправить на « sum ». Т.е. должно быть « writeln( sum )», ведь надо вывести сумму, а не значение последней цифры числа. Вывод Отметим, что спустя годы задания стали легче для выполнения (экзаменаторы указывают на количество строк с ошибками). К сожалению, не удалось представить самые интересные задачи, но они обязательно будут в следующей части!

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

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