В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
sergooopoop
sergooopoop
09.07.2022 13:42 •  Информатика

Дана структурная формула F(X,Y)=НЕ(X)&НЕ(X v Y). Постройте соответствующую ей функциональную схему.

Показать ответ
Ответ:
turuo
turuo
31.01.2022 08:26

program z1;

var i,x,y,z,k:integer;

begin

k:=0;

randomize;

writeln ('Проверка знания Таблицы умножения');

writeln;

for i:=1 to 5 do

begin

x:=random(9)+1;

y:=random(9)+1;

writeln ('Сколько будет ',x,' * ',y);

write ('Ваш ответ ');

readln (z);

if z=x*y then

begin

k:=k+1;

writeln ('Правильно!')

end

else writeln ('Неправильно!  ',x,' * ',y,' = ',x*y);

writeln

end;

writeln;

writeln ('Количество правильных ответов ',k)

end.

Объяснение:

Цикл с параметром (5 вопросов):

1) Числа генерируются случайным образом от 1 до 9

2) Вывод на экран вопроса

3) Ввод ответа пользователем

4) Оценка правильности ответа (полный оператор ветвления - если ответ пользователя верен, то увеличиваем значение k и выводим сообщение о верности ответа, иначе выводим сообщение об ошибочности ответа и верный ответ)

Вывод на экран количество правильных ответов

0,0(0 оценок)
Ответ:
Диана1Котова
Диана1Котова
08.07.2022 21:14

1. Отладка программы

2. Локализация ошибок

Локализация - это нахождение места ошибки в программе.

В процессе поиска ошибки мы обычно выполняем одни и те же действия:

прогоняем программу и получаем результаты;

сверяем результаты с эталонными и анализируем несоответствие;

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

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

обнаружения ошибки:

Аналитический - имея достаточное представление о структуре программы, просматриваем ее текст вручную, без прогона.

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

Оба по-своему удобны и обычно используются совместно.

3. Принципы отладки

Принципы локализации ошибок:

Большинство ошибок обнаруживается вообще без запуска программы - просто внимательным просматриванием текста.

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

Чрезвычайно удобные вс средства - это отладочные механизмы среды разработки: трассировка, промежуточный контроль значений. Можно использовать даже дамп памяти, но такие радикальные действия нужны крайне редко.

Экспериментирования типа "а что будет, если изменить плюс на минус" - нужно избегать всеми силами. Обычно это не дает результатов, а только больше запутывает процесс отладки, да еще и добавляет новые ошибки.

4. Методы отладки

Силовые методы

- Использование дампа (распечатки) памяти.

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

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

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

- Использование автоматических средств отладки - трассировки с отслеживанием промежуточных значений переменых.

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

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

С точки зрения "правильного" программирования силовые методы плохи тем, что не поощряют анализ задачи.

Суммируя свойства силовых методов, получаем практические советы:

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

- использовать отладочную печать в небольших количества и "по делу";

- оставить дамп памяти на самый крайний случай.

Метод дедукции - от общего к частному.

Выдвигаем гипотезу, которая может объяснить ошибку, пусть и не полностью. Затем при тестов эта гипотеза проверяется и доказывается.

Обратное движение по алгоритму.

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

Метод тестирования.

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

var

a, b, c: real;

begin

writeln('Программа находит значение максимального из трех введенных чисел');

write('Введите первое число '); readln(a);

write('Введите второе число '); readln(b);

write('Введите третье число '); readln(c);

if (a>b)and(a>c) then

writeln('Наибольшим оказалось первое число ',a:8:2)

else if (b>a)and(<strong>a</strong>>c) then

writeln('Наибольшим оказалось второе число ',b:8:2)

else

writeln('Наибольшим оказалось третье число ',<strong>b</strong>:8:2);

end.

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

1) Аварийная печать - вывод сообщений о ненормальном завершении

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота