1.5. Самостоятельная работа¶
Примечание
При выполнении заданий используйте заготовки решений: ->
Репозиторий.
Подробнее: см. Цикл выполнения и защиты заданий.
1.5.1. Известные персоналии¶
В Таблице 1.5.1 приведены некоторые из ученых, внесших наибольший вклад в развитие вычислительной техники и языков программирования.
№ |
Имя |
№ |
Имя |
---|---|---|---|
1 |
Joe Armstrong |
16 |
Yukihiro Matsumoto |
2 |
John Backus |
17 |
John McCarthy |
3 |
Alan Cooper |
18 |
Bertrand Meyer |
4 |
Ole-Johan Dahl |
19 |
Robin Milner |
5 |
Ершов Андрей Петрович |
20 |
John von Neumann |
6 |
Edsger W. Dijkstra |
21 |
Kristen Nygaard |
7 |
Donald Knuth |
22 |
Stephen Wolfram |
8 |
James Gosling |
23 |
Dennis Ritchie |
9 |
Anders Hejlsberg |
24 |
Alan Turing |
10 |
Rich Hickey |
25 |
Guido van Rossum |
11 |
Grace Hopper |
26 |
Bjarne Stroustrup |
12 |
Jean Ichbiah |
27 |
Ken Thompson |
13 |
Alan Kay |
28 |
Larry Wall |
14 |
Brian Kernighan |
29 |
Niklaus Wirth |
15 |
Лебедев Сергей Алексеевич |
30 |
Nathaniel Rochester |
Выберите 3 известных персоны под номерами:
ЦИФРА_СБ + 1
;ЦИФРА_СБ + 11
;ЦИФРА_СБ + 21
;
и сделайте мини-доклад, обозначающий ключевые моменты их биографии и достижения (включая краткую информацию об изобретении) в области информатики. Имена зарубежных специалистов приведены на английском, однако в своей работе можете использовать и принятые в отечественной литературе имена.
1.5.2. Лицензирование ПО¶
Программное обеспечение можно подразделить на 3 большие группы:
Любое программное обеспечение имеет лицензию, определяющую, как его можно использовать с юридической точки зрения. Обычно лицензии делятся на 2 типа: проприетарные лицензии и лицензии свободного и открытого ПО.
Ознакомьтесь с принципами лицензирования и выполните следующие задания.
Для категорий проприетарного, открытого и свободного программного обеспечения приведите:
определение;
краткое описание;
список разрешений/запретов (можно/нельзя/обязательно);
критерии принадлежности к категории;
преимущества и недостатки;
типовых представителей (примеры ПО).
В Таблице 1.5.2 приведен список популярных лицензий.
Таблица 1.5.2 - Список лицензий¶ №
Задача
1
MIT License
2
Apache License 2.0
3
GNU General Public License v3 (GPL-3)
4
GNU General Public License v2.0 (GPL-2.0)
5
BSD 2-Clause License (FreeBSD/Simplified)
6
EULA
7
GNU Lesser General Public License v3 (LGPL-3.0)
8
Mozilla Public License 2.0 (MPL-2.0)
9
Creative Commons Attribution 4.0 International (CC BY 4.0)
10
GNU Lesser General Public License v2.1 (LGPL-2.1)
Выберите 2 лицензии под номерами:
ЦИФРА_СБ + 1
;(ЦИФРА_СБ + 5) % 10 + 1
;
и, используя Интернет-источники (полезными могут оказаться ресурсы Software Licenses in Plain English и Comparison of free and open-source software licenses), составьте для них:
определение и краткое описание;
список разрешений/запретов (можно/нельзя/обязательно);
типовых представителей (примеры ПО).
Составьте список приложений (не менее 5), которыми Вы пользуетесь дома/на работе:
№ п/п;
Наименование;
Категория ПО;
Тип лицензии;
Скриншот.
Примечание
Если Вы планируете разрабатывать ПО с открытым исходным кодом, обратите внимание на удобный ресурс по подбору лицензии Choose an open source license.
1.5.3. Алгоритмы¶
Используя в качестве примера «кипячение воды» из теоретической части, составьте в письменной форме алгоритм для решения задачи № ЦИФРА_СБ + 1
из Таблицы 1.5.3.
№ |
Задача |
---|---|
1 |
Решение квадратного уравнения |
2 |
Поиск n-го члена геометрической прогрессии |
3 |
Нахождение наибольшего общего делителя (алгоритм Евклида) |
4 |
Определение простоты числа (перебор делителей) |
5 |
Попадание заданной точки в координатную четверть |
6 |
Поиск n-го члена арифметической прогрессии |
7 |
Определение площади треугольника по формуле Герона |
8 |
Решение линейного уравнения |
9 |
Поиск n-го члена ряда Фибоначчи |
10 |
Определение количества дней между датами |
После этого, несколько раз измените алгоритм так, чтобы он перестал отвечать одному из 5 свойств. Например, для того, чтобы алгоритм решения квадратного уравнения перестал быть массовым, нужно исключить из него ввод произвольных коэффициентов. В итоге должен получиться 1 исходный алгоритм и 5 вариантов, не удовлетворяющих одному из свойств.