1 / 23

Програмн і модулі

Програмн і модулі. Бєлошенко Микита. http://www.beloshenko.e-hosting.com.ua http://www.beloshenko.ucoz.ru. Модульне програмування. Плюси і мінуси – + скорочується час написання програми, зменшується імовірність помилки. написання власних програм у деяких випадках може дати

kaycee
Download Presentation

Програмн і модулі

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Програмні модулі Бєлошенко Микита http://www.beloshenko.e-hosting.com.ua http://www.beloshenko.ucoz.ru

  2. Модульне програмування • Плюси і мінуси – • + скорочується час написання програми, зменшується • імовірність помилки. • написання власних програм у деяких випадках може дати • кращі результати (економія оперативної пам’яті, швидкість). Класифікація і стандартні позначення - - модулі вводу/виводу. - логічний аналіз, обробка. - структури даних.

  3. Ввод / вивід З файлу Ввод З консолю З форми (вікна) Криві Ввод кривої мишкою Графічний вивід У файл Вивід Зображення 3D решітки Таблиці Графік функції Текст Графіки у полярній с.к.

  4. Логічний аналіз, обробка Сортування • Qsort (швидке сортування) • Метод Неймана Поліноми Лагранжа Інтерполяція Математична обробка результатів досліду Сплайнами Апроксимація Лінійна МНК Поліномами Робота з векторами Робота з матрицями 3D обертання, трансляції, розтяг, розкладання, векторне множення. +, -, *a, AxB, transp. Розв’язок СЛАР.

  5. Структури даних Списки (List) + ,-, Find, Edit На базі БД – база даних Списки у списках Таблиці

  6. 1 0 Ввод / вивід

  7. Побудова графіку функції • Задання області перегляду на екрані ViewPort. • Пошук максимуму і мінімуму функції на заданому • інтервалі. • Відображення (лініями або крапками) • значень функції у область перегляду. • З врахуванням маштабу.

  8. Полярна с.к. x=r*cos(fi) y=r*sin(fi) Обертання показчика. Полярна сітка. Градієнтна замальовка.

  9. Зглажування кутів. C A B O

  10. c b a y x Логічний аналіз, обробка z C=A x B vecA x vecB

  11. … Сортування Неймана. const maxarr=1001; type ta=array[1..maxarr] of word; var a:ta; n:word;

  12. Сортування Неймана var b,b1,b2,c:ta; i:word; procedure fon_neym_clear_mas; begin for i:=1 to 100 do begin a[i]:=0; b1[i]:=0; b2[i]:=0; c[i]:=0; end; end;

  13. Сортування Неймана procedure un(p1,p2,p3:byte); var j1,j2,s1,s2,n1,n2,s,k,l:byte; begin s1:=0; for j1:=p1 to p2 do begin inc(s1); b1[s1]:=a[j1]; end; s2:=0; for j2:=p2+1 to p3 do begin inc(s2); b2[s2]:=a[j2]; end; if b1[s1]>b2[s2] then boder:=b1[s1]+1 else boder:=b2[s2]+1; b1[s1+1]:=boder; b2[s2+1]:=boder; n1:=1; n2:=1; s:=0; while (b1[n1]<boder) and (b2[n2]<boder) do begin if b1[n1]<b2[n2] then begin inc(s); c[s]:=b1[n1]; inc(n1); end; if b2[n2]<=b1[n1] then begin inc(s); c[s]:=b2[n2]; inc(n2); end; end; if n2<=s2 thenfor k:=n2 to s2 do begin inc(s); c[s]:=b2[k]; end; if n1<=s1 then for l:=n1 to s1 do begin inc(s); c[s]:=b1[l]; end; l:=0; for k:=p1 to p3 do begin inc(l); a[k]:=c[l]; end; end; N*ln(N)

  14. Сортування Неймана procedure fon_neym_sort; begin d:=1; p1:=1; while 2*d<n do begin p1:=1; j:=trunc(int((n/d)/2)); for i:=1 to j do begin p2:=p1+d-1; p3:=p2+d; un(p1,p2,p3); p1:=p3+1; end; if p3<n then un(p2,p3,n); d:=2*d; end; un(1,p3,n); end; N*ln(N)

  15. nil nil … … nil nil Структури Даних

  16. Додати елемент Видалити елемент Корекція елементу Пошук елементу Список (List) … nil Free реалізація – Structures.h • Приклади використання – • Криві; • Прості БД; • Якщо у поле списку добавити вершину іншого • списку -> Таблиці подібні до Excel;

  17. Короткий перелік розроблених програмних кодів • LW1.0. - Робота з БД(базою даних) вольт амперних характеристик. Вивод графіку. • DataBase - БД з ВАХами. • Grafic - Побудова графіку. • Help - Довідка. • Theory - Теорія. • VAXconstructor - Конструкція ВАХ. • FOR_Prj (Програми на фортрані) • Faktorial - N!

  18. IntCom - інтегрування з використовуванням common на фортрані. • Integral - чисельне інтегрування. • MATRIX - множення матриць. • aprpol - апроксимація поліномами. • InterpSpl - інтерполяція сплайнами. • Lagr - інтерполяційні поліноми Лагранжа. • Newton - пошук нуля методом Ньютона. • Gaus - розв'язання СЛАР методом Гауса. • Runge - чисельне розв'язання системи диференційних рівнянь методом Рунге-Кутта. • PAS_Prj (Паскаль) • BITCOD - робота з бітами у байті.

  19. WORK_SYS - графічна оболонка з різними функціями • (текстовий редактор, калькулятор, менеджер файлів і інше) • My3Deditor - графічні 3D примітиви • (кубічна гратка, тороід, циліндр, багатокутник) • можливості - трансляції+ротації,компілювання,перегляд. • MySystem - програма, що слугує для ведення статистики лотерей. • Має графічну оболонку - велика кількість колонок у яких, або нічого, або одиниця. • -Багато рядків. • -Можливість прокрутки. • -Можливість робити перебір варіантів.

  20. CYBERG.PRJ • EXAMPLE_.SYS • 4 • ORIGINAL • MODULE15.PAS - графічний редактор (юніт) з макрокомандами. • PASSWORD.PAS - парольна система. • MATH.PAS –математична бібліотека (вектора, функції). • MLAPP.PAS - юніт графічної оболонки (вікна, панелі, меню, іконки ...). • MLMP.PAS - мова програмування з циклами, умовами, змінними, командами, стрибками.

  21. L_SMART1.PAS - Нейманівське сортування, швидке сортування. • L_SMART2.PAS - Перебір. • TRIS.PAS - Теорія розв'язання винахідницьких задач. (бетта версія пошуку шляху у графі) • GRAFCONV.PAS - Перетворення графу. • ! Авторське свідоцтво №22357. Бєлошенко Микита Анатолійович (с)

  22. Eugen – пакет модулів для роботи з 3D графікою, розроблений Івановом Євгеном. Інші алгоритми Іванова Євгена можна подивитись на сайті http://ejsoft.mylivepage.com. Тематика – графи, дерева.

  23. Висновки Модульне написання програм є широковживанним у сучасному програмуванні. Добровільна спілка програмістів БТІ може запропонувати власну авторську реалізацію багатьох модулів, у цій презентації я намагався розкрити деякі принципи їх роботи. Дякую за увагу!

More Related