Найди и запиши ошибку в программе


Информатика,


вопрос задал Tayxd,


4 года назад

Добавить свой ответ

Ответы на вопрос

Ответил malfoyd620





3

Ответ:

a)

program Examрle1;

var m: integer; h, g, A: real;

begin

m:=10;

g:=9.8;

h:=5.5;

A:=m*g*h;

write( ‘A= ‘, A)

end.

b)

program Examрle2;

var a, b, c: real;

begin

a:=2.5;

b:=3.0;

writeln(a,’ ‘,b);

c:=a;

a:=b;

b:=c;

write (a,’ ‘,b)

end.

Добавить свой ответ

Предыдущий вопрос

Следующий вопрос

Новые вопросы

Русский язык,
2 месяца назад

Разобрать глагол идёте как часть речи…

Другие предметы,
2 месяца назад

какие традиции связаны с боевым знаменем помогите плиз)_)))!!!

Математика,
4 года назад

Помогиитееее 50 баллов…

Математика,
4 года назад

В магазин завезли овощи.Две девятых всех овощей-огурцы,а пять десятых всех овощей -картофель.СКОЛЬКО кг огурцов завезли в магазин , если картофеля завезли 135кг?

Математика,
6 лет назад

19344/156. 42416/176. 12865/415. 14352/624. столбиком.

Химия,
6 лет назад

Помогите пожалуйста
Установите молекулярную формулу вещества , если известно, что оно содержит по массе : 31,9% C, 5,3% H и 62,8% Cl. Плотность по воздуху равна 3,9. Напишите формулы изомеров и…

Задание 175 Найдите ошибку в программе Информатика Босова Рабочая тетрадь 2 часть

program z175;
var c: integer;
begin
c:=4,75;
writeln (‘c=’, c);
end.

Ответ: c: real;
У переменной c тип integer, а в программе ей присваивается значения типа real.

На этой странице размещен вариант решения заданий с страницы к рабочей тетради часть 1 по информатике за 8 класс авторов Босова. Здесь вы сможете списать решение домашнего задания или просто посмотреть ответы. ГДЗ, рабочая тетрадь часть 1

Литература:Рабочая тетрадь, часть 1,2. Информатика, 8 класс. Автор: Босова Л.Л., Босова А.Ю. Издательство: Бином

Did you find apk for android? You can find new Free Android Games and apps.

1) Найдите ошибки в программе и запишите правильный вариант

Var a, b, i, x:real;

Begin

Read (x);

a:=x;

For i:=1 downto b do

Begin

i:=i+3;

a: = a/2;

x:=x+a;

End;

write (x);

End.

2) рассмотрите фрагмент программы и ответьте что будет выведено на экран

begin

n:=5; k:=2;

For a:=1 to n do

begin

x:=x*3;

Writeln (x);

End;

Write (n);

End;

Begin

n:=4; a:=n;

For x:=1 to n do

a:=a-3;

Writeln (a);

End;

Найди верный ответ на вопрос ✅ «1) Найдите ошибки в программе и запишите правильный вариант Var a, b, i, x:real; Begin Read (x); a:=x; For i:=1 downto b do Begin i:=i+3; …» по предмету 📙 Информатика, а если ответа нет или никто не дал верного ответа, то воспользуйся поиском и попробуй найти ответ среди похожих вопросов.

Искать другие ответы

Главная » Информатика » 1) Найдите ошибки в программе и запишите правильный вариант Var a, b, i, x:real; Begin Read (x); a:=x; For i:=1 downto b do Begin i:=i+3; a: = a/2; x:=x+a; End; write (x); End.

Автор материалов — Лада Борисовна Есакова.
Самая распространенная ошибка, которую нужно найти и исправить – это неправильное использование вложенных условных операторов. Для усложнения поиска возможно неправильное форматирование текста (неправильно поставленные отступы).

Для того, чтобы найти ошибку, нужно поставить в соответствие друг другу все части условного оператора 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. Исправление ошибок в программе.» подготовлена нашими редакторами специально, чтобы помочь вам в освоении предмета и подготовке к ЕГЭ и ОГЭ.
Чтобы успешно сдать нужные и поступить в высшее учебное заведение или техникум нужно использовать все инструменты: учеба, контрольные, олимпиады, онлайн-лекции, видеоуроки, сборники заданий.
Также вы можете воспользоваться другими статьями из разделов нашего сайта.

Публикация обновлена:
07.06.2023

Понравилась статья? Поделить с друзьями:
  • Найди и вычеркни в тексте одну ошибку
  • Найди здесь ошибку в игре
  • Найди здесь ошибку брайан тест
  • Найди здесь ошибку 84 уровень ответ
  • Найди грамматическую ошибку в каждом предложении запиши правильный вариант