Μάθημα : Προγραμματισμός Η/Υ
Κωδικός : T522234
-
Εμφάνιση όλων των ενοτήτων
-
Τύποι δεδομένων
-
Πράξεις και εκφράσεις (αριθμητικές και λογικές)
-
Μεταβλητές
-
Βασικές (ενσωματωμένες) συναρτήσεις -Βιβλιοθήκες συναρτήσεων
-
Δομή προγράμματος και καλές πρακτικές
-
Τύποι και δομές δεδομένων στις γλώσσες προγραμματισμού
-
Δομή ακολουθίας
-
Αλγοριθμικές δομές (if, for, while)
-
Αλγοριθμικές δομές (Θέματα)
-
Δυαδική αναζήτηση
-
Ταξινόμηση Ευθείας ανταλλαγής
-
Διαχείριση Αρχείων
-
Υποπρογράμματα, Συναρτήσεις
-
Αρθρώματα (Modules)
-
Συμβολοσειρές (strings)
-
Λίστες
-
Στοίβα
-
Ουρά
-
Αντικειμενοστρεφής Προγραμματισμός
-
Θέματα προηγουμένων χρόνων
-
Tips & Tricks
-
Module random
-
Module math
-
Θέματα 2022-23
-
Θέματα 2023-24
-
Η ΑΙ λύνει τα θέματα
-
Τύποι δεδομένων
Ταξινόμηση Ευθείας ανταλλαγής
#Αλγόριθμος Ταξινόμησης Bubble Sort
def bubbleSort(A):
N=len(A)
for i in range(N-1):
#καθορίζει πόσα "περάσματα" θα γίνουν
for j in range(N-1, i, -1):
if A[ j ] < A[ j-1 ] :
A[ j ], A[ j-1 ] = A[ j-1 ], A[ j ]
ένα βίντεο που εξηγεί τη λειτουργία του αλγορίθμου
Παράδειγμα
def bubbleSort(A):
N=len(A)
for i in range(N-1): #καθορίζει πόσα "περάσματα" θα γίνουν
for j in range(N-1, i, -1):
if A[ j ] < A[ j-1 ] :
A[ j ], A[ j-1 ] = A[ j-1 ], A[ j ]
print 'perasma ', i+1, ':',A
#!!!!!!!!!!!!!!!!!
lista=[14,8,89,4,2,41,63,11,5]
print lista
bubbleSort(lista)
print lista
B2.
∆ίνεται παρακάτω η λίστα Α με 6 αριθμούς. Να εκτελέσετε τον αλγόριθμο ταξινόμησης ευθείας ανταλλαγής για την ταξινόμηση των αριθμών σε αύξουσα σειρά, συμπληρώνοντας παράλληλα τα κενά στον παρακάτω πίνακα, έτσι ώστε να φαίνονται τα στοιχεία της λίστας αμέσως μετά από κάθε πέρασμα του αλγορίθμου.
| Α | 55 | 34 | 5 | 2 | 2 | 1 | |
| 1ο πέρασμα | (μον. 2) | ||||||
| 2ο πέρασμα | (μον. 2) | ||||||
| 3ο πέρασμα | (μον. 2) | ||||||
| 4ο πέρασμα | (μον. 2) | ||||||
| 5ο πέρασμα | (μον. 2) |
Μονάδες 10
(ΠΑΝΕΛΛΑ∆ΙΚΕΣ ΙΟΥΝΙΟΥ 2019)
Λύση
| θεση 0 1 2 3 4 5 |
| A i N-1,i,-1 55 34 5 2 2 1 |
| 1 0 5,0,-1 1 55 34 5 2 2 |
| 2 1 5,1,-1 1 2 55 34 5 2 |
| 3 2 5,2,-1 1 2 2 55 34 5 |
| 4 3 5,3,-1 1 2 2 5 55 34 |
| 5 4 5,4,-1 1 2 2 5 34 55 |
B1.
Δίνεται το παρακάτω τμήμα προγράμματος σε γλώσσα προγραμματισμού Python που υλοποιεί ταξινόμηση ευθείας ανταλλαγής (bubble sort) στα στοιχεία της λίστας lista κατά φθίνουσα σειρά:
N=len(lista)
for i in range(1, ( 1 ) , ( 2 ) ):
for j in range(N-1, ( 3 ) ,-1):
if lista[ ( 4 ) ] ( 5 ) lista[j-1]:
lista[j], lista[j-1] = lista[j-1], lista[j]
Στο τμήμα προγράμματος υπάρχουν υπογραμμισμένα κενά τα οποία έχουν αριθμηθεί. Να γράψετε στο τετράδιό σας τους αριθμούς 1, 2, 3, 4 και 5 που αντιστοιχούν στα κενά του παραπάνω τμήματος προγράμματος και δίπλα σε κάθε αριθμ ό αυτό που πρέπει να συμπληρωθεί ώστε να υλοποιείται σωστά η ταξινόμηση.
Μονάδες 10
(ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΙΟΥΝΙΟΥ 2017)
Δ3. Να ταξινομεί τη λίστα BATHPROK με χρήση του αλγορίθμου ταξινόμησης ευθείας ανταλλαγής (φυσαλίδα - bubblesort) σε φθίνουσα σειρά ως προς τις βαθμολογίες αναδιατάσσοντας συγχρόνως τη λίστα PROK, έτσι ώστε να διατηρείται η αντιστοιχία ομάδων – βαθμολογιών. Σε περίπτωση ισοβαθμίας να γίνεται ταξινόμηση με αλφαβητική σειρά ως προς τα ονόματα της λίστας PROK.
Μονάδες 10
Λύση
PROK=['SSS','TTT','AAA','RRR','BBB','CCC','JJJ']