320 likes | 599 Views
Vladimir Viies, Lembit Jürimägi viis@ati.ttu.ee. Algoritmide koostamine ja realiseerimine. Tallinn 2014. ALGORITMIDE KOOSTAMINE 1. Что такое алгоритм ? Для чего нужен ? Как пользоватса ?. но не всякий набор, а набор с определенными ограничениями.
E N D
Vladimir Viies, Lembit Jürimägi viis@ati.ttu.ee Algoritmide koostamine ja realiseerimine Tallinn 2014
ALGORITMIDE KOOSTAMINE 1 Что такое алгоритм? Для чего нужен? Как пользоватса?
но не всякий набор, а набор с определенными ограничениями. MIS ON ALGORITM ÜLESANNETE LAHENDAMISEL ARVUTI ABIGA? Набор правил.
1.ЗАДАНИЕ:найти из N чисел максимальное Näited Набор правил не пригодное ,как алгоритм: Сравнивай числа и возми наибольшое Набор правил прнгодных для алгоритма: 1. Считай,запомни, введи числа . 2.Возми первое число(сравнитель) и сравни со следующем , если больше, продолжи, пока не наидетса больше этого или все числа прошли сравнения. 3.Если входе сравнений было выявлено большее, возми это число за новый сравнитель и повтори действия на основе 2 правила. .
Näited 2.Задание:выиграй в лото миллион. Набор правил не пригодное ,как алгоритм:покупай билеты пока выиграеш. Набор пригодных правил для алгоритма: отсутствует. 3.Задание: разменяй 100 euro на «мелкие» Набор правил,пригодных для алгоритма предпологает уточнения задания:что значит “на мелкие”, сколько и какими банкнотами можем пользоватсья. Если постановщик задания не поставил нужных ограничений, составитель алгоритма должен их сформулировать сам. .
ALGORITMIDE KOOSTAMINE 2 СВОЙСТВА АЛГОРИТМА • Должен иметь между собой связанные входные и выходные переменные • Должен приводить к решению в конечное время • Должен быть однозначным
ALGORITMIDE KOOSTAMINE 3 Графические редакторы для представления алгоритмоф(vooskeem)
SFC skeemide elemente(1) Такая схема алгоритма имеет всегда одно начало (START) и один конец (STOP).. Все действия происходят последовательно! . В данной схеме использованы обозначения : в/в , выбор,действие.
Реализация алгоритма, выбор языка Mis on algoritm?
// Program: erinevad arvud // Author: viies// Course: iag0581 void main () { mitu arvu sisestan; loen mitu arvu - N; paaris ja paaritu=0; for (i = 1; i <= N; i = i + 1) { loen arvu a(i); if (kas a(i) on paarisarv(jagub 2-ga)) { paaris=paaris+1; } else paaritu=paaritu+1; } väljasta paaris, paaritu; } Redaktor SFC genereeris koheselt algoritmi kirjelduse alusel antud prorrammi C keeles SFC töötab!
ALGORITMIDE KOOSTAMINE 3 Algoritmi esituse graafilised vahendid 2 (Jacksoni redaktor)
ALGORITMI TÄITMISEL LIIGUTAKSE ÜLEVALT ALLA JA VASAKULT PAREMALE
ANDMETE SISESTUS ANDMETE TÖÖTLUS TULEMUSTE VÄLJASTUS Struktuurseks lähenemiseks sobib hästi Jacksoni redaktor
ALGORITMIDE KOOSTAMINE 4 Algoritmi esituse graafilised vahendid 3 (näide: reas positiivsete arvude summa leidmine)
Algoritmi skeemi põhjal genereerib Jacksoni redaktor samasugue programmi tooriku nagu SFC nii C-s, kui Pascalis.
ALGORITMIDE KOOSTAMINE 5 Algoritmi esituse graafilised vahendid 4 (UMLi tegevusdiagrammi kasutamine algoritmide koostamisel)
ALGORITMIDE KOOSTAMINE 6 Ekstreemumid ja sortimised “mulli” meetodil
Ekstreemumid ja sortimised Üheks sagedasemaks ülesandeks andmete töötlemisel on nende sortimine, suurimate ja vähimate väärtuste leidmine.Selliste ülesannete lahendusalgoritmid sisaldavad alati kahte tegevust: Kahe võrreldava suuruse “kohtade vahetus” Kahe suuruse võrdlemine Esimene tegevus sisaldab ühte, teine aga kolme tehet
Lihtne sortimise algoritm, saab edukalt kasutada eksreemumite leidmiseks < MAKSIMUM Analoogselt saab üheläbivaatusega leida MIINIMUMi
ALGORITMIDE KOOSTAMINE Shell’i sortimise algoritm
Shell’i sortimise algoritm (1) (vähendab kohavahetuste arvu, eeldab et reas leidub järjestatud lõike)
Maatriksi rea väljastus max elemendi alusel Maatriksi sisestus A(i,j) i,j=1..N Max A(i,J) leidmine, max(i) Rea eraldamine max(i) alusel Jagame ülesande alamülesanneteks ja lahendame need hiljem!