Δομημένος προγραμματισμός: Διαφορά μεταξύ των αναθεωρήσεων

Από τη Βικιπαίδεια, την ελεύθερη εγκυκλοπαίδεια
Περιεχόμενο που διαγράφηκε Περιεχόμενο που προστέθηκε
Lady 6thofAu (συζήτηση | συνεισφορές)
μ Το θυμήθηκα :Ρ
Lady 6thofAu (συζήτηση | συνεισφορές)
Γραμμή 12: Γραμμή 12:
==Ιστορική διαδρομή==
==Ιστορική διαδρομή==


Ιστορικά ο δομημένος προγραμματισμός αναπτύχθηκε ως βελτίωση του παλαιότερου διαδικαστικού προγραμματισμού. Η [[διαδικασία (υπολογιστές)|διαδικασία]], γνωστή επίσης και ως ρουτίνα, υπορουτίνα, μέθοδος ή συνάρτηση είναι ένα αυτοτελές σύνολο εντολών προς εκτέλεση. Η έννοια της διαδικασίας βέβαια ήταν προγενέστερη αλλά δεν έπαιζε τόσο σημαντικό ρόλο στην αρχιτεκτονική των υπό συγγραφή εφαρμογών, καθώς τα δεδομένα ήταν αρκετά διαχωρισμένα από τις διαδικασίες και έπρεπε ο προγραμματιστής να θυμάται ποια διαδικασία καλούσε ποια άλλη και ποια δεδομένα διαφοροποιούνταν<ref name="sams"/>. Καθώς όμως οι περισσότερες διαδικαστικές γλώσσες γρήγορα υιοθέτησαν στοιχεία ώστε να υποστηρίζουν δομημένο προγραμματισμό, οι δύο όροι σήμερα έχουν πρακτικώς ταυτιστεί.
Ιστορικά ο δομημένος προγραμματισμός αναπτύχθηκε ύστερα από έρευνα τη δεκαετία του 1960 ως βελτίωση του παλαιότερου διαδικαστικού προγραμματισμού. Ένα από τα πιο σημαντικά αποτελέσματα αυτής της έρευνας ήταν η ανάπτυξη της γλώσσας [[Pascal (γλώσσα προγραμματισμού)]], από τον Niklaus Wirth το 1971, η οποία σύντομα έγινε η προτιμώμενη γλώσσα σε κολλέγια<ref>Harvey M. Deitel, ''C++ How to Program: how to program'', Pearson Prentice Hall 2005, σελ 10, ISBN 9780131857575</ref>. Η [[διαδικασία (υπολογιστές)|διαδικασία]], γνωστή επίσης και ως ρουτίνα, υπορουτίνα, μέθοδος ή συνάρτηση είναι ένα αυτοτελές σύνολο εντολών προς εκτέλεση. Η έννοια της διαδικασίας βέβαια ήταν προγενέστερη αλλά δεν έπαιζε τόσο σημαντικό ρόλο στην αρχιτεκτονική των υπό συγγραφή εφαρμογών, καθώς τα δεδομένα ήταν αρκετά διαχωρισμένα από τις διαδικασίες και έπρεπε ο προγραμματιστής να θυμάται ποια διαδικασία καλούσε ποια άλλη και ποια δεδομένα διαφοροποιούνταν<ref name="sams"/>. Καθώς όμως οι περισσότερες διαδικαστικές γλώσσες γρήγορα υιοθέτησαν στοιχεία ώστε να υποστηρίζουν δομημένο προγραμματισμό, οι δύο όροι σήμερα έχουν πρακτικώς ταυτιστεί.


Με τον καιρό οι δομημένες γλώσσες έφτασαν να μην επαρκούν για τη συγγραφή προγραμμάτων, επεκτάθηκαν και ως λύση υιοθετήθηκε ο [[αντικειμενοστρεφής προγραμματισμός]].
Με τον καιρό οι δομημένες γλώσσες έφτασαν να μην επαρκούν για τη συγγραφή προγραμμάτων, επεκτάθηκαν και ως λύση υιοθετήθηκε ο [[αντικειμενοστρεφής προγραμματισμός]].

Έκδοση από την 21:23, 8 Σεπτεμβρίου 2008

Στην επιστήμη υπολογιστών δομημένος προγραμματισμός (structured programming) ή διαδικαστικός προγραμματισμός (procedural programming) είναι μία προσέγγιση στον προγραμματισμό[1], η οποία βασίζεται στην κλήσης διαδικασίας.

Ο δομημένος προγραμματισμός βασίζεται στην αρχή του διαίρει και βασίλευε, διασπά το κυρίως πρόβλημα σε μικρότερα υποπροβλήματα (γνωστά επίσης και ως εργασίες - (tasks)). Κάθε εργασία που έχει πολύπλοκη περιγραφή διαιρείται σε μικρότερες έως ότου οι εργασίες είναι αρκετά μικρές και περιεκτικές, αλλά και εύκολες προς κατανόηση.

Ιστορική διαδρομή

Ιστορικά ο δομημένος προγραμματισμός αναπτύχθηκε ύστερα από έρευνα τη δεκαετία του 1960 ως βελτίωση του παλαιότερου διαδικαστικού προγραμματισμού. Ένα από τα πιο σημαντικά αποτελέσματα αυτής της έρευνας ήταν η ανάπτυξη της γλώσσας Pascal (γλώσσα προγραμματισμού), από τον Niklaus Wirth το 1971, η οποία σύντομα έγινε η προτιμώμενη γλώσσα σε κολλέγια[2]. Η διαδικασία, γνωστή επίσης και ως ρουτίνα, υπορουτίνα, μέθοδος ή συνάρτηση είναι ένα αυτοτελές σύνολο εντολών προς εκτέλεση. Η έννοια της διαδικασίας βέβαια ήταν προγενέστερη αλλά δεν έπαιζε τόσο σημαντικό ρόλο στην αρχιτεκτονική των υπό συγγραφή εφαρμογών, καθώς τα δεδομένα ήταν αρκετά διαχωρισμένα από τις διαδικασίες και έπρεπε ο προγραμματιστής να θυμάται ποια διαδικασία καλούσε ποια άλλη και ποια δεδομένα διαφοροποιούνταν[1]. Καθώς όμως οι περισσότερες διαδικαστικές γλώσσες γρήγορα υιοθέτησαν στοιχεία ώστε να υποστηρίζουν δομημένο προγραμματισμό, οι δύο όροι σήμερα έχουν πρακτικώς ταυτιστεί.

Με τον καιρό οι δομημένες γλώσσες έφτασαν να μην επαρκούν για τη συγγραφή προγραμμάτων, επεκτάθηκαν και ως λύση υιοθετήθηκε ο αντικειμενοστρεφής προγραμματισμός.

Πλεονεκτήματα

Ο δομημένος προγραμματισμός βοηθάει την ευκολότερη συγγραφή πολύπλοκων προγραμμάτων. Με το δομημένο προγραμματισμό γίνεται πιο εύκολη και ταχύτερη η διαχείριση, η συντήρηση και η αποσφαλμάτωση, καθώς βασίζεται σε μεγαλύτερες, πολυπλοκότερες και περιεκτικότερες μονάδες όπως οι διαδικασίες αντί για μεμονωμένες εντολές.

Παράδειγμα

Παράδειγμα δομημένου προγραμματισμού σε γλώσσα C:

#include <stdio.h>
  int sum(int,int);
   
  int main() {
      int x,y;

      puts("Δύο ακέραιοι με κενό ενδιάμεσα:");
      scanf("%d %d",&x,&y);
      printf("Sum is %d\n", sum(x,y));

      return 0;
  }

  int sum(int k, int l) {
      return k+l;
  }

Παραπομπές

  1. 1,0 1,1 Jesse Liberty, Bradley Jones, Sams Teach Yourself C++ in 21 Days, Sams Publishing, 2004, σελ. 8, ISBN 9780672327117
  2. Harvey M. Deitel, C++ How to Program: how to program, Pearson Prentice Hall 2005, σελ 10, ISBN 9780131857575