levimoosky

progalap 4. EA

Oct 9th, 2014
262
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.32 KB | None | 0 0
  1. (0) Programozási tételek (PrT) lényege
  2. Célja: Bizonyíthatóan helyes sablon, amelyre magasabb szinten
  3. lehet építeni a megoldást.
  4. Szerkezete: absztrakt feladat specifikáció, absztrakt algoritmus
  5. !A bemenet legalább egy sorozat...
  6. !Típusfeladat általános megoldása.
  7. 1. a konkrét feladat specifikálása
  8. 2. a specifikációban a PrT-ek megsejtése
  9. 3. a konrkét feladat és az absztrakt feladat
  10. paramétereinek egymáshoz rendelése
  11. 4. a konrkét algoritmus "generálása"
  12. a megsejtett PrT-ek absztrakt algoritmusok alapján,
  13. 3. szerint átparaméterezve
  14. 5. hatékonyítás programtranszformációkkal
  15.  
  16. (1) Sorozatszámítás
  17. N "valamiből" kell kiszámolni "kumuláltan" egy "valamit"!
  18. ∑ (szumma = számsorozat összege)
  19. ∏ (produktum = számsorozat szorzata)
  20. ∪ (unió = halmazsorozat egyesítése)
  21. & (konkatenáció = szövegek „egymásutánírása”)
  22. Algoritmus (általánosan)
  23. S:=F0
  24. Ciklus i=1-től N-ig
  25. S:=f(S,X[i])
  26. Ciklus vége
  27.  
  28. Algoritmus összegzés esetén
  29. S:=0
  30. Ciklus i=1-től N-ig
  31. S:=S+X[i]
  32. Ciklus vége
  33.  
  34. (2) Megszámolás
  35. N darab "valamire" kell megadni,
  36. hogy hány adott tulajdonságú van közöttük.
  37. Db:=0
  38. Ciklus i=1-től N-ig
  39. Ha T(X[i]) akkor
  40. Db:=Db+1
  41. Ciklus vége
  42.  
  43. (3) Maximum-kiválasztás
  44. N darab "valami" közül kell megadni a legnagyobbat (v. legkisebbet)
  45. Ha legalább 1 elemünk van, akkor legnagyobb (legkisebb) is biztosan
  46. van közöttük!
  47.  
  48. Max:=1
  49. Ciklus i=2-től N-ig
  50. Ha X[i]>X[Max] akkor
  51. Max:=i
  52. Ciklus vége
  53. (Ha több maximális érték van, akkor az elsőt kapjuk meg.)
  54.  
  55. MaxÉrt:=X[1]
  56. Ciklus i=2-től N-ig
  57. Ha X[i]>MaxÉrt akkor
  58. MaxÉrt:=X[i]
  59. Ciklus vége
  60.  
  61. (4) Eldöntés
  62. Döntsük el, hogy N "valami" között van-e adott tulajdonsággal
  63. rendelkező elem!
  64.  
  65. i:=1
  66. Ciklus i<=N és nem T(X[i])
  67. i:=i+1
  68. Ciklus vége
  69. Van:=i<=N
  70.  
  71. (5) Kiválasztás
  72. N "valami" közül kell megadni adott tulajdonságút, ha tudjuk,
  73. hogy ilyen elem biztosan van.
  74. Ind:=1
  75. Ciklus nem T(X[nd])
  76. Ind:=Ind+1
  77. Ciklus vége
  78.  
  79. (6) Keresés
  80. N darab "valami" közül kell megadni, egy adott tulajdonságút, ha nem
  81. tudjuk, hogy ilyen elem van-e.
  82.  
  83. i:=1
  84. Ciklus i<=N és nem T(X[i])
  85. i:=i+1
  86. Ciklus vége
  87. Van:=i<=N
  88. Ha Van
  89. Ind:=i
Advertisement
Add Comment
Please, Sign In to add comment