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

В табличной форме представлен фрагмент базы данных о результатах тестирования учащихся (используется стобальная шкала): Фамилия Пол Математика Химия Биология Информатика География
Роднин м 82 37 33 41 37
Петров м 41 89 41 82 41
Полякова ж 33 83 82 83 89
Шевченко м 83 33 83 33 33
Черепанов м 89 41 37 37 33
Юсупова ж 37 82 89 89 82

Сколько записей в данном фрагменте удовлетворяют условию "Пол='м' "?

Показать ответ
Ответ:
roma1918
roma1918
29.01.2023 08:46
Чтобы разъяснить происходящее, были сделаны следующие шаги.
1. Константы 3.1 и 0.8 переведены в машинное представление а затем назад в десятичное с максимальной для паскалевских данных вещественного типа real (он же double) точностью (вложения 1 и 2).
2. В системе компьютерной алгебры, позволяющей работать с произвольной точностью (выбрана точность в 30 значащих цифр) для полученных констант выполнены соответствующие заданному фрагменту программы вычисления (вложение 3)
3. Результат 0.499999999999999955591079014996 был переведен в машинное представление. Затем в машинное представление была переведена константа 0.5, которая, как видно во вложении 4, представляется в компьютере точно. Поэтому проверка на точное равенство с 0.5 дает не тот результат, который Вы ожидали.
4. Можно было также воспользоваться программой на паскале.
begin
  var x:=3.1;
  var y:=0.8;
  var p:=2;
  var a:=Frac(x); // =0,1
  var b:=Frac(y)-0.5; // =0,3
  var kp:=sqrt(sqr(0.5-a)+b*b); // =0,5
  if abs(kp-0
  Writeln(kp-0.5)
end.

Результат: -5.55111512312578E-17
Это как раз то, что так портит Вам всю картину.

По поводу Вашего условия if kp>=0.5 then p=p+1;
Ошибка имеет порядок 0.6·10⁻¹⁶ и наверно ничего страшного не будет, если оператор (с запасом) подправить на if kp>=(0.5-1e-15) then p:=p+1;

Pascalabc.net вот кусочек программки: // x=3.1 (введено с клавиатуры) // y=0.8 (введено с клавиатуры
Pascalabc.net вот кусочек программки: // x=3.1 (введено с клавиатуры) // y=0.8 (введено с клавиатуры
Pascalabc.net вот кусочек программки: // x=3.1 (введено с клавиатуры) // y=0.8 (введено с клавиатуры
Pascalabc.net вот кусочек программки: // x=3.1 (введено с клавиатуры) // y=0.8 (введено с клавиатуры
0,0(0 оценок)
Ответ:
Mariafetisova1
Mariafetisova1
22.02.2020 14:43
Microsoft Word - это текстовый редактор от компании Microsoft. Программа обычно входит в пакет офисных программ Microsoft Office, но может поставляться и отдельно. Является платной и стоит просто бешеных денег для организаций (около 19000руб, т.к. продается только в составе пакета Microsoft Office Pro), и больших денег для домашних пользователей (около 4000р), но никого это не смущает, все используют пиратские версии. Программа позволяет редактировать тексты любой сложности, вставлять в документы картинки, таблицы и прочее нестандартное содержимое. Аналогом Microsoft Word является бесплатный Writer из пакета LibreOffice и OpenOffice, который позволяет делать всё то же самое, только бесплатно, хотя и немного сложнее местами. Microsoft Word официально работает только на компьютерах с ОС Microsoft Windows и Apple OS X, хотя возможен и его запуск на ОС семейства Linux через Wine, но корректная работа программы не гарантируется. Microsoft Word является самым распространенным текстовым редактором в мире.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота