2018 ФиЛП && ПрИнж_ООП ПИн-3курс (ОЗ) ЛЕК=9шт Л/Р=6шт Экзамен ФиЛП учебник: https://pcoding.ru/pdf/jsFuncCoding.pdf ЛЕК=9шт Л/Р=5шт Зачет ПрИнж_ООП учебник: https://pcoding.ru/pdf/oop.pdf 2019 ЛЕК=11шт Л/Р=8шт ПИ_ООП Экзамен Учебник: https://pcoding.ru/pdf/CSharpJunior.pdf ЛЕК= 6шт Л/Р=5шт СиМРППИ Зачёт Учебник: https://pcoding.ru/pdf/CSharpMySQL.pdf Дистанционка через скайп тут - https://join.skype.com/eoKfm1NvedCl https://goo.gl/JbofRC РЕЙТИНГ / оценки https://goo.gl/P9fkCb гугл-папка с презентациями лекций https://goo.gl/hHvGtQ гугл-папка с примерами реализаций и файлами для лабораторок (папка _к_лабораторкам) https://goo.gl/qhpyTF сюда можно вставлять кусочки своего кода, а я смогу поискать ошибку и прокомментировать Решения лабораторок нужно посылать сюда: https://pcoding.ru/password.php пароль 602 Себе на комп установить: https://nodejs.org/en/ https://code.visualstudio.com/download https://visualstudio.microsoft.com/ru/vs/whatsnew/ версию 2017 Community ________________________________________________________ Лекции по C# что изучим: - классы, объекты, наследование, полиморфизм - потоки, делегаты, интерфейсы, события что сделаем: - Экспертную систему, Парсеры, QR-обработчики, БД Access и MySQL __________________________2019__________________________ 04 03 2019 Анализ текста Можно ли по характеристикам текста опознать кто его писал? Узнаем среднюю длину слов в тексте. Сравним разных авторов. Папку с текстами можно взять у меня из гугл-папки (см. выше). Приложение с графическим интерфейсом. При загрузке в listBox помещает список текстовых файлов, если есть папка с файлами. Можно сменить папку с файлами. Выбираем один файл - он загружается на вкладку Текст Контекстное меню - вычислить среднее: шаг 1 - убрать лишние символы из текста (регулярными выражениями) шаг 2 - вычислить среднюю длину (в функциональном стиле) Самостоятельно: - сделать возможность выделить несколько файлов - выделить сразу все файлы - вычислить последовательно среднюю сумму для всех выделенных - организовать вывод результатов в отсортированном виде __________________________2018__________________________ __ Рейтинг_1_семестр js1 js2 js3 js4 cs1 cs2 cs3 Экз Зач __ ________________ Ar FS ES RE Cl Tu ___ ___ ___ 1) Томилов Данил 5 5 4 5 5 5 5 + 2) Гизатулина Динара 5 5 4 5 5 3) Горбенко Валентина 5 5 4 5 5 4) Егорова Ульяна 4 5) Зверев Владимир 4 5 4 3 4 3 4 + 6) Сячин Александр 5 5 4 5 4 4 5 + 7) Варин Андрей 8) Порошин Илья 5 5 4 5 5 5 5 + 9) Федотов Кирилл 4 4 4 5 5 4 5 + 10) Колмыков Иван 5 5 5 5 5 5 5 + 11) Бархатов Даниил 12) Левин Марк Лекции 17 12 2018 Наследование классов protected Полиморфизм virtual override Конструктор из базового класса Коллекции 10 12 2018 Класс в этом же namespace Структуры и классы Самостоятельная работа - ЛАБРАБ_2 - https://pcoding.ru/pdf/CSharpJunior.pdf ______________________________________ 05 12 2018 LR_01_05 using System; using System.IO; namespace Palindrom { class Program { static void Main(string[] args) { string[] lines = File.ReadAllLines(args[0]); foreach (string line in lines) { if (true) // Class.checkPalindrom(line) { Console.WriteLine(line); } } Console.ReadKey(); } } } using System; namespace BAU_LR01_03 { class Uravn { public Uravn(double _a, double _b, double _c) { this.a = _a; this.a = _b; this.a = _c; } private double a, b, c; public void print() { string result = ""; double d = b * b - 4 * a * c; if (d > 0) result = "x1 = " + 3.ToString() + " x2 = " + 5.ToString(); if (d == 0) result = "x = " + 3.ToString(); if (d < 0) result = "корней нет"; Console.WriteLine(result); } } class Program { static void Main() { Uravn obj = new Uravn(2, -3, 7); obj.print(); Console.ReadKey(true); } } } using System; using Lib_00; namespace dll_00 { class Program { static void Main() { First obj = new First(); obj.name = "Сидоров Сидр"; Console.Write(obj.getName()); Console.ReadKey(true); } } } namespace Lib_00 { public class First { public string name = ""; public string getName() { return name.Split(' ')[1]; } } } ______________________________________ 03 12 2018 using System; namespace con_00 { class Utils { public static double radius; public static double getSqCircle() { return Math.PI * Math.Pow(radius, 2); } } class Program { static void Main() { Utils.radius = 2; Console.WriteLine(Utils.getSqCircle()); Console.ReadKey(true); } } } using System; namespace con_00 { class Utils { public Utils() { this.radius = 10; } public Utils(double _radius) { this.radius = _radius; } public Utils(int _radius) { this.radius = _radius; } public double Radius { get { return this.radius; } set { if (value<0) this.radius = Math.Abs(value); } } private double radius; public static string name; public static string getSmb(int num) { return name[num].ToString(); } public double getSqCircle() { return Math.PI * Math.Pow(radius, 2); } } class Program { static void Main() { Utils.name = "Беляков"; Console.WriteLine(Utils.getSmb(3)); Utils obj1 = new Utils(); Utils obj2 = new Utils(2.3); Utils obj3 = new Utils(3); //obj1.radius = 2; // obj2.Radius = -3; Console.WriteLine(obj1.getSqCircle()); Console.WriteLine(obj2.getSqCircle()); Console.WriteLine(obj3.getSqCircle()); Console.ReadKey(true); } } } Л/Р 1 - modul_n.js - function getMax(a, b) { return a>b? a: b; } function check(a,b,c) { return (a+b>c)&&(b+c>a)&&(a+c>b); } module.exports.check = check - lr_03.js - fs = require('fs'); text = fs.readFileSync("input.txt", "utf8"); lines = text.split("\r\n"); myModule = require("./modul_n.js"); arr = lines[1].split(" "); if (myModule.check(+arr[0], +arr[1],+arr[2])) console.log("+++") else console.log("---"); - input.txt - Задача: возможно ли на этих сторонах построить треугольник? 23 33 44 Л/Р 12_11_2018 stud1 = { age: 16, name: "Иван Иванович Иванов", getName: function (arg) { return this.name.split(' ')[arg]; } }; stud2 = { age: 22, name: "Петр Петрович Петров", getName: function (arg) { return this.name.split(' ')[arg]; } }; students = [stud1, stud2]; for (stud of students) { console.log( String(stud.age)+ "\t"+ stud.getName(0) ); } function newStudent(_age, _name) { this.age = _age, this.name = _name, this.getName = function (arg) { return this.name.split(' ')[arg]; } }; stud1 = new newStudent(16, "Иван Иванович Иванов"); stud2 = new newStudent(22, "Иван Иванович Иванов"); stud3 = new newStudent(30, "Иван Иванович Иванов"); students = [stud1, stud2, stud3]; for (stud of students) { if (stud.age>17) { console.log( String(stud.age)+ "\t"+ stud.getName(0) ); } } function newStudent(_age, _name) { this.age = _age, this.name = _name, this.getName = function (arg) { return this.name.split(' ')[arg]; } }; stud1 = new newStudent(16, "Иван Иванович Иванов"); stud2 = new newStudent(22, "Петя Петрович Петров"); stud3 = new newStudent(30, "Сеня Сидорович Сидоров"); students = [stud1, stud2, stud3]; students .filter(elm=>elm.age>17) .sort((a,b)=>b.age-a.age) .map(elm=>console.log(elm.getName(2))) // отсортировать по длине фамилии лабраб 14/11/2018 № Фамилия Имя Отчество Возраст Средний балл 1 Абрамович Петя Иванович 24 4.5 2 Кокорин Петро Петрович 18 3.8 3 Саакашвили Адольф Семёнович 33 4.1 4 Папов Коля Олич 19 4.4 5 Некто Оле Лукойе 14 3.3 fs = require('fs'); text = fs.readFileSync("students.txt", "utf8"); lines = text .split("\r\n") .slice(1); function newStudent(_num, _name, _age, _ball) { this.age = _age, this.name = _name, this.num = _num, this.ball = _ball, this.getName = function (index) { return this.name.split(' ')[index]; } }; arrStud = []; for (line of lines) { obj = new newStudent( Number(line.split('\t')[0]), // num line.split('\t')[1], // name Number(line.split('\t')[2]), // age Number(line.split('\t')[3]) // ball ) arrStud.push(obj); } arrStud .sort( (a,b) => a.age-b.age ) .map( stud => console.log(stud.age + '\t' + stud.getName(0)) ); avg = arrStud .reduce( (acc,elm) => acc + elm.age, 0 ) / arrStud.length; console.log(avg);