2017 РАЗРАБОТКА ПРИЛОЖЕНИЙ ПИб-2курс ЛЕК=10шт Л/Р=07шт СРС=72ч Экзамен + Курсовой проект goo.gl/kwFsFQ РЕЙТИНГ И ОЦЕНКИ: ПРИМЕРЫ ПРОГРАММ с лекций: goo.gl/eCiZP2 Delphi - 2 курс goo.gl/rjMXHn Delphi+Pascal - 1 курс goo.gl/M32nkF файл HELPME - подсказки на ЛабРаб Lazarus учебник - https://pcoding.ru/pdf/Lazarus.pdf программа для тестирования - TesT: https://pCoding.ru/download/TesT.rar пример Игры на Lazarus (игра 11 монет): https://pCoding.ru/download/game11.rar Pascal интенсив - кратко обо всём: yadi.sk/i/2xNSPzvg3HipsB Delphi скачать тут: yadi.sk/d/HSLWlbdm3ErqUk Lazarus скачать тут: http://www.lazarus-ide.org/ ЛАБОРАТОРКИ ПО ЛАЗАРУСУ - по учебнику ссылка выше 1 - события мыши 2 - мобытия клавиатуры 3 - текстовые файлы 4 - типизированные файлы 5 - табличный процессор 6 - графики функций 7 - распознавание образов 8 - парсинг 9-10 - Базы данных - это делать в Делфи - как Курсовой проект - см. на сайте 11 - сдаем долги ЛАБОРАТОРКИ - можно брать с вкладки РАЗРАБОТКА ПРИЛОЖЕНИЙ / ЛАБОРАТОРКИ или тут: ЛР_01 - мышь - https://pcoding.ru/delphi/labrab/labrab1.pdf ЛР_02 - клава - https://pcoding.ru/delphi/labrab/labrab2.pdf ЛР_03 - txt-файлы - https://pcoding.ru/delphi/labrab/labrab3.pdf ЛР_04 - type-файлы - https://pcoding.ru/delphi/labrab/labrab3.pdf ЛР_05 - интерфейс - https://pcoding.ru/delphi/labrab/labrab4.pdf ЛР_06 - БД - https://pcoding.ru/delphi/labrab/labrab5.pdf ЛР_07 - Excel - https://pcoding.ru/delphi/labrab/labrab7.pdf + инд. задания по формированию отчетов в Word или Excel * что нужно уметь/понимать до начала Дисциплины: - структурные операторы - обработку исключений - типы данных - структуры: запись, списки, массивы и строки - работу с файлами - функции и процедуры - модули -------------------------------------------------------------------------- * требования по Дисциплине: 1 посещать занятия - буду вести учет пропусков ~ при значительном количестве пропусков итоговая оценка снижается на один балл 2 дома тренироваться самому по примерам с лекций + выполнять ДОМАШНИЕ ЗАДАНИЯ 3 приходить на Л/Р, показывать домашку, потом выполнять задания из методичек на Л/Р 4 про оценки за Л/Р - их всего будет три на каждой Л/Р: _ первую оценку ставите себе сами по итогам Л/Р - как сами считаете, что заслужили - чем выше оценка, тем больше вопросов от меня при выставлении второй оценки _ вторую оценку ставлю я сам, по ощущениям того как вы работали на Л/Р, если посчитаю нужным, то провожу собеседование по заданию Л/Р _ третью - только, если при первой попытке сдачи Л/Р я вам выставил низкую оценку ~ все три оценки сохраняются до конца семестра и оказывают влияние на итоговую оценку за Дисциплину 5 Курсовой проект можно выполнить заранее итоговая оценка за дисциплину: - складывается по итогам работы в течение семестра - по итогам моего СУБЪЕКТИВНОГО вывода о ваших достижениях - Экзамен - в форме собеседования с решением практических заданий (только для тех, кого не удовлетворила оценка, полученная по итогам работы в семестре) -------------------------------------------------------------------------- // запустить стороннюю программу // uses Windows; ShellExecute(0, 'open', pchar(prog), pchar(argv), nil, SW_SHOWNORMAL); ShellExecute(Handle, 'open', pansichar(prog), pansichar(argv), pansichar(path), SW_HIDE); // узнать компоненты цвета procedure RedGreenBlue(rgb: TColor; out Red, Green, Blue: Byte); begin Red := rgb and $000000ff; //Красный на последнем месте Green := (rgb shr 8) and $000000ff; Blue := (rgb shr 16) and $000000ff; end; // залить канву procedure TForm1.mnuFillClick(Sender: TObject); var x, y: integer; begin if ColorDialog1.Execute then bgColor:=ColorDialog1.Color; { for x:=0 to Image1.Width do for y:=0 to Image1.Height do Image1.Canvas.Pixels[x,y]:=bgColor; } Image1.Canvas.Brush.Color := bgColor; Image1.Canvas.FillRect(Canvas.ClipRect); end; ============================== заготовка для программы по распознаванию образов var Form1: TForm1; wPen: integer; // ширина кисти cPen: integer; // кол-во ворсинок кисти penColor, bgColor: TColor; smbs, lines: TStringList; cnt: integer; arrHum: array [0..9,0..9] of integer; codes: array [0..9,0..9,0..9] of integer; procedure TForm1.mnuReadClick(Sender: TObject); var wCell, hCell, x, y: integer; tmp: String; begin for y:=0 to 9 do for x:=0 to 9 do arrHum[x,y]:=0; wCell := Image1.Width div 10; hCell := Image1.Height div 10; for y:=0 to Image1.Height-1 do for x:=0 to Image1.Width-1 do if Image1.Canvas.Pixels[x,y]<>bgColor then arrHum[x div wCell, y div hCell]:=1; Memo2.Clear; for y:=0 to 9 do begin tmp:=''; for x:=0 to 9 do tmp:=tmp+IntToStr(arrHum[x,y]); memo2.Lines.Add(tmp); end; end; procedure TForm1.mnuColorClick(Sender: TObject); begin if ColorDialog1.Execute then penColor := ColorDialog1.Color; end; procedure TForm1.mnuFillClick(Sender: TObject); var x, y: integer; begin if ColorDialog1.Execute then bgColor:=ColorDialog1.Color; { for x:=0 to Image1.Width do for y:=0 to Image1.Height do Image1.Canvas.Pixels[x,y]:=bgColor; } Image1.Canvas.Brush.Color := bgColor; Image1.Canvas.FillRect(Canvas.ClipRect); end; procedure TForm1.FormCreate(Sender: TObject); var path: string; x, y: integer; lenCnt, i: integer; begin smbs := TStringList.Create; lines := TStringList.Create; cnt := 2; bgColor := RGBToColor(255,255,255); penColor := RGBToColor(0,0,0); wPen := 20; cPen := 70; getdir(0, path); OpenDialog1.InitialDir:=path; for x:=0 to Image1.Width do for y:=0 to Image1.Height do Image1.Canvas.Pixels[x,y]:=bgColor; Memo1.Lines.LoadFromFile('input.txt'); lines.LoadFromFile('input.txt'); lenCnt := lines.Count div cnt - 1; for i:=0 to cnt-1 do begin smbs.Add(lines[i*(lenCnt+1)]); end; for x:=0 to Image1.Width do for y:=0 to Image1.Height do Image1.Canvas.Pixels[x,y]:=bgColor; StatusBar1.Panels[1].Text:=smbs[0]+smbs[1]; end; procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); var i, dx, dy: integer; begin Randomize; if ssLeft in Shift then begin for i:=0 to cPen do begin dx := -(wPen div 2) + Random(wPen); dy := -(wPen div 2) + Random(wPen); Image1.Canvas.Pixels[x+dx,y+dy]:=penColor; end; end; end; procedure TForm1.Image1MouseWheelDown(Sender: TObject; Shift: TShiftState; MousePos: TPoint; var Handled: Boolean); begin if wPen>5 then wPen := wPen - 5; end; procedure TForm1.Image1MouseWheelUp(Sender: TObject; Shift: TShiftState; MousePos: TPoint; var Handled: Boolean); begin wPen := wPen + 5; end; procedure TForm1.mnuOpenClick(Sender: TObject); begin if OpenDialog1.Execute then Image1.Picture.LoadFromFile(OpenDialog1.FileName); end; procedure TForm1.mnuCloseClick(Sender: TObject); begin Close(); end; ============================== - доработать на Лекции по распознаванию 1) PopUp Menu & ShortCut 2) сетку 3) тип record и массив 4) ... Python count = int(input()) list = [23] * 5 max = 0 #for i in range(count): # if lksdnkv;enlkj max = i # list.append(input()) # '100' '99' max = 3 lst = [] #for i in range(len(list)): # lst.append(str(list[i])) for el in list: lst.append(str(el)) print(list) print(lst) s = ' '.join(lst) # list.sort() # list.reverse() # print(lst[max].split(' ')[0]) print(s) # взять данные из текстового файла ''' 5 Slava 4 Vitya 7 Vasya 7 Kolya 3 Tanya 5 ''' # вариант 1 file = open('gorod.txt', 'r') list = file.readlines() file.close() lst = [el[:-1] for el in list] # отрезать последний символ \n у всех строк count = int(lst[0]) lst = lst[1:] print(count) print(lst) # вариант 2 list = [] file = open('gorod.txt', 'r') list = file.readlines() file.close() lst = [] for el in list: lst.append(el[:-1]) count = int(lst[0]) lst = lst[1:] print(lst) # вариант 3 file = open('input.txt', 'r') lst = [] for i in range(9): lst.append(file.readline()[:-1]) file.close() ''' lst = [] for i in range(9): lst.append(input()) ''' как проверить наличие элемента в списке: def posList(el, lst): ''' возвращает позицию элемента в списке возвращает -1, если нет в списке ''' try: pos = lst.index(el) except: pos = -1 return pos lst = [1,2,3,4,5] print(posList(99, lst)) _________________________________________________ using System.Diagnostics; Stopwatch stopWatch = new Stopwatch(); stopWatch.Start(); stopWatch.Stop(); TimeSpan ts = stopWatch.Elapsed; string elapsedTime = String.Format("{0:00}:{1:00}:{2:00}.{3:00}", ts.Hours, ts.Minutes, ts.Seconds, ts.Milliseconds); Console.WriteLine("RunTime " + elapsedTime);