1 / 16

Informatika

Informatika. Saulius Ragaišis , VU MIF saulius.ragaisis@m a f.vu.lt 20 11 - 09 - 09. Užduotėlė pamąstymui. Parašyti programą, kuri įveda 3 sveikus skaičius išveda didžiausią reikšmę. Programa, kuri įveda 3 sveikus skaičius ir išveda didžiausią reikšmę. program Paprasta;

ishi
Download Presentation

Informatika

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. Informatika Saulius Ragaišis, VU MIF saulius.ragaisis@maf.vu.lt 2011-09-09

  2. Užduotėlė pamąstymui Parašyti programą, kuri • įveda 3 sveikus skaičius • išveda didžiausią reikšmę.

  3. Programa, kuri įveda 3 sveikus skaičius ir išveda didžiausią reikšmę. program Paprasta; var a, b, c : integer; begin writeln('Iveskite 3 sveikus skaicius:'); readln(a, b, c); write('Didziausia reiksme: '); if (a > b) and (a > c) then writeln(a) else if (b > a) and (b > c) then writeln(b) else writeln(c); readln; end. Kokia jūsų nuomonė apie šią programą?

  4. Korektiška programa program Paprasta; var a, b, c : integer; begin writeln('Iveskite 3 sveikus skaicius:'); readln(a, b, c); write('Didziausia reiksme: '); if (a >= b) and (a >= c) then writeln(a) else if (b >= a) and (b >= c) then writeln(b) else writeln(c); end.

  5. Plečiama programa program Paprasta2; var a, b, c, max : integer; begin writeln('Iveskite 3 sveikus skaicius:'); readln(a, b, c); max := a; if (b > max) then max := b; if (c > max) then max := c; writeln('Didziausia reiksme: ', max); end.

  6. Algoritmai Algoritmas - tai baigtinė seka pažingsninių tikslių instrukcijų, skirtų atlikti tam tikrą darbą. Formaliai algoritmas turi patenkinti 3 sąlygas: 1) jis turi atlikti darbą; 2) jis turi būti aiškus ir nedviprasmiškas; 3) jis turi apibrėžti žingsnių seką, reikalingą darbui atlikti, t.y. jis turi nurodyti žingsnių atlikimo tvarką. Informatikoje dažnai dar reikalaujama, kad algoritmas būtų baigtinis dviem prasmėm: 4) atliekamų žingsnių skaičius turi būti baigtinis, t.y. algoritmas turi tikrai baigti darbą; 5) kiekvienam žingsniui atlikti turi pakakti baigtinio laiko ir baigtinių resursų, t.y. kiekvienas žingsnis turi būti toks, kad jį būtų galima atlikti. Nuo algoritmo yra neatsiejama jo vykdytojo sąvoka.

  7. Algoritmų pavyzdžiai Euklido algoritmas sveikų teigiamų skaičių A ir B bendram didžiausiam dalikliui (BDD) rasti: 1. Rasti A dalybos iš B liekaną. 2. Pakeisti A - B. 3. Pakeisti B liekana, rasta 1 žingsnyje. 4. Kartoti žingsnius 1-3, kol B bus 0. 5. BDD bus A reikšmė.

  8. Įrodymas, kad pagal Euklido algoritmą randamas BDD Jei A dalijasi iš L, tai galima užrašyti A=nL, kur n - kažkoks sveikas skaičius. Analogiškai jei B dalijasi iš L, tai B=mL, kur m - kažkoks sveikas skaičius.Taigi jei A ir B dalijasi iš L, tai A dalybos iš B liekana irgi dalijasi iš L: A mod B = A - kB = nL - kmL = (n - km)L Tai reiškia Euklido algoritmo 1-ame žingsnyje atliekamas veiksmas nekeičia BDD reikšmės: BDD(A, B) = BDD(A', B') = ... = BDD(L, 0) = L

  9. Algoritmų užrašymo būdai Jei vykdytojas žmogus, algoritmą galima pateikti labai įvairiai:- natūralia kalba- diagrama- bet kokia kita žmogui priimtina forma.

  10. Algoritmų užrašymo būdai (2) Informatikoje kaip vykdytojas dažniausiai suprantamas kompiuteris. Pagrindinės idėjos:• kompiuteriai apdoroja duomenis, išreikštus simboliais;• jie kontroliuojami instrukcijomis, kurios ir sudaro algoritmą;• instrukcijos irgi pateikiamos mašinai kaip simbolių seka. Taigi viskas, ko reikia algoritmų pateikimui kompiuteriui, tai kalba patogiam instrukcijų užrašymui. Programa - tai algoritmo išraiška tikslia kalba, suprantama kompiuteriui, t.y. programavimo kalba.

  11. Euklido algoritmas (Pascal) repeat liekana := A mod B; { 1. } A := B; { 2. } B := liekana; { 3. } until B = 0; { 4. } writeln(A) { 5. }

  12. Euklido algoritmas (C) do { liekana = A % B; /* 1. */ A = B; /* 2. */ B = liekana; /* 3. */ } while (B != 0); /* 4. */ printf("%d \n", A); /* 5. */

  13. Programa realizuojanti Euklido algoritmą (Pascal) program Euklido; var A, B, liekana : integer; begin writeln('Iveskite 2 sveikus teigiamus skaicius:'); readln(A, B); if (A <= 0) or (B <= 0) then writeln(‘Bent vienas skaicius nera teigiamas!') else begin write('BDD(', A, ',', B, ')='); repeat liekana := A mod B; { 1. } A := B; { 2. } B := liekana; { 3. } until B = 0; { 4. } writeln(A) { 5. } end end.

  14. Programa realizuojanti Euklido algoritmą (C) #include <stdio.h> int main() { int A, B, liekana; printf("Iveskite 2 sveikus teigiamus skaicius: \n" ); scanf("%d %d", &A, &B); if ((A <= 0) || (B <= 0)) printf("Bent vienas skaicius nera teigiamas! \n" ); else { printf("BDD(%d,%d)=", A, B ); do { liekana = A % B; // 1. A = B; // 2. B = liekana; // 3. } while (B != 0); // 4. printf("%d \n", A); } }

  15. Programa realizuojanti Euklido algoritmą (C++) #include <Iostream.h> int main() { int A, B, liekana; cout << "Iveskite 2 sveikus teigiamus skaicius: " << endl; cin >> A >> B; if ((A <= 0) || (B <= 0)) cout<<"Bent vienas skaicius nera teigiamas!"<<endl; else { cout << "BDD(" << A << "," << B << ")="; do { liekana = A % B; // 1. A = B; // 2. B = liekana; // 3. } while (B != 0); // 4. cout << A << endl; } }

  16. Klausimai ?

More Related