АК
Мыслитель
(7774)
6 месяцев назад
a = input()
b = input()
c = a – b
print(a, ” – “, b, ” = “, c )
Егор ТимонинУченик (78)
6 месяцев назад
Выдает ошибку, что то неверно.
АК
Мыслитель
(7774)
в какой строке ошибка?
Егор ТимонинУченик (78)
6 месяцев назад
Тут в корне что-то неверно.
АК
Мыслитель
(7774)
Ты входные данные указал одной за раз через пробел что-ли? Попробуй сначало записал переменную a нажимай enter, а потом переменную b также. Я точно не помню но разве можно две переменные выносить на один input, сделай в точности как в моем примере
8. Что выведет эта программа при а = 4, b = 5 ис = 9? print(‘a’, ‘+b’, =, с)
9. Исправьте ошибки в операторе вывода,
print(‘с’, ‘-b’, Е, а )
чтобы при а = 4, b = 5 и с = 9 программа вывела 9-5=4:
10. Определите порядок действий компьютера при вычислении выражения
(впишите номер выполняемого действия над знаком операции):
a = c+ь — 1 / 2
Ответ:
Объяснение:
8. Эта программа, если ее набрать в компиляторе выведет сообщение о синтаксической ошибке, т.к. символ = в операторе print не заключен в апострофы.
Ошибка сервера в приложении ‘/’.
Описание: На сервере возникла ошибка приложения. Текущая пользовательская настройка ошибок для этого приложения не позволяет удаленно просматривать сведения об ошибке данного приложения (из соображений безопасности). Однако, сведения можно просматривать в браузерах, запущенных на локальном сервере.
Сведения: Для разрешения просмотра сведений данного сообщения об ошибке на локальном сервере создайте тег <customErrors> в файле конфигурации “web.config”, который находится в корневом каталоге текущего веб-приложения. В теге <customErrors> следует задать атрибут “mode” со значением “Off”.
Примечания: Отображаемую в данный момент страницу ошибок можно заменить на пользовательскую страницу ошибок, изменив атрибут “defaultRedirect” тега конфигурации <customErrors> приложения таким образом, чтобы он содержал URL-адрес пользовательской страницы ошибок.
Уроки 26 — 29
§18. Линейные программы
Присвоить значение переменной можно двумя способами. Вопервых, можно записать нужное значение прямо в программе:
Оператор, содержащий символы «:=», — это оператор присваивания, с его помощью присваивают новое значение переменной. Он выполняется так: вычисляется выражение справа от символов «:=», а затем результат записывается в переменную, имя которой указано слева.
Для вывода значения переменной на экран используют тот же оператор вывод (в Паскале — write), который раньше применяли для вывода текста:
Что появится на экране после выполнения программы?
вывод с write (с);
вывод ‘c’ write (‘с’);
Чем различаются эти два оператора вывода?
Что выведет на экран программма?
вывод a write (а);
вывод a write (а);
заменяет значение i на i + 1, т. е. увеличивает значение переменной i на 1.
Что получится, если рассмотреть запись i: = i + 1 как равенство — уравнение относительно переменной i?
Чему будет равно значение переменной i после выполнения оператора i: = i + l, если до этого оно было равно 17?
Чему будут равны значения переменных а и b после выполнения программмы
если вначале они имели значения а = 4 и b = 7?
Очень часто программа хранится как исполняемый файл — готовые к выполнению машинные коды. В этом случае текст программы (исходный код) нам недоступен и в нём ничего нельзя исправить. Для того чтобы пользователь смог как-то поменять исходные данные, программист может предусмотреть их ввод с клавиатуры 1) .
Можно также вводить данные из файла или принимать через компьютерную сеть, но пока мы не будем обсуждать эти довольно сложные способы.
Для ввода данных с клавиатуры используется оператор ввод (в Паскале — read). Например, ввести значение переменной а можно так:
Выполняя эту команду, компьютер ожидает, пока пользователь наберёт значение и введёт его, нажав клавишу Enter. Это значение будет присвоено переменной а, которая указана в операторе ввода.
Если в операторе ввода записаны две переменные:
ввод a, b read(a,b);
то программа ожидает ввода двух чисел (через пробел). Первое из них будет записано в первую переменную (в нашем примере — в переменную а), а второе — во вторую (b).
Приведём полную программу сложения двух чисел:
У этой программы сложения чисел есть два недостатка:
1) перед вводом данных пользователь не знает, что от него требуется (сколько чисел нужно вводить и каких);
2) результат выдается в виде числа, которое означает неизвестно что.
Хотелось бы, чтобы диалог программы с пользователем выглядел так:
Введите два числа: 2 3
С помощью какого оператора можно сделать подсказку для ввода — вывести на экран фразу «Введите два числа:»?
При выводе результата ситуация несколько усложняется, потому что нужно вывести значения трёх переменных и два символа: « + » и «=». Можно выводить их по очереди:
вывод b write (b);
но удобнее объединить все выводимые данные в один список вывода, элементы в котором разделены запятыми:
вывод a, ‘+’, b, ‘=’, с write (a, ‘+’, b, ‘=’, с);
Обратите внимание, что имена переменных записаны без апострофов, а все выводимые символы — в апострофах. Если в списке вывода указано имя переменной а, программа выведет не букву «а», а значение, которое хранится в переменной а.
Что выведет эта программа при а = 4, b = 5 и с = 9?
вывод ‘a’, ‘+b’, =, с write (‘а’, ‘+b’ , =, с);
Исправьте ошибки в операторе вывода:
вывод ‘с’, ‘-b’, =, a write (‘с’, ‘-b’ , =, а);
так чтобы при а = 4, b = 5 и с = 9 программа вывела: 9 — 5 = 4.
В результате мы получаем такую программу:
Здесь можно было бы обойтись и без переменной с, потому что элементом списка вывода может быть арифметическое выражение, которое сразу вычисляется, и на экран выводится его результат:
вывод а, ‘+’, b, ‘=’, a + b write (а, ‘+’, b, ‘=’, а + b);
Следующая страница Арифметические выражения
Cкачать материалы урока
Автор материалов – Лада Борисовна Есакова.
Самая распространенная ошибка, которую нужно найти и исправить – это неправильное использование вложенных условных операторов. Для усложнения поиска возможно неправильное форматирование текста (неправильно поставленные отступы).
Для того, чтобы найти ошибку, нужно поставить в соответствие друг другу все части условного оператора if и else.
Помним, что часть else относится к ближайшему if. При этом наличие части else не обязательно.
Кроме того, часто присутствует ошибка при вводе или выводе. Обязательно нужно проверить, та ли информация выводится на экран.
Особого внимания требует инициализация переменных.
Формат книги не позволяет рассмотреть все основные типы задач 2 части, рассмотрим лишь те, которые встречались на проверочных и экзаменационных работах последних двух лет.
Пример 1.
На обработку поступает положительное целое число, не превышающее 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) |
Паскаль |
Алгоритмический язык |
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. |
алг
нач цел N, digit, sum ввод N sum := 0 нц пока N > 0 digit := mod(N,10) если digit < 7 то sum := sum + 1 все N := div(N,10) кц вывод digit кон |
Си |
|
#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); return0; } |
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 456.
2. Приведите пример такого трёхзначного числа, при вводе которого программа выдаёт верный ответ.
3. Найдите все ошибки в этой программе (их может быть одна или несколько). Известно, что каждая ошибка затрагивает только одну строку и может быть исправлена без изменения других строк. Для каждой ошибки:
1) выпишите строку, в которой сделана ошибка;
2) укажите, как исправить ошибку, т.е. приведите правильный вариант строки.
Достаточно указать ошибки и способ их исправления для одного языка программирования. Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.
Решение:
Решение использует запись программы на Паскале. Допускается использование программы на любом из четырёх других языков.
1. Программа выведет число 4.
2. Пример числа, при вводе которого программа выдаёт верный ответ: 835.
Программа работает неправильно из-за неверной выводимой на экран переменной и неверного увеличения суммы. Соответственно, программа будет работать верно, если в числе старшая цифра (крайняя левая) равна сумме цифр, меньших 7.
3. В программе есть две ошибки.
Первая ошибка. Неверное увеличение суммы.
Строка с ошибкой:
sum := sum + 1;
Верное исправление:
sum := sum + digit;
Вторая ошибка. Неверный вывод ответа на экран.
Строка с ошибкой:
writeln(digit)
Верное исправление:
writeln(sum)
Пример 2.
Для заданного положительного вещественного числа A необходимо найти максимальное целое число K, при котором выполняется неравенство
(при K = 0 сумма считается равной 0).
Для решения этой задачи ученик написал такую программу.
Бейсик |
Python |
DIM A, S AS DOUBLE
DIM K AS INTEGER INPUT A K = 1 S = 1 WHILE S < A S = S + 1.0/K K = K + 1 WEND PRINT K END |
a = float(input())
k = 1 s = 1 while s < a: s = s + 1.0/k k = k + 1 print(k) |
Алгоритмический язык |
Паскаль |
алг
нач вещ a, s цел k ввод a k := 1 s := 1 нц пока s<a s := s + 1.0/k k := k + 1 кц вывод k кон |
var a, s: real;
k: integer; begin read(a); k := 1; s := 1; while s<a do begin s := s + 1.0/k; k := k + 1; end; write(k); end. |
Си |
|
#include <stdio.h>
int main(){ double a, s; int k; scanf(“%lf”,&a); k = 1; s = 1; while (s<a) { s = s + 1.0/k; k = k + 1; } printf(“%d”, k); return 0; } |
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 1.2.
2. Приведите пример числа, при вводе которого программа даст верный ответ.
3. Найдите в программе все ошибки (их может быть одна или несколько).
Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.
Обратите внимание: вам нужно исправить приведённую программу, а не написать свою. Вы можете только исправлять ошибочные строки; удалять строки или добавлять новые строки нельзя. Постарайтесь также не внести новые ошибки – за это оценка снижается.
Решение:
Решение использует запись программы на Паскале. Допускается использование программы на других языках.
1. При вводе числа 1.2 программа выведет число 2.
2. Примеры чисел, при вводе которых программа выводит верный ответ: 1.6, 2.05.
Программа содержит две ошибки, одна из которых приводит к увеличению ответа, другая – к уменьшению.
В некоторых случаях эти ошибки компенсируют друг друга, и ответ оказывается правильным. Это происходит, если значение A попадает в один из следующих диапазонов: 1.5 < A < 1.83, 2 < A < 2.08.
3. Программа содержит две ошибки.
1) Неверная инициализация. Начальное значение S должно быть равно нулю.
В приведённом варианте вычисленная сумма оказывается на 1 больше правильного значения.
Строка с ошибкой:
s := 1;
Правильная строка:
s := 0;
2) Неверное определение ответа. Приведённая программа находит не максимальное K, при котором выполняется неравенство, а минимальное, при котором оно не выполняется, то есть увеличивает верное значение на 1.
Кроме того, использованный порядок действий в цикле (увеличение K после увеличения S) приводит к увеличению ещё на 1. Это можно было бы исправить, изменив порядок действий в цикле и уменьшив K после завершения цикла, но эти действия не разрешены по условию задачи.
Поэтому для исправления ошибки можно просто скорректировать значение при выводе.
Строка с ошибкой:
write(k);
Правильная строка:
write(k-2);
Благодарим за то, что пользуйтесь нашими статьями.
Информация на странице «Задача №24. Исправление ошибок в программе.» подготовлена нашими авторами специально, чтобы помочь вам в освоении предмета и подготовке к ЕГЭ и ОГЭ.
Чтобы успешно сдать нужные и поступить в высшее учебное заведение или техникум нужно использовать все инструменты: учеба, контрольные, олимпиады, онлайн-лекции, видеоуроки, сборники заданий.
Также вы можете воспользоваться другими материалами из данного раздела.
Публикация обновлена:
08.05.2023
Найди верный ответ на вопрос ✅ «1. Исправить ошибки в программе; 2. Что выведется на экран в результате выполнения программы? War:a, b, c-integer. x:real; Bigin A=7, …» по предмету 📙 Информатика, а если ответа нет или никто не дал верного ответа, то воспользуйся поиском и попробуй найти ответ среди похожих вопросов.
Искать другие ответы
Главная » Информатика » 1. Исправить ошибки в программе; 2. Что выведется на экран в результате выполнения программы? War:a, b, c-integer. x:real; Bigin A=7, b=3,2, c:=a+b; Writln (summa=, c); C:=c/2; x:=a-c; Writeln (‘x=’, x,’kvadrat=’, x*x); and
Инесса Глебоваученик (Информатика)
0
0
Рейтинг
0.0
Оцените
Оценить
помогите решить, даю 8 баллов
Задача
Исправьте ошибки в программе так, чтобы программа выводила информацию как указано в примере.
На вход подаются только положительные целые числа
Пример
Входные данные
9 5
Выходные данные
9-5=4
229
0
Жалоба
Комментарии (0)
По дате
По дате
Популярные
Нет комментарий
Войдите, чтобы комментировать