Programozási alapismeretek
Programkészítés lépései
Tartalom
Bevezetés
1. Specifikálás
2. Algoritmus
3. Kódolás
4. Tesztelés
5. Hibakeresés
6. Hibajavítás
7. Minőségvizsgálat, hatékonyság
8. Dokumentálás
9. Használat, karbantartás
További linkek
Források
Bevezetés
A Programozási alapismeretek tárgyon egyszerűbb programok elkészítésével foglalkozunk. Ezt egy külön keretrendszerben tesszük.
A tárgyon tanult megközelítési módszer, egy konzisztens, a projektünk méretétől független alkalmazható keretrendszert ad (vagy próbál adni) programunk elkészítéséhez.
Vegyük a következő feladatot:
Egy ötgyerekes nagycsalád nyaralni indul a Balatonra. Az autópályán a 11 éves, a számok iránt mindig nagy érdeklődést mutató Matyi nem látja a kilométerórát, de szeretné megtudni, mekkora sebességgel mennek. Így elkezdi megszámolni hány kilométer táblát hagytak el, és közben az időt is méri. Milyen eredményt kap?
1. Specifikálás
Első lépésként szeretnénk a feladatunkat olyan formális módon meghatározni, hogy az sallangmentesen, röviden és érthetően olvasható legyen.
Tudni akarjuk, a szükséges be- és kimeneti információkat (Milyen adatok kellenek a megoldáshoz?; Mi a megoldás?), a bemeneti adatok értelmezési tartományát (Milyen adatokat engedünk beolvasni?), valamint azt, hogy hogyan kapjuk meg a kívánt kimenetet (Hogy kapjuk meg a megoldást?). Ezeket az alábbi módon fogjuk ábrázolni:
A helyes specifikáció írása bár időigényes tud lenni, rövid kódok esetén pedig egyenesen fölöslegesnek érződik, később segítségünkre lehet, mivel
- a feladatot jól elkülönülő egységekre bontja, valamint
- egy hosszú feladat specifikációjából dolgozni könnyebb, mint a szöveget bogarászni
Az út, idő ismeretében határozd meg a sebességet!
Megjegyzés: vannak egyéb információk is (pl. segédadatok, függvények), ám ezekkel később fogunk foglalkozni.
ELTE specifikációs rendszerének dokumentációja2. Algoritmus
Második lépésben a kész specifikációnk alapján megtervezzük azt az algoritmust, ami helyesen megoldja a feladatunkat.
Egy program 3 fő egységre osztható:
- Beolvasás
- Eredmény kiszámítása
- Kiírás
Az algoritmus "csupán" a második lépés megvalósulásáról szól, vagyis, hogy hogyan kapjuk meg a kívánt eredményt.
Nem foglalkozunk a bemeneti adatok helyes beolvasásával, az eredmény kiírásával. Ennek oka, hogy ezek megvalósítása programnyelvenként eltérő, esetleges.
Az algoritmus szekvenciálisan halad, a következőkből épül(het) fel:
- elágazások (ha akkor, különben)
- ciklusok (ismétélődés; számlálós és feltételes)
- függvények (algoritmus fő részében többször meghívható "nevére" hivatkozva)
Megjegyzés: függvényt alapvetően akkor írunk, ha az a specifikációban függvényként van hivatkozva!
Az algoritmust pszeudokódban írjuk le. Ezt azért használjuk, hogy programozási nyelvtől függetlenül értelmezhető legyen az algoritmusunk. A következő módon néz(het) ki:
További információk pszeudokód íráshoz.A példánkra alkalmazva:
Az út, idő ismeretében határozd meg a sebességet!
3. Kódolás
Ez a szó szoros értelemben vett "programozás", itt készítjük el a lefutó kódot. A tárgyon C# nyelvben dolgozunk (VS-ben). Amikor létrehozunk egy projektet, az így fog kinézni (minusz a kommentek):
namespace projekt_neve
{
internal class Program
{
// Függvények
static void Main(string[] args)
{
// Deklaráció
// Beolvasás
// Feldolgozás
// Kiírás
}
}
}
Segítség a programozási környezet (Visual Studio) telepítéséhez, futtatásához.
Fontos: a program (a különböző függvények és eljárások kivételével) a static void Main(string[] args)
részen belülre kerül!
Az út, idő ismeretében határozd meg a sebességet!// Deklaráció double s, t; // Be double v; // Ki // Beolvasás Console.Write("s = ") double.TryParse(Console.ReadLine(), out s); Console.Write("t = ") double.TryParse(Console.ReadLine(), out t); // Feldolgozás v = s / t; // Kiírás Console.WriteLine($"A sebesség: {v}");
4. Tesztelés
megírás alatt
5. Hibakeresés
megírás alatt
6. Hibajavítás
megírás alatt
7. Minőségvizsgálat, hatékonyság
megírás alatt
8. Dokumentálás
megírás alatt
9. Használat, karbantartás
megírás alatt
További linkek
ELTE specifikáció szerkesztője Specifikációs rendszer dokumentációjaForrások
Horváth Győző, Horváth Gyula, Szlávi Péter, Törley Gábor: Programozási alapismeretek 1. előadás (ppt) (előadó: Törley Gábor)