![Oleksandr Tsymbaliuk](/img/default-banner.jpg)
- 245
- 548 589
Oleksandr Tsymbaliuk
Ukraine
Приєднався 22 чер 2012
Я научный сотрудник факультета радиофизики,электроники и компьютерных систем КНУ им. Тараса Шевченко. Область моей деятельности плазмохимия и вычислительная физика. На этом канале выкладываю видео наглядных экспериментов в области физики газового разряда и плазмохимии. И также видео лекций по теории алгоритмов и компьютерному моделированию.
Также преподаю программирование на Java в компании PROG.ACADEMY - prog.academy/ua/
Также преподаю программирование на Java в компании PROG.ACADEMY - prog.academy/ua/
Функции в Fortran
Полная программа курса доступна по этой ссылке - docs.google.com/document/d/1fhEluxdDHiCHgzuJO-h7m_O9bAQ9z1XbNE1cyqSFlvs/edit?usp=sharing
На этой лекции мы рассмотрим как объявлять функции в Fortran и как их вызывать.
00:00 Вступление
00:15 Что такое функции
02:04 Описание функций
11:26 Обязательно используйте результат вызова функций
12:31 Рекомендации когда использовать функции
13:46 Примеры написания и использования функций
На этой лекции мы рассмотрим как объявлять функции в Fortran и как их вызывать.
00:00 Вступление
00:15 Что такое функции
02:04 Описание функций
11:26 Обязательно используйте результат вызова функций
12:31 Рекомендации когда использовать функции
13:46 Примеры написания и использования функций
Переглядів: 241
Відео
Домашнее задание по теме Процедуры
Переглядів 11128 днів тому
Полная программа курса доступна по этой ссылке - docs.google.com/document/d/1fhEluxdDHiCHgzuJO-h7m_O9bAQ9z1XbNE1cyqSFlvs/edit?usp=sharing
Практическая работа 2 по теме процедуры
Переглядів 145Місяць тому
Полная программа курса доступна по этой ссылке - docs.google.com/document/d/1fhEluxdDHiCHgzuJO-h7m_O9bAQ9z1XbNE1cyqSFlvs/edit?usp=sharing Практическая работа по теме процедуры. 00:00 Вступление 00:13 Задание 1 08:01 Задание 2 11:08 Задание 3
Алгоритмы. Турнирная сортировка
Переглядів 280Місяць тому
Программу данного курса вы можете посмотреть по ссылке - docs.google.com/document/d/1U-XBUSU1PMwn7DL_nks2nUmyPSiDDdSpmTF9Ec_7MSU/edit?usp=sharing Эта лекция посвящена одному интересному алгоритму сортировки с применением бинарной кучи. Алгоритм интересен тем что может получать отсортированные части из большой последовательности (что может пригодиться при обработке больших данных). Рассмотрим ре...
Использование атрибута save в Fortran
Переглядів 1432 місяці тому
Полная программа курса доступна по этой ссылке - docs.google.com/document/d/1fhEluxdDHiCHgzuJO-h7m_O9bAQ9z1XbNE1cyqSFlvs/edit?usp=sharing Могут ли локальные переменные процедуры сохранять свои значения между ее вызовами? Да! Именно для этого используют атрибут save, и это позволяет писать довольно необычный код. 00:00 Вступление 04:01 Атрибут save 09:26 Атрибут save и динамические массивы 14:14...
Алгоритмы. Нахождение корней уравнения методом Ньютона
Переглядів 4653 місяці тому
Программу данного курса вы можете посмотреть по ссылке - docs.google.com/document/d/1U-XBUSU1PMwn7DL_nks2nUmyPSiDDdSpmTF9Ec_7MSU/edit?usp=sharing В этот раз нас ждет итерационный алгоритм решения уравнений методом Ньютона. Перед этой лекцией нужно вспомнить алгоритмы численного дифференцирования. И конечно реализуем этот алгоритм на Python и Java. Ссылка на конспект этой лекции - drive.google.c...
Pure и elemental процедуры в Fortran
Переглядів 1863 місяці тому
Полная программа курса доступна по этой ссылке - docs.google.com/document/d/1fhEluxdDHiCHgzuJO-h7m_O9bAQ9z1XbNE1cyqSFlvs/edit?usp=sharing На этой лекции мы рассмотрим pure и elemental процедуры. Эти процедуры будут использоваться в дальнейшем для распараллеливания вычислений, но и на текущем уровне они могут предоставлять интересные возможности. 00:00 Вступление 00:17 Pure процедуры 07:12 Eleme...
Внешние и внутренние процедуры в Fortran
Переглядів 1873 місяці тому
Полная программа курса доступна по этой ссылке - docs.google.com/document/d/1fhEluxdDHiCHgzuJO-h7m_O9bAQ9z1XbNE1cyqSFlvs/edit?usp=sharing На этой лекции мы рассмотрим внешние и внутренние процедуры. И если внешние процедуры пока останутся экзотикой, то внутренние быстро найдут свое применение в ваших программах. 00:00 Вступление 00:16 Внешние процедуры 07:12 Внутренние процедуры
Указатели на процедуры в Fortran
Переглядів 1434 місяці тому
Полная программа курса доступна по этой ссылке - docs.google.com/document/d/1fhEluxdDHiCHgzuJO-h7m_O9bAQ9z1XbNE1cyqSFlvs/edit?usp=sharing Можно ли создавать указатели на процедуры? Ответ на этот вопрос будет рассмотрен в этой лекции. 00:00 Вступление 00:18 Как объявлять указатели на процедуру 05:20 Прикрепление указателя к разным процедурам 08:36 Указание в интерфейсном блоке несуществующей про...
Алгоритмы. Динамическое программирование
Переглядів 1,1 тис.4 місяці тому
Программу данного курса вы можете посмотреть по ссылке - docs.google.com/document/d/1U-XBUSU1PMwn7DL_nks2nUmyPSiDDdSpmTF9Ec_7MSU/edit?usp=sharing На этой лекции мы рассмотрим теоретические основы одной из методологий решения задач, а именно динамическое программирование. Определим критерии которым должна соответствовать задача и рассмотрим несколько задач для примера. Ссылка на конспект этой ле...
Обобщенные процедуры в Fortran
Переглядів 1805 місяців тому
Полная программа курса доступна по этой ссылке - docs.google.com/document/d/1fhEluxdDHiCHgzuJO-h7m_O9bAQ9z1XbNE1cyqSFlvs/edit?usp=sharing Иногда нужно описать процедуру которая будет работать с разными типами данных. Как это сделать в Fortran? Обобщенные процедуры дают такую возможность, что позволит вам писать еще более качественный код. 00:00 Вступление 00:15 Определение обобщенных процедур 0...
Алгоритмы. Сортировка бинарным деревом
Переглядів 3465 місяців тому
Программу данного курса вы можете посмотреть по ссылке - docs.google.com/document/d/1U-XBUSU1PMwn7DL_nks2nUmyPSiDDdSpmTF9Ec_7MSU/edit?usp=sharing Как еще можно использовать бинарное дерево поиска? Например его можно использовать в алгоритме сортировки последовательности. На этой лекции мы рассмотрим алгоритм сортировки бинарным деревом и реализуем его на Java и Python Ссылка на конспект этой ле...
Ключевые аргументы и необязательные параметры процедур
Переглядів 1905 місяців тому
Полная программа курса доступна по этой ссылке - docs.google.com/document/d/1fhEluxdDHiCHgzuJO-h7m_O9bAQ9z1XbNE1cyqSFlvs/edit?usp=sharing Как сделать по настоящему удобные процедуры? Для этого можно использовать комбинацию двух возможностей - ключевых аргументов и необязательных параметров. 00:00 Вступление 00:27 Ключевые аргументы 05:03 Необязательные параметры процедур
Структуры данных. Волновой алгоритм Ли
Переглядів 5746 місяців тому
Программу данного курса вы можете посмотреть по ссылке - docs.google.com/document/d/1U-XBUSU1PMwn7DL_nks2nUmyPSiDDdSpmTF9Ec_7MSU/edit?usp=sharing Волновой алгоритм (алгоритм Ли) это еще один алгоритм поиска кратчайшего пути в графе. Этот алгоритм интересен тем, что используется в компьютерных играх, поэтому я надеюсь что он вас заинтересует. Ссылка на конспект этой лекции - drive.google.com/fil...
Рекурсивные процедуры в Fortran
Переглядів 2366 місяців тому
Полная программа курса доступна по этой ссылке - docs.google.com/document/d/1fhEluxdDHiCHgzuJO-h7m_O9bAQ9z1XbNE1cyqSFlvs/edit?usp=sharing Рекурсия эта тема достаточна сложна для начинающего. На этой лекции мы познакомимся с ее основами в виде рекурсивных процедур. 00:00 Вступление 00:22 Определение рекурсии 07:07 Описание рекурсивных процедур в Fortran 11:06 Рекурсивный и циклический подход
Динамическое выделение памяти в процедурах
Переглядів 2207 місяців тому
Динамическое выделение памяти в процедурах
Структуры данных. Поиск в ширину для графов
Переглядів 4548 місяців тому
Структуры данных. Поиск в ширину для графов
Структуры данных. Бинарное дерево поиска
Переглядів 7008 місяців тому
Структуры данных. Бинарное дерево поиска
Строки как параметры процедур в Fortran
Переглядів 1968 місяців тому
Строки как параметры процедур в Fortran
Структуры данных. Деревья. Вступление
Переглядів 6879 місяців тому
Структуры данных. Деревья. Вступление
Массивы как параметры процедур в Fortran
Переглядів 3129 місяців тому
Массивы как параметры процедур в Fortran
Структуры данных. Поиск в глубину для графов
Переглядів 4859 місяців тому
Структуры данных. Поиск в глубину для графов
Динамическое выделение памяти при работе с указателями в Fortran
Переглядів 31011 місяців тому
Динамическое выделение памяти при работе с указателями в Fortran
Структуры данных. Представление простого графа
Переглядів 77111 місяців тому
Структуры данных. Представление простого графа
Александр, Вы ТОП! Спасибо!
А как быть с центральным сигнальным штырем текера ноутбука? Может ли он влиять на работу. У меня не запускается ноут.
Тут все зависит от производителя ноутбука. Но довольно частый случай когда нужно подать на него плюс питания через обычный резистор (номинал резистора зависит от модели ноутбука)
@@oleksandrtsymbaliuk а как узнать номинал? У меня старенький Леново think pad l530( кажись )
Да просто в поисковике набрать название своего блока питания и мощность (и посмотреть что бы тип разъема совпадал). А то их вроде два типа прямоугольный и круглый. Ну или просто возьмите мультиметр и замерьте это сопротивление на рабочем блоке питания. Например так - ua-cam.com/video/ySoHgWVcNEI/v-deo.html
@@oleksandrtsymbaliuk У меня зарядное на 90вт, круглый штекер. Измеряю сопротивление- ничего нет, там нет резистора , но это родной адаптер ноутбука( я с него работаю когда свет есть). В другом , новом шнурке с таким же штекером на 2 контакта, та же песня- нет сопротивления. Как у индуса на видео получилось?🤷
Если верить найденому в интеренет то такой резистор идет от МИНУСА к сигнальному проводу. И номиналы примерно такие Slim tips: From ThinkWiki: power rating resistance 36 W 7.3 kΩ 45 W 120 Ω 65 W 280 Ω 90 W 550 Ω 135 W 1 kΩ 170 W 1.9 kΩ 230 W 4.6 kΩ
круто
❤
акб я заряжаю зарядкой от леновы 20 в. не горит. прекрасно заряжается и в концы акб чуть-чуть кипит при17 в как ему и положено производителем.
Насколько же хорошее и понятное математическое обоснование метода Ньютона, настолько же плохой и дурной алгоритм на ЯП. Мало того, что саму функцию передают в другие функции (непонятно зачем, если итак область видимости public), так и сами циклы написаны так, чтобы можно было переполнить стэк. Ну и да, перезаписывать x_0 "отличная" идея. while true вообще убил.
странно если я напрямую подключаю +11 или +12 вольт вместо батареи(предварительно проверил распиновку) ноут не стартует. сделав то же как и автор, первый раз стартануло, батарея с восклицательным знаком, второй раз не хочет, при подключении блока питания ноутбука он включается показывает даже типо заряд, но отключая питание заряд быстро начинает падать и через минуту ноут выключается, хотя питание 12в на плату акб идет... не работает способ на HP ноутбуке.
Спасибо за бесценный материал! Так подробно мало кто рассказывает!
Большое спасибо, именно то, что искал :) Очень понятно
в ассемблере нет функций и возвращают результат процедуры. ну и процедуры в любом языке где есть функции тоже могут возвращать результат, все зависит от того каким образом вы передаете переменную, самый простой способ передавать указатель, ну а к примеру в паскаль можно перед переменной поставить var и тогда все вернется в этой переменной. отличия функции от переменной всего лишь в том что функцию можно использовать с операторами типа а = в + фунеция(а) + с;.
Фортран, смотрю, еще живет)
Фортран . ne. умер. Вообще, вроде бы, на западе он популярен в научных кругах для программ на кластерах.
@@user-bi8yq9on9h есть же Пайтон, он проще и популярнее
Тут можно поспорить, в своё время когда он только появился он предоставлял такой функционал который до него никто ещё никогда не реализовывал, в своё время когда он вышел это считалось чудом программирования и прорывом в программировании, однако время идёт и сейчас с новыми технологиями "построить" свой собственный компилятор и свой собственный ЯП для него ещё никогда не было такой простой задачей как сейчас, это неизбежно, технологии развиваются, в "научных кругах" им практически не пользуются, как правило если нужно провести какие-нибудь исследования или например испытать какую-нибудь сложную аппаратуру(ракету например) в какой-нибудь институте то для этого будут создаваться новые языки программирования и программная начинка.
что то такое нагородил... ёмкостной делитель😅😅😅... рабочее напряжение трёх последовательных литиевых аккумуляторов от 9 до 12,6 Вольт, подключаешь напрямую и всё, а если ещё коротнуть вывод детект батери на землю аккумулятор будет заряжаться при подключении к сети.
лучший канал по алгосам!
Я не уверен, но по-моему сложность log_2(N), а не натуральный логарифм. По крайней мере я проверил в той книге, которую вы предоставили в списке литературы.
Так эти две сложности эквивалентны :) (разница в постоянный множитель). А при анализе сложностей все таки гораздо чаще используют натуральный логарифм, вот и используют его как меру сложности.
@@oleksandrtsymbaliuk понял, спасибо! У вас отличные лекции.
28:30 методы же принимают и возвращают BiPredicate, а не Predicate
❤
Золотой канал) жаль что мало подписчиков. смотрю вас теперь во время еды)
Здравствуйте! Стоит ли ожидать продолжения видеокурса по java?
К сожалению этот курс вообще не пользуется популярностью (менее 5% от общего количества просмотров), так что в ближайшее время нет.
Дізлайк за свинояз.
Хотелось бы вводную лекцию как писать на фортране Windows приложение с использованием средств GUI этой ОС
Тут я вряд ли смогу помочь, так как использую ОС Linux. Да и GUI наверное проще на Python сделать и из него вызывать код на Fortran.
Этот код на входных данных { 1, 2, 3} выдаёт 5 вариантов. На { 1, 2, 3,4} выдаёт 23.
Код на каком именно языке выдает у вас такие ответы? Хотя похоже что вы просто базовый массив не считаете за перестановку вот одна перестановка у вас и теряется
Fortran один из первых (если не первый) ЯП, начал использоваться с середины 50'х, когда на ЭВМ решались в основном математические задачи. Fortran за почти 70-ти летний период прошел свою эволюцию и имеет самую большую библиотеку научно-математических программ, которую можно считать достоянием всего человечества. Существуют современные IDE-среды разработки, которые поддерживают разные ANCII диалекты языка. Пытаться приделывать к Фортрану не характерные для него всякие заморочки из других языков только портят язык и его фундаментальное назначение.
Подписался на этот канал, т.к. очень понятное объяснение алгоритмов. Смотрю на эти "функции" и немного офигеваю
Ну что тут сказать. Fortran один из самых старых языков. Поэтому код выглядит громоздко. На Python эти решения были бы намного короче. Но стоит привыкнуть и понимаешь, что хоть и нужно писать больше кода, но сам язык понятный и довольно приятный в работе, а скорость работы полученных программ выше всяких похвал.
@@oleksandrtsymbaliuk хах, пайтон с его "однострочниками" скоро в язык блу-принтов превратистя
Ну и в этом есть хорошие моменты. Если нужно написать тяжелую числодробилку например то это Fortran, а вот удобство работы с ней по сети или например графический интерфейс для него так Python просто отличный выбор. Так, что такая комбинация тоже очень будет хороша. У каждой технологии есть область применения :)
Спасибо ❤
я удивляюсь! как это с такими знаниями можно браться за такие дела! Так вот знайте, напряжение на свежезаряженном LiIon элементе 4,2 вольта!!! а в аккуме 12,6 вольт, так что автоаккум можно подключить без всякого диода, тогда при работе от сети будет заряжаться и внешний авто-аккум, а с диодом не будет
Я то думал, Фортран всё сделает. Мне даже не надо будет ломать голову над производной))
спасибо !
А канал не обновляется в плане Java? Если автор читает коменты, может ответит) Про многопоток посмотреть бы. Приятные уроки, подобного не встречал пока.
Добрый день. К сожалению плейлист по Java совершенно не пользуется популярностью, у зрителей. Поэтому его дальнейшее развитие я приостановил.
@@oleksandrtsymbaliuk здравствуйте! Печально что контент, который действительно считаю полезным, не востребован. В отличии от всякого Г. Все равно спасибо вам за труд. Удачи и успехов!))
Спасибо большое, очень подробно и круто
Спасибо !
Добрый день! Не могли бы, пожалуйста, подсказать, как интегрировать в коде на Python порядок полинома? Спасибо!
Добрый день. А что вы имеете в виду под интегрированием порядка полинома? Степень полинома определяется количеством рассматриваемых точек. Если нужно управлять степенью полинома, то просто рассматривайте не все точки, а только нужное количество.
Для метода хорд не обязательно разные знаки функции для точек начального отрезка
Большое спасибо за курс по алгоритмам ! Очень наглядно объясняете и без воды ! Очень жадно жду ролики еще ! С меня лайк и подписка
Спасибо за высокую оценку моей работы
1:37 На слайде надо исправить грамматику: "2. ... Пока куча не заполнитЬся...""
Спасибо за помощь. Исправил в конспекте лекции
Спасибо за полезное видео
Скажите пожалуйста зачем в определении префикса и суффикса вводится понятие некой строки Х, ведь нам не надо где-то искать существующую абстрактную строку. У нас точно есть заданная исходная строка и она неизменная и никак не меняется когда мы проверяем на суффиксы или префиксы? К чему такие сложности? Почему не сказать префикс строки если она начинается на нее, суффикс это если заканчивается на нее?
Потому, что алгоритм должен быть универсальным. Если алгоритм и его определение написаны только для какой то одной явной исходной строки, то толку от такого алгоритма и определений практически нет.
Спасибо за видео!
Как можно с Вами связаться можете оставить вашу почту
Почта для связи указана в моем профиле
Добрый день! Можете пожалуйста оставить ссылка на программу где можно скачать с лицензией
На какую именно программу вам нужна ссылка?
@@oleksandrtsymbaliuk Фортран я скачал но лицензия спрашивает всегда не получается компиляции сделать
Вы наверное скачали платный компилятор. А их очень много бесплатных. Например можете скачать отсюда - www.equation.com/servlet/equation.cmd?fa=fortran
Спасибо Вам огромное вашу почту я не нашел мне нужно помочь с моделирование теплофизические процессов хотел у вас попросить помочь
Только что проверил, есть почта в моем профиле. А насчет помочь, то в принципе могу правда из за загруженности на работе не очень много. Если есть вопросы то задавайте попробую помочь.
Я начинаю поверхностно изучать/знакомиться с программмированием. Начинала с джавы, потом решила в теории ознакомиться с фортраном. Разница, ожидаемо, высокая, очень интересно!
У меня мозги вытекли от сложности, но понимаю, что это важно. Буду просматривать несколько раз. А есть ли у Вас упражнения?
Да в лекция далее в конце содержатся практические задания.
Если поле должно быть final и его инициализация идет в конструкторе, то через рефлексию я все равно смогу изменить его значение. Какой смысл с final если такой же эффект можно достигнуть модификатором private для поля и отсутствием сеттера для него? p.s. значение final поля не смогу изменить только, если поле проинициализировано сразу, а не в конструкторе, тогда вопрос зачем пункт про обязательное включение final полей в конструктор?
А если эти поля не инициализировать в конструкторе то как вы их установите для объекта? Да и смысл неизменяемых объектов в том, что они не меняют свое состояние после создания.
😆 а в штекер питания , не проще было бы? 🤣
Нет. На входе ноута должно быть 19 Вольт. 12 вообще его не запустит и близко
Боже,дуже вам дяку, подивилиась купу відео і тільки ваше дійшло так дійшло! Просто супер!
На момент выхода этого видео, новейшим стандартом был Fortran 2018. А сейчас новейшим стандартом есть Fortran 2023.
Спасибо большое, очень понятно объясняете
Спасибо за лекцию! Комбинаторика - интересная тема. Но минус почти всех комбинаторных алгоритмов в том, что большие расходы по времени O(n!). Александр, вы не пробовали решать такие задачи в параллельных потоках, методом распараллеливания задачи на подзадачи (каждая которая решается в своем потоке)? Существуют параллельные алгоритмы решения комбинаторных задач, разработанные на основе методов распараллеливания, включая задачи перечисления (сочетаний, перестановок, разбиений) .. они значительно сокращают затраты по времени. Вообще - параллелилизм в программировании - интересная тема.
Да вы правы сложность этих алгоритмов очень высокая. А вот с параллелизмом в рассмотренных алгоритмах беда. Дело в том, что следующая перестановка может быть создана только на основе предыдущей. Т.е. любой из рассмотренный мной алгоритмов не паралелиться вообще. По сути как только в задаче встречается что следующий шаг зависит от результата предыдущего то с паралелизмом можно распрощаться.
@@oleksandrtsymbaliuk Ну да, ... НО именно в этих, вами взятых алгоритмах, так ... но существуют специально разработанные параллельные комбинаторные алгоритмы (они другие), специально для параллельных вычислений в разных потоках. Могу идею подкинуть для вашего канала - параллельные алгоритмы. Не обязатательно, комбинаторные, можно начать, например, с перемножения матриц (двумерных векторов) в разных потоках , вообще с работой с матрицами в разных потоках. Многопоточность - очень интересная, увлекательная и сложная тема, и все сразу становится намного интереснее..
Ну когда то я и до параллельных алгоритмов доберусь. Ну тут пока еще целая куча однопоточных. Нужно сначала с ними разобраться.
@@oleksandrtsymbaliuk Параллелизм - сейчас модная тем в программировании (впрочем, уже давно). Сейчас уже редки однопоточные программы. Но сама разработка алгоритмов для многопоточных программ - это уже не для средних умов.. Тема кандидатской, не меньше. В общем, параллельные и распределенные вычисления - крутая тема! Буду рад, если эта тема появится на вашем канале ... можно начать с матричных вычислений в параллельных потоках.
Спасибо! Возник такой вопрос. Всюду указывается, что в Фортране переменные передаются по адресу, а не по значению. Значит, при вызове нескольких подпрограмм переменные не дублируются. Если так, то указатели в Фортране не нужны вроде как. В чем подвох?
А буквально в следующих лекциях и будет ответ на ваш вопрос. Это динамическое выделение памяти под массивы и самое главное объекты. Также указатели активно используются для создания динамических структур данных (списки, карты и так далее).
Александр, спасибо за лекцию! Есть более усовершенствованная (модифицированная) версия этого алгоритма - поиска k-ой порядковой статистики. Важное отличие заключается в том, что время работы алгоритма в наихудшем случае - линейное O(n) neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA_k-%D0%BE%D0%B9_%D0%BF%D0%BE%D1%80%D1%8F%D0%B4%D0%BA%D0%BE%D0%B2%D0%BE%D0%B9_%D1%81%D1%82%D0%B0%D1%82%D0%B8%D1%81%D1%82%D0%B8%D0%BA%D0%B8_%D0%B7%D0%B0_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B5_%D0%B2%D1%80%D0%B5%D0%BC%D1%8F
Хорошее видео ✊