Διαφορετικές ή/και περίεργες λύσεις

Ξεκίνησε από deg, 13 Ιουν 2014, 11:17:07 ΜΜ

« προηγούμενο - επόμενο »

deg

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

Αναφέρω το θέμα Α5 των φετινών εξετάσεων

Α <-- 101
Β <-- 0
Αρχή_επανάληψης
   Β <-- Β + Α
   Α <-- Α + 2
Μέχρις_ότου Α>200
Εμφάνισε Β

Με έντονα γράμματα αυτό που οι περισσότεροι συμπλήρωσαν (και σωστά) για να απαντήσουν στο ερώτημα των εξετάσεων:

"Να ξαναγράψετε στο τετράδιό σας το παραπάνω τμήμα αλγορίθμου με τα κενά συμπληρωμένα, έτσι ώστε να υπολογίζει και να εμφανίζει το άθροισμα των περιττών ακεραίων από το 100 έως το 200.
Μονάδες 8 "

Μια λύση όμως ήταν διαφορετική ...

Α <-- 100
Β <-- 0
Αρχή_επανάληψης
   Β <-- ( A mod 2 * A) + B
   Α <-- A + 1
Μέχρις_ότου Α>200
Εμφάνισε Β

Στο Βαθμολογικό Κέντρο που υπηρετώ η απάντηση αυτή πήρε 8 μονάδες.  :)
Δεν είναι κακό να κάνεις λάθος, κακό είναι να αφήσεις το λάθος αδιόρθωτο.

noname

Μια ενδιαφέρουσα λύση στο Θέμα Δ ήταν αυτή με τρισδιάστατο πίνακα.
Βοηθούσε αρκετά στο τελευταίο υποερώτημα.

Πήγαινε  κάπως έτσι:

Αλγόριθμος ΘΕΜΑ_Δ
Α <- Αληθής
Για ι από 1 μέχρι 10
	Διάβασε ΟΝ[ι]
	Β <- Αληθής
	Σ <- 0	
	Για κ από 1 μέχρι 4
		Για λ από 1 μέχρι 7
			Διάβασε ΕΠ[ι, κ, λ]
			Σ <- Σ + ΕΠ[ι,κ,λ]
			Αν ΕΠ[ι,κ,λ] <= 500 τότε Β <- Ψευδής
		Τέλος_επανάληψης
	Τέλος_επανάληψης
	Αν Β = Αληθής τότε
		Εμφάνισε ΟΝ[ι]
		Α <- Ψευδής		
	Τέλος_Αν
	Εμφάνισε Ον[ι], Σ
Τέλος_επανάληψης
Αν Α = Αληθής Εμφάνισε "Δεν υπάρχουν ιστότοποι με >500 επισκέψεις καθημερινα"
Αρχή_επανάληψης
	Διάβασε ΟΝΟΜΑ
	ι <- 1
	Γ <- Ψευδής
	Όσο ι<=10 και Γ=Ψευδής επανάλαβε
		Αν ΟΝ[ι] = ΟΝΟΜΑ τότε
			Γ <- Αληθής
			θ <- ι
		αλλίως
			ι <- ι + 1
		Τέλος_αν
	Τέλος_Επανάληψης
Μέχρις_ότου Γ = Αληθής
Για κ από 1 μέχρι 4
	Σ[κ] <- 0
	Για λ από 1 μέχρι 7
		Σ[κ] <- Σ[κ] + ΕΠ[θ,κ,λ]
	Τέλος_επανάληψης
Τέλος_επανάληψης
ΜΑΧ <- Σ[1]
Για κ από 2 μέχρι 4
	Αν Σ[κ] > ΜΑΧ τότε ΜΑΧ <- Σ[κ]
Τέλος_επανάληψης
Για κ από 1 μέχρι 4
	Αν Σ[κ] = ΜΑΧ τότε Εμφάνισε κ
Τέλος_επανάληψης
Τέλος ΘΕΜΑ_Δ