Практика языка C (МФТИ, 2023-2024). Семинар 8.2. Решение уравнений и вычисление функций.

  Рет қаралды 5,718

Konstantin Vladimirov

Konstantin Vladimirov

Күн бұрын

Пікірлер: 32
@РусланМочалов-н8ь
@РусланМочалов-н8ь 8 ай бұрын
Преподаватель самый лучший!!! Все его видео пересмотрел (а мне уже почти 40 лет). Видно сразу, что любит свою профессию. Смотреть очень интересно.
@СтаниславВершков-т2т
@СтаниславВершков-т2т 8 ай бұрын
Ну и что, что 40 лет?
@AlexAlex-ll5sz
@AlexAlex-ll5sz 8 ай бұрын
А мене почти 50 я смотрю.
@alex_s_ciframi
@alex_s_ciframi 7 ай бұрын
я людям рекомендую смотреть канал Константина вместо сериалов :D
@wumi2419
@wumi2419 8 ай бұрын
Семинары для себя это да) Сам на 4 курсе в другом ВУЗе, но смотреть интересно и местами есть новая информация.
@fedorbabkin
@fedorbabkin 8 ай бұрын
Вспомнился ФОПФовый анекдот. Студент на экзамене по электродинамике все время подглядывает на ладонь руки. Преп ловит его, говорит: показывай шпаргалку. Тот показывает левую ладонь, там буква Л. Преп: зачем тебе это? Студент: правило левой руки помню, а какая из них левая, всё время забываю...
@akulij
@akulij 8 ай бұрын
1:13:10 - видимо запись решила скрыть, что мы увидим в реализации синуса) но я дополню, что почти всегда мы увидим ряды Тейлора (к примеру, как в musl и glibc) P.S.: видео как всегда супер! Спасибо)
@s2s4d5s1
@s2s4d5s1 5 ай бұрын
Лекции топ. Програма поиска целочисленного квадратного корня страдает от переполнения когда x > std::numeric_limits::max() /2; Кажется в бинарном поиске всегда лучше вместо (r+l+1)/2 использовать l+r/2; Так, так что оба могут не коректно работать, и левый и правый вариант, и тяжело выбрать. А вообще я когда-нибудь заработаю кучу денег, чтобы мне не пришлось работать и поступлю к вам учиться на первый курс)
@alex_s_ciframi
@alex_s_ciframi 7 ай бұрын
Константин, спасибо за лекцию. 47:44 - опечатка "рещить" 1:18:31 - а такое приведение к float* - это разве не нарушение стрикт алиазинг?
@tilir
@tilir 6 ай бұрын
Нарушает, но из классики слова не выкинешь ))
@vdalart
@vdalart 6 ай бұрын
49:04 Задачка вроде бы очень просто решается логически. Если n людей скинутся каждый на одну монету больше, то сумма будет на n монет больше. Получаем n = 7 (было x - 4, стало x + 3).
@tilir
@tilir 6 ай бұрын
Два диофантовых уравнения, две неизвестных (кол-во людей и стоимость вещи). Да это решается через них, я на слайде собственно и указал.
@sibedir
@sibedir 8 ай бұрын
Добрый день, добрые люди. Ну что ж, приступим 🧘‍♂️🙄🤯
@stanislavstanislavius7618
@stanislavstanislavius7618 6 ай бұрын
35:34 не повезло)))
@alexanderspeshilov839
@alexanderspeshilov839 8 ай бұрын
"Подсмотриваю" ваши семинары (хоть и в 2 раза старше студентов). Про бенчмаркинг sqrt. На X64 и мощных ARM понятно что итеративно (даже Ньютоном) вариант dsqrt обогнать если и можно, то не просто. Но вот на каком-нибудь Cortex- M0 или RISC-V без нужных расширений dsqrt может оказаться совсем небыстрым. При этом для целых есть хорошее начальное приближение что-нибудь типа x >> ((32 - clz(x)) >> 1), где clz - количество нулей впереди. Впрочем, у m0 clz тоже, если я правильно помню не одной командой считается.
@vdalart
@vdalart 6 ай бұрын
40:07 (целочисленный квадратный корень). А не может получиться так, что корень из целого квадрата, например, из 121 будет представлен в виде числа с плавающей точкой как 10.999999999 и округляя вниз мы получим 10 вместо 11? Я проверил - такой ошибки не возникает, но всегда ли это будет так?
@tilir
@tilir 6 ай бұрын
Да это интересное наблюдение. Я не уверен. Предложите как тестировать?
@evseee
@evseee 8 ай бұрын
да, одно дело когда говорят "для икс меньше дельта", а другое когда ты на, ещё зелёном, но уже графическом, мониторе видишь как колбасит ряд маклорена для синуса при удалении от нуля :)
@sibedir
@sibedir 8 ай бұрын
34:35 Числа с плавающей точкой на столько отличаются от вещественных чисел, что там даже левое и правое не такие 😂
@lwind4884
@lwind4884 8 ай бұрын
При проверке на равенство чисел с плавающей точкой рекомендую руководствоваться следующей методикой. Если, например, нужна точность до 5го знака после десятичной точки, берите допуск равный 0,5*0,00001 (т.е. 0,000005). Так Вы нивелируете погрешность математического округления.
@Pzqmoxwniceb
@Pzqmoxwniceb 8 ай бұрын
Нас на вычислительной математике учили считать на разряд выше требуемой точности.
@lwind4884
@lwind4884 8 ай бұрын
@@Pzqmoxwniceb Я имел ввиду следующее. Нужно сравнить два числа так, как если бы Вы перевели эти числа в строку с одинаковыми настройками форматирования, а потом проверили на равенство. Например, сравните числа 1.5551 и 1.5552 с точностью до третьего знака после десятичной точки. Если считать на разряд выше, то с точностью до четвёртого знака эти два числа не равны. Но с точностью до третьего знака они не различимы, т.е. равны. Впрочем. Вообще выбор метода сравнений чисел с плавающей точкой зависит от конкретной задачи.
@Pzqmoxwniceb
@Pzqmoxwniceb 8 ай бұрын
@@lwind4884 я не про количество знаков после запятой. Я про количество разрядов. Например, 123456.789(9 разрядов)*1.234(4 рязряда) - так считаль нельзя, потому что результат умножения будет достоверным только на 4 разряда. Нужно сохранять количество разрядов, а именно 123456.789*1.23456789 - так правильно, если нужна точность 8 разрядов. Как тут сравнивать? В каждом конкретном случае свое количество знаков после запятой.
@lwind4884
@lwind4884 8 ай бұрын
@@Pzqmoxwniceb Благодарю за комментарий по поводу точности вычислений. Однако, прошу обратить внимание, что я писал о методе сравнения.
@hohlovin
@hohlovin 8 ай бұрын
Давали бы мне такие знания году так в 95-м...
@narzaru
@narzaru 8 ай бұрын
Здравствуйте, доступа к заданиям в задачнике нет, и ссылка на плейлист с записями семинаров в конце задачника неправильная
@tilir
@tilir 8 ай бұрын
У вас проблемы с браузером, он подменяет вам http на https.
@narzaru
@narzaru 8 ай бұрын
@@tilirтак и не смог победить, пробовал Edge, Google Chrome, Firefox. Потыкал настройки, не помогло. Код последней ошибки 4e816500.
@allallall2321
@allallall2321 8 ай бұрын
@2_x_2_4
@2_x_2_4 8 ай бұрын
kzbin.info/www/bejne/j6GQo4GVdr-Jias Эту формулу (1/2(xn+a/xn)) ещё называют фомулой Герона. А т.к. одну формулу Герона студенты знают, то, полагаю, у вас, Константин, интересно получилось бы обыграть такую ситуацию в лекции. :-)
УНО Реверс в Амонг Ас : игра на выбывание
0:19
Фани Хани
Рет қаралды 1,3 МЛН
Как Ходили родители в ШКОЛУ!
0:49
Family Box
Рет қаралды 2,3 МЛН
-5+3은 뭔가요? 📚 #shorts
0:19
5 분 Tricks
Рет қаралды 13 МЛН
Нас не должно быть: Загадка 6 чисел
55:17
Как устроена Вселенная // Борис Штерн
1:34:03
Лекторий Живой город
Рет қаралды 473 М.
УНО Реверс в Амонг Ас : игра на выбывание
0:19
Фани Хани
Рет қаралды 1,3 МЛН