Κεφάλαιο 9

20
9. Ðßíáêåò

description

Κεφάλαιο 9 Ανάπτυξη Εφαρμογών

Transcript of Κεφάλαιο 9

9.

Ðßíáêåò

ÅéóáãùãÞ

Ç ÷ñÞóç ôùí ìåôáâëçôþí ìå äåßêôåò óôçí Üëãåâñá åßíáé Ýíáò éäéáßôåñáäõíáìéêüò ôñüðïò ãéá ôç äéá÷åßñéóç ìåãÜëïõ áñéèìïý äåäïìÝíùí éäßïõ ôý-ðïõ. Ïé ãëþóóåò ðñïãñáììáôéóìïý, äáíåßæïíôáé ôçí Ýííïéá ôùí ìåôáâëç-ôþí ìå äåßêôåò êáé ÷ñçóéìïðïéïýí ôïõò ðßíáêåò ãéá ôïí ßäéï ëüãï.

Óôï êåöÜëáéï áõôü ðáñïõóéÜæïíôáé ïé Ýííïéåò ôïõ ðßíáêá êáèþò êáé ïéâáóéêïß ôñüðïé åðåîåñãáóßáò ôïõò áðü ôç ÃËÙÓÓÁ.

ÐáñïõóéÜæïíôáé ïé ìïíïäéÜóôáôïé êáèþò êáé ïé ðïëõäéÜóôáôïé ðßíáêåò,ï ôñüðïò ìå ôïí ïðïßï ïñßæïíôáé êáé ÷ñçóéìïðïéïýíôáé êáé ôÝëïò óõæçôïý-íôáé ïé ðëÝïí êïéíÝò äéáäéêáóßåò ðÜíù óå ðßíáêåò, ç åýñåóç ìåãßóôïõ êáé å-ëá÷ßóôïõ, ç áíáæÞôçóç, ç ôáîéíüìçóç êáé ç óõã÷þíåõóç ðéíÜêùí.

Óôü÷ïé

Íá åßíáé óå èÝóç ï ìáèçôÞò

� Íá åðéëÝãåé ôï åßäïò ôïõ ðßíáêá.

� Íá ïñßæåé ôïõò ðßíáêåò óå Ýíá ðñüãñáììá.

� Íá åéóÜãåé, íá åðåîåñãÜæåôáé êáé íá ôõðþíåé ôá óôïé÷åßá åíüò ðßíáêá.

� Íá áðïöáóßæåé áí åßíáé áðáñáßôçôç ç ÷ñÞóç ðßíáêá.

� Íá áíáöÝñåé ôéò âáóéêÝò åðåîåñãáóßåò óå Ýíá ðßíáêá.

� Íá áíáæçôÜ êáé íá ôáîéíïìåß ôá óôïé÷åßá åíüò ðßíáêá.

ÐñïåñùôÞóåéò

� Ðþò ìðïñïýí íá áðïèçêåõôïýí ðïëëÜ ðáñüìïéá äåäïìÝíá óôïí õðï-ëïãéóôÞ, ãéá ðáñÜäåéãìá ôá ïíüìáôá üëùí ôùí ìáèçôþí ìßáò ôÜîçò;

� Ãéá ðïéï ëüãï ÷ñçóéìïðïéïýíôáé óôçí Üëãåâñá ïé ìåôáâëçôÝò ìå äåß-êôåò;

� Óå ðïéåò ðåñéðôþóåéò ÷ñåéÜæåôáé ç ôáîéíüìçóç êÜðïéùí äåäïìÝíùí;

� Åßíáé åýêïëç ç áíáæÞôçóç åíüò óõãêåêñéìÝíïõ äåäïìÝíïõ óå ìç ôáîéíï-ìçìÝíá äåäïìÝíá;

ÁíÜðôõîç åöáñìïãþí óå ðñïãñáììáôéóôéêü ðåñéâÜëëïí184

9.1. ÌïíïäéÜóôáôïé ðßíáêåò.

ÐïëëÜ áðü ôá ðñïâëÞìáôá ôá ïðïßá ðáñïõóéÜóôçêáí óôá ðñïçãïý-ìåíá êåöÜëáéá, áðëÜ åðåîåñãÜæïíôáé ìßá óåéñÜ äåäïìÝíùí.

ÄéáâÜæïõí Ýíá äåäïìÝíï êÜèå öïñÜ, ôï åê÷ùñïýí óå ìßá ìåôáâëçôÞ, å-êôåëïýí ôïõò áíôßóôïé÷ïõò õðïëïãéóìïýò êáé óôç óõíÝ÷åéá åðáíáëáìâÜíå-ôáé ç ßäéá äéáäéêáóßá ìÝ÷ñé íá ôåëåéþóïõí üëá ôá äåäïìÝíá.

Ãéá ðáñÜäåéãìá Ýíá ðñüãñáììá ôï ïðïßï äéáâÜæåé ôéò èåñìïêñáóßåòäéáöüñùí çìåñþí ôïõ ìÞíá, Ýóôù 30, êáé õðïëïãßæåé ôç ìÝóç èåñìïêñáóßá,ìðïñåß ðïëý áðëÜ íá ãñáöåß ùò åîÞò

….Óýíïëï <- 0ÃÉÁ ÇìÝñá ÁÐÏ 1 ÌÅ×ÑÉ 30

ÄÉÁÂÁÓÅ ÈåñìïêñáóßáÓýíïëï <- Óýíïëï+Èåñìïêñáóßá

ÔÅËÏÓ_ÅÐÁÍÁËÇØÇÓ

ÌÝóç <- Óýíïëï /30…..

×ñçóéìïðïéþíôáò ëïéðüí ìüíï ìßá ìåôáâëçôÞ, ôç ìåôáâëçôÞ Èåñìï-

êñáóßá, ôï ðñüâëçìá ëýíåôáé ðïëý áðëÜ êáé ôï áíôßóôïé÷ï ðñüãñáììá åß-íáé óýíôïìï êáé êáôáíïçôü.

Áí üìùò óôï ðñïçãïýìåíï ðñüãñáììá æçôåßôáé êáé ï áñéèìüò ôùí çìå-ñþí ðïõ ç èåñìïêñáóßá Þôáí êáôþôåñç ôçò ìÝóçò, ôüôå ç óýãêñéóç áõôÞðñÝðåé íá ãßíåé ìåôÜ ôïí õðïëïãéóìü ôçò ìÝóçò èåñìïêñáóßáò. Áõôü óçìáß-íåé üôé üëåò ïé èåñìïêñáóßåò ðñÝðåé íá åðáíáåéóá÷èïýí ãéá íá óõãêñéèïýíìå ôç ìÝóç.

Ìßá Üëëç ëýóç åßíáé íá êáôá÷ùñçèåß êÜèå èåñìïêñáóßá óå äéáöïñåôéêÞìåôáâëçôÞ, Ýôóé þóôå êÜèå ôéìÞ ðïõ åéóÜãåôáé íá äéáôçñåßôáé óôç ìíÞìçêáé íá ìðïñåß íá óõãêñéèåß ìå ôç ìÝóç, áöïý áõôÞ õðïëïãéóôåß. Ôüôå üìùòðñÝðåé íá äçìéïõñãçèïýí 30 äéáöïñåôéêÝò ìåôáâëçôÝò Èåñìïêñáóßá1,Èåñìïêñáóßá2,..., Èåñìïêñáóßá30. Ãéá íá ãñáöåß ôï ðñüãñáììá ÷ñåéÜæï-íôáé ôñéÜíôá åíôïëÝò ÄÉÁÂÁÓÅ êáé ôñéÜíôá åíôïëÝò ÁÍ.

Áí êáé áõôÞ ç ëýóç åßíáé óùóôÞ êáé ðñáêôéêÞ ãéá ìéêñü áñéèìü äåäïìÝ-íùí, ðñïöáíþò äåí åîõðçñåôåß ôçí åðåîåñãáóßá ìåãÜëïõ áñéèìïý äåäïìÝ-íùí.

Ç êáëýôåñç ëýóç óôï ðñüâëçìá áõôü åßíáé ç ÷ñÞóç ìåôáâëçôÞò ìå äåß-êôåò, Ýííïéá ðïõ åßíáé ãíùóôÞ áðü ôá ìáèçìáôéêÜ êáé õëïðïéåßôáé óôïíðñïãñáììáôéóìü ìå ôç äïìÞ äåäïìÝíùí ôïõ ðßíáêá. ×ñçóéìïðïéåßôáé ëïé-

Ðßíáêåò185

ðüí ìüíï Ýíá üíïìá Èåñìïêñáóßá, ðïõ áíáöÝñåôáé êáé óôéò ôñéÜíôá äéá-öïñåôéêÝò èåñìïêñáóßåò.

Ôï üíïìá ôïõ ðßíáêá êáèïñßæåé ìßá ïìÜäá äéáäï÷éêþí èÝóåùí óôç ìíÞ-ìç. ÊÜèå óõãêåêñéìÝíç èÝóç ìíÞìçò êáëåßôáé óôïé÷åßï ôïõ ðßíáêá êáéðñïóäéïñßæåôáé áðü ôçí ôéìÞ åíüò äåßêôç, üðùò öáßíåôáé êáé óôï ó÷Þìá9.1.

Ïé ðßíáêåò ðïõ ÷ñçóéìïðïéïýí Ýíá ìüíï äåßêôç ãéá ôçí áíáöïñÜ ôùíóôïé÷åßùí ôïõò, ïíïìÜæïíôáé ìïíïäéÜóôáôïé ðßíáêåò.

Ôï üíïìá ôïõ ðßíáêá ìðïñåß íá åßíáé ïðïéïäÞðïôå äåêôü üíïìá ôçòÃËÙÓÓÁÓ êáé ï äåßêôçò åßíáé ìßá áêÝñáéá Ýêöñáóç, óôáèåñÞ Þ ìåôáâëçôÞðïõ ðåñéêëåßåôáé ìÝóá óôá óýìâïëá [ êáé ]. Ôï óôïé÷åßï Èåñìïêñáóßá[2],

åêöñÜæåé ôç èåñìïêñáóßá ôçò äåýôåñçò çìÝñáò, áíáöÝñåôáé óôï äåýôåñïóôïé÷åßï ôïõ ðßíáêá Èåñìïêñáóßá êáé Ý÷åé ôçí ôéìÞ 27.

Ãåíéêüôåñá ôï óôïé÷åßï Èåñìïêñáóßá[i] áíáöÝñåôáé óôï i-óôü óôïé÷åßïôïõ ðßíáêá.

ÊÜèå ðßíáêáò ðñÝðåé õðï÷ñåùôéêÜ íá ðåñéÝ÷åé äåäïìÝíá ôïõ éäßïõ ôý-ðïõ, äçëáäÞ áêÝñáéá, ðñáãìáôéêÜ, ëïãéêÜ, Þ áëöáñéèìçôéêÜ. Ï ôýðïò ôïõðßíáêá äçëþíåôáé ìáæß ìå ôéò Üëëåò ìåôáâëçôÝò ôïõ ðñïãñÜììáôïò óôïôìÞìá äÞëùóçò ìåôáâëçôþí. Åêôüò áðü ôïí ôýðï ôïõ ðßíáêá ðñÝðåé íáäçëþíåôáé êáé ï áñéèìüò ôùí óôïé÷åßùí ðïõ ðåñéÝ÷åé Þ êáëýôåñá ï ìåãáëý-ôåñïò áñéèìüò óôïé÷åßùí ðïõ ìðïñåß íá Ý÷åé ï óõãêåêñéìÝíïò ðßíáêáò êáéáõôü ãéá íá äåóìåõôïýí ïé áíôßóôïé÷åò óõíå÷üìåíåò èÝóåéò ìíÞìçò.

ÁíÜðôõîç åöáñìïãþí óå ðñïãñáììáôéóôéêü ðåñéâÜëëïí186

Ó÷. 9.1. Ï ðßíáêáò Èåñìïêñáóßá

Ï äåßêôçò åßíáé ìßá ìåôáâëç-

ôÞ ðïõ ìðïñåß íá Ý÷åé ïðïéï-

äÞðïôå äåêôü üíïìá. Åßíáé

óýíçèåò üìùò óôïí ðñï-

ãñáììáôéóìü ùò äåßêôåò íá

÷ñçóéìïðïéïýíôáé ïé ìåôá-

âëçôÝò i, j, k.

Ãéá ðáñÜäåéãìá

ÌÅÔÁÂËÇÔÅÓ

ÐÑÁÃÌÁÔÉÊÅÓ:Èåñìïêñáóßá [30]

Ðßíáêáò åßíáé Ýíá óýíïëï áíôéêåéìÝíùí ßäéïõ ôýðïõ, ôá ïðïßá áíáöÝñï-íôáé ìå Ýíá êïéíü üíïìá. ÊÜèå Ýíá áðü ôá áíôéêåßìåíá ðïõ áðáñôßæïõíôïí ðßíáêá ëÝãåôáé óôïé÷åßï ôïõ ðßíáêá. Ç áíáöïñÜ óå áôïìéêÜ óôïé-÷åßá ôïõ ðßíáêá ãßíåôáé ìå ôï üíïìá ôïõ ðßíáêá áêïëïõèïýìåíï áðü Ýíáäåßêôç.

ÐáñÜäåéãìá 1

×ñçóéìïðïéþíôáò ìåôáâëçôÝò ìå äåßêôåò ãéá ôï ðñïçãïýìåíï ðáñÜäåéã-ìá Ý÷ïõìå ôï åîÞò ðñüãñáììá

ÐÑÏÃÑÁÌÌÁ ÈåñìïêñáóßåòÌÅÔÁÂËÇÔÅÓ

ÐÑÁÃÌÁÔÉÊÅÓ: Èåñìïêñáóßá[30], ÌÝóç, ÓýíïëïÁÊÅÑÁÉÅÓ: i, ÇìÝñåò

ÁÑ×Ç

Óýíïëï <- 0ÃÉÁ i ÁÐÏ 1 ÌÅ×ÑÉ 30

ÃÑÁØÅ ‘Äþóå ôç èåñìïêñáóßá’ÄÉÁÂÁÓÅ Èåñìïêñáóßá[i]Óýíïëï <- Óýíïëï+ Èåñìïêñáóßá[i]

ÔÅËÏÓ_ÅÐÁÍÁËÇØÇÓ

ÌÝóç <- Óýíïëï/30ÇìÝñåò <- 0ÃÉÁ i ÁÐÏ 1 ÌÅ×ÑÉ 30

ÁÍ Èåñìïêñáóßá[i] < ÌÝóç ÔÏÔÅ

ÇìÝñåò <- ÇìÝñåò+1ÔÅËÏÓ_ÁÍ

ÔÅËÏÓ_ÅÐÁÍÁËÇØÇÓ

ÃÑÁØÅ ‘ÌÝóç Èåñìïêñáóßá:’, ÌÝóçÃÑÁØÅ ‘ÇìÝñåò ìå ìéêñüôåñç èåñìïêñáóßá’, ÇìÝñåò

ÔÅËÏÓ_ÐÑÏÃÑÁÌÌÁÔÏÓ

Ìå ôç ÷ñÞóç ôïõ ðßíáêá, üëá ôá äåäïìÝíá êáôá÷ùñïýíôáé êÜôù áðüôï ßäéï üíïìá ìåôáâëçôÞò, óôï ðáñÜäåéãìá Èåñìïêñáóßá. Ç áíÜãíùóç ü-ëùí ôùí äåäïìÝíùí áðëïðïéåßôáé, áöïý åßíáé ìüíï ìßá åíôïëÞ, ÄÉÁÂÁÓÅÈåñìïêñáóßá[i], ç ïðïßá âñßóêåôáé ìÝóá óå Ýíá âñü÷ï êáé åðáíáëáìâÜíå-

Ðßíáêåò187

ôáé üóåò öïñÝò áðáéôåßôáé üðùò êáé ï õðïëïãéóìüò ôïõ áèñïßóìáôïò,Óýíïëï<-Óýíïëï+ Èåñìïêñáóßá[i].

Ïé ôéìÝò ìåôÜ ôïí õðïëïãéóìü ôçò ìÝóçò ôéìÞò äåí ÷Üíïíôáé, áöïý âñß-óêïíôáé óôá óôïé÷åßá ôïõ ðßíáêá êáé îáíá÷ñçóéìïðïéïýíôáé ãéá ôçí åýñå-óç ôïõ áñéèìïý ôùí çìåñþí, ðïõ ç èåñìïêñáóßá åßíáé ìéêñüôåñç áðü ôç ìÝ-óç. Ï õðïëïãéóìüò ôùí çìåñþí åßíáé ìüíï ìßá åíôïëÞ ÁÍ, ç ïðïßá âñßóêå-ôáé óå Ýíá âñü÷ï êáé åðáíáëáìâÜíåôáé 30 öïñÝò.

ÐáñÜäåéãìá 2

Íá ãñáöåß ðñüãñáììá ôï ïðïßï íá õðïëïãßæåé ôá âáóéêÜ óôáôéóôéêÜ

ìåãÝèç, ôç ìÝóç ôéìÞ, ôçí ôõðéêÞ áðüêëéóç êáé ôç äéÜìåóï ôéìÞ Í áêå-

ñáßùí áñéèìþí, üðïõ ôï Í åßíáé áðü 2 ìÝ÷ñé 100.

Ôá äåäïìÝíá åéóÜãïíôáé áðü ôï ðëçêôñïëüãéï êáé êáôá÷ùñïýíôáé óôïíðßíáêá ×.

Ç ìÝóç ôéìÞ ì äßíåôáé áðü ôïí ôýðï ì

Xi

Ni

N

= =∑

1

Ç ôõðéêÞ áðüêëéóç ó äßíåôáé áðü ôïí ôýðï ó

Xi

Nìi

N

2

2

1 2= −=∑

Ãéá íá âñåèåß ç äéÜìåóïò ôéìÞ ðñÝðåé õðï÷ñåùôéêÜ ïé áñéèìïß íá ôáîéíï-ìçèïýí êáôÜ áýîïõóá óåéñÜ. Ôüôå äéÜìåóïò ôéìÞ, åßíáé ç ôéìÞ ãéá ôçí ïðïßáïé ìéóïß áñéèìïß åßíáé ìéêñüôåñïé êáé ïé Üëëïé ìéóïß ìåãáëýôåñïé. Óôçí ðåñß-ðôùóç ðïõ ôï ðëÞèïò ôùí áñéèìþí åßíáé ðåñéôôü, ôüôå äéÜìåóïò åßíáé ï ìå-óáßïò, åíþ óôçí ðåñßðôùóç ðïõ åßíáé Üñôéï, ôüôå äéÜìåóïò åßíáé ôï çìéÜ-èñïéóìá ôùí äýï ìåóáßùí áñéèìþí.

Ç ôáîéíüìçóç ôùí óôïé÷åßùí ãßíåôáé ìå ôç ìÝèïäï ôáîéíüìçóçò åõèåßáòáíôáëëáãÞò, ç ïðïßá ðáñïõóéÜóôçêå óôï êåöÜëáéï 3.

ÐÑÏÃÑÁÌÌÁ ÓôáôéóôéêÞ

ÌÅÔÁÂËÇÔÅÓ

ÁÊÅÑÁÉÅÓ : i, Í, ×[100], ÄéÜìåóïò, ¢èñïéóìá,¢èñïéóìá_2, ÂïçèçôéêÞ

ÐÑÁÃÌÁÔÉÊÅÓ: ÌÔ, Ôõð_Áðüêëéóç

ÁÑ×Ç

! ÅéóáãùãÞ äåäïìÝíùí

ÃÑÁØÅ ‘Äþóå ôï ðëÞèïò ôùí áñéèìþí (ìÝãéóôï 100)’ÄÉÁÂÁÓÅ Í

ÁíÜðôõîç åöáñìïãþí óå ðñïãñáììáôéóôéêü ðåñéâÜëëïí188

Ç áíÜãíùóç, ç åðåîåñãáóßá

êáé ç åêôýðùóç ôùí óôïé-

÷åßùí ôùí ðéíÜêùí ãßíåôáé

ðÜíôïôå áðü âñü÷ïõò, ïé ï-

ðïßïé åðáíáëáìâÜíïíôáé ðñï-

êáèïñéóìÝíï áñéèìü öïñþí,

üóá åßíáé ôá óôïé÷åßá ôïõ ðß-

íáêá êáé õëïðïéïýíôáé êáëý-

ôåñá óôïí ðñïãñáììáôéóìü

ìå ôçí åíôïëÞ åðáíÜëçøçò

ÃÉÁ.

ÃÉÁ i ÁÐÏ 1 ÌÅ×ÑÉ ÍÃÑÁØÅ ‘Äþóå ôïí ‘,i,’-ôï áñéèìü’ÄÉÁÂÁÓÅ ×[i]

ÔÅËÏÓ_ÅÐÁÍÁËÇØÇÓ

! Õðïëïãéóìüò áèñïéóìÜôùí

¢èñïéóìá <- 0¢èñïéóìá_2 <- 0ÃÉÁ i ÁÐÏ 1 ÌÅ×ÑÉ Í

ÃÑÁØÅ ‘Äþóå ôïí ‘,i,’-ôï áñéèìü’ÄÉÁÂÁÓÅ ×[i]¢èñïéóìá <- ¢èñïéóìá + ×[i]¢èñïéóìá_2 <- ¢èñïéóìá_2 + ×[i]^2

ÔÅËÏÓ_ÅÐÁÍÁËÇØÇÓ

! Õðïëïãéóìüò ìÝóïõ üñïõ

ÌT <- ¢èñïéóìá/Í!Õðïëïãéóìüò ôõðéêÞò áðüêëéóçò

Ôõð_Áðüêëéóç <- Ô_Ñ(¢èñïéóìá_2/Í - ÌÔ^2)!Ôáîéíüìçóç ôùí óôïé÷åßùí ôïõ ðßíáêá

ÃÉÁ i ÁÐÏ 2 ÌÅ×ÑÉ NÃÉÁ j ÁÐÏ N ÌÅ×ÑÉ i ÌÅ ÂÇÌÁ -1ÁÍ X[j-1] > X[j] ÔÏÔÅ

! ÁíôéìåôÜèåóç ôùí óôïé÷åßùí j êáé j-1

ÂïçèçôéêÞ <- X[j-1]X[j-1] <- X[j]X[j] <- ÂïçèçôéêÞ

ÔÅËÏÓ_ÁÍ

ÔÅËÏÓ_ÅÐÁÍÁËÇØÇÓ !! j

ÔÅËÏÓ_ÅÐÁÍÁËÇØÇÓ !! i

!Õðïëïãéóìüò äéáìÝóïõ

ÁÍ Í MOD 2 =0 TOTE

ÄéÜìåóïò <- (X[N/2]+X[N/2+1])/2ÁËËÉÙÓ

ÄéÜìåóïò <- X[(N+1)/2]ÔÅËÏÓ_ÁÍ

! Åêôýðùóç áðïôåëåóìÜôùí

ÃÑÁØÅ ‘ÁÐÏÔÅËÅÓÌÁÔÁ’ÃÑÁØÅ ‘============’ÃÑÁØÅ ‘ÐëÞèïò ôéìþí =’, ÍÃÑÁØÅ ‘ÌÝóç ôéìÞ = ’, ÌÔÃÑÁØÅ ‘ÔõðéêÞ áðüêëéóç = ’, Ôõð_ÁðüêëéóçÃÑÁØÅ ‘ÄéÜìåóïò = ’, ÄéÜìåóïòÔÅËÏÓ_ÐÑÏÃÑÁÌÌÁÔÏÓ ÓôáôéóôéêÞ

Ðßíáêåò189

Óôï ðñüãñáììá áõôü äåí ãß-

íåôáé Ýëåã÷ïò ãéá ìçäåíéêÞ

ôéìÞ ôïõ Í

Ðñïãñáììáôéóôéêü ðåñéâÜëëïí Basic

‘ ÓôáôéóôéêÞDEFINT A-ZDIM x(100)CLSsum = 0: sum2 = 0‘ ÅéóáãùãÞ äåäïìÝíùíINPUT “N=”, nFOR i = 1 TO nPRINT “Äþóå ôïí ”; i; “-ôï áñéèìü : ”;INPUT “”, x(i)

NEXT i‘ Õðïëïãéóìüò áèñïéóìÜôùíFOR i = 1 TO nsum = sum + x(i)sum2 = sum2 + x(i) ^ 2

NEXT imt! = sum / n ‘ ÌÝóç ôéìÞta! = SQR(sum2 / n - mt! ^ 2) ‘Ôõð.Áðüêë.‘ Ôáîéíüìçóç ðßíáêáFOR i = 2 TO nFOR j = n TO i STEP -1

IF x(j - 1) > x(j) THEN SWAP x(j - 1), x(j)NEXT j

NEXT i‘ Õðïëïãéóìüò äéáìÝóïõIF n MOD 2 = 0 THEN

median = (x(n / 2) + x(n / 2 + 1)) / 2ELSE

median = x((n + 1) / 2)END IFPRINT “ ÁÐÏÔÅËÅÓÌÁÔÁ”PRINT “=======================”PRINT “ÐëÞèïò ôéìþí =”; nPRINT “ÌÝóç ôéìÞ =”; mt!PRINT “ÔõðéêÞ áðüêëéóç =”; ta!PRINT “ÄéÜìåóïò =”; medianEND

ÁíÜðôõîç åöáñìïãþí óå ðñïãñáììáôéóôéêü ðåñéâÜëëïí190

9.2. Ðüôå ðñÝðåé íá ÷ñçóéìïðïéïýíôáé ðßíáêåò

Ç ÷ñÞóç ðéíÜêùí åßíáé Ýíáò âïëéêüò ôñüðïò ãéá ôç äéá÷åßñéóç ðïëëþíäåäïìÝíùí éäßïõ ôýðïõ, áëëÜ óõ÷íÜ ç ÷ñÞóç ôïõò åßíáé ðåñéôôÞ êáé åðéæÞ-ìéá óôçí áíÜðôõîç ôïõ ðñïãñÜììáôïò.

ÐÝñá áðü ôá ðëåïíåêôÞìáôá ðïõ áíáöÝñèçêáí, õðÜñ÷ïõí êáé äýïìåéïíåêôÞìáôá áðü ôç ÷ñÞóç ðéíÜêùí.

Ïé ðßíáêåò áðáéôïýí ìíÞìç. ÊÜèå ðßíáêáò äåóìåýåé áðü ôçí áñ÷Þ ôïõðñïãñÜììáôïò ðïëëÝò èÝóåéò ìíÞìçò. Óå Ýíá ìåãÜëï êáé óýíèåôï ðñüãñáì-ìá ç Üóêïðç ÷ñÞóç ìåãÜëùí ðéíÜêùí ìðïñåß íá ïäçãÞóåé áêüìç êáé óå á-äõíáìßá åêôÝëåóçò ôïõ ðñïãñÜììáôïò.

Ïé ðßíáêåò ðåñéïñßæïõí ôéò äõíáôüôçôåò ôïõ ðñïãñÜììáôïò. Óôï ðñïç-ãïýìåíï ðñüãñáììá ôïõ õðïëïãéóìïý ôùí óôáôéóôéêþí ìåãåèþí, õðÜñ÷åéáíþôáôï üñéï óôï ðëÞèïò ôùí áñéèìþí ßóï ìå 100. Áõôü ãéáôß ïé ðßíáêåò åß-íáé óôáôéêÝò äïìÝò êáé ôï ìÝãåèïò ôïõò ðñÝðåé íá äçëþíåôáé óôçí áñ÷Þ ôïõðñïãñÜììáôïò, åíþ ðáñáìÝíåé õðï÷ñåùôéêÜ óôáèåñü êáôÜ ôçí åêôÝëåóçôïõ ðñïãñÜììáôïò.

Ç áðüöáóç ãéá ôçí ÷ñÞóç Þ ü÷é ðßíáêá ãéá ôçí äéá÷åßñéóç ôùí äåäïìÝ-íùí åßíáé êõñßùò èÝìá åìðåéñßáò óôïí ðñïãñáììáôéóìü.

ÃåíéêÜ, áí ôá äåäïìÝíá ðïõ åéóÜãïíôáé óå Ýíá ðñüãñáììá ðñÝðåé íáäéáôçñïýíôáé óôç ìíÞìç ìÝ÷ñé ôï ôÝëïò ôçò åêôÝëåóçò, ôüôå ç ÷ñÞóç ðéíÜ-êùí âïçèÜåé Þ óõ÷íÜ åßíáé áðáñáßôçôç ãéá ôçí åðßëõóç ôïõ ðñïâëÞìáôïò.Óå Üëëç ðåñßðôùóç ìðïñåß íá áðïöåýãåôáé ç ÷ñÞóç ôïõò.

Áò åðéóôñÝøïõìå óôï ðñïçãïýìåíï ðáñÜäåéãìá.

Ãéá ôïí õðïëïãéóìü ôçò ìÝóçò ôéìÞò êáé ôçò ôõðéêÞò áðüêëéóçò äåí åßíáéáðáñáßôçôï íá äéáôçñïýíôáé ïé ôéìÝò óôç ìíÞìç. Ôï ðñüãñáììá èá äïý-ëåõå ôï ßäéï êáëÜ êáé ÷ùñßò ôç ÷ñÞóç ðéíÜêùí, áëëÜ ìå ôç ÷ñÞóç ìßáò êáéìüíï ìåôáâëçôÞò. Ï õðïëïãéóìüò üìùò ôçò äéÜìåóçò ôéìÞò, ðïõ ðñïûðï-èÝôåé ôçí ôáîéíüìçóç ôùí äåäïìÝíùí, áðáéôåß ôç ÷ñÞóç ðßíáêá. Áí ëïéðüíôï ðñüâëçìá áðáéôïýóå ìüíï ôïí õðïëïãéóìü ôïõ ìÝóïõ üñïõ êáé ôçò ôõ-ðéêÞò áðüêëéóçò, èá Þôáí ðñïôéìüôåñç ìßá ëýóç ÷ùñßò ôç ÷ñÞóçðéíÜêùí.

9.3. ÐïëõäéÜóôáôïé ðßíáêåò

Óôï ðñïçãïýìåíï ðáñÜäåéãìá õðÞñ÷áí 30 ôéìÝò ôçò èåñìïêñáóßáò, ìßáãéá êÜèå çìÝñá ôïõ ìÞíá êáé ãéá ôçí åðßëõóç ôïõ ÷ñçóéìïðïéÞèçêå Ýíáò ðß-

Ðßíáêåò191

íáêáò 30 èÝóåùí, ï ðßíáêáò Èåñìïêñáóßá. Ï ðßíáêáò áõôüò ðåñéÝ÷åé ôéòôéìÝò ôçò èåñìïêñáóßáò ãéá êÜèå çìÝñá ìßáò ðüëçò êáé ï äåßêôçò äåß÷íåé ôçíçìÝñá.

¸óôù üôé ïé èåñìïêñáóßåò äßíïíôáé áðü ôïí ðáñáêÜôù ðßíáêá.

ÇÌÅÑÁ

ÐÏËÇ

1 2 … 10

1 25 21 … 32

2 26 22 … 31

…. .. .. .. ..

30 27 23 … 30

Ïðßíáêáò áõôüò Ý÷åé ôéò èåñìïêñáóßåò ãéá 30 çìÝñåò áëëÜ ãéá äÝêá äéá-öïñåôéêÝò ðüëåéò, äçëáäÞ õðÜñ÷ïõí óõíïëéêÜ 300 ôéìÝò èåñìïêñáóßáò. Ãéáíá êáèïñéóôåß êÜèå óôïé÷åßï äåí áñêåß ìüíï Ýíáò äåßêôçò, áëëÜ áðáéôïýíôáéäýï äåßêôåò, ï Ýíáò ãéá ôçí çìÝñá êáé ï äåýôåñïò ãéá ôçí ðüëç. Ãéá ðáñÜ-äåéãìá ç ðñþôç ðüëç ôçí ôñéáêïóôÞ çìÝñá åß÷å èåñìïêñáóßá 27.

Ãéá ôçí åðåîåñãáóßá ôùí èåñìïêñáóéþí ìðïñåß íá ÷ñçóéìïðïéçèåß ÝíáòäéóäéÜóôáôïòðßíáêáò, óôïí ïðïßï ï ðñþôïò äåßêôçò äåß÷íåé ôç ãñáììÞ (óôïðáñÜäåéãìá ôçí çìÝñá) êáé ï äåýôåñïò ôç óôÞëç (ôçí ðüëç). Ôï óôïé÷åßïÈåñìïêñáóßá[30,1] Ý÷åé ôçí ôéìÞ 27.

Óôçí ãåíéêÞ ðåñßðôùóç êÜèå óôïé÷åßï ôïõ ðßíáêá åßíáé ôï óôïé÷åßï Èåñ-ìïêñáóßá[i,j] êáé áíáöÝñåôáé óôç èåñìïêñáóßá óôçí i ãñáììÞ êáé ôçí j óôÞ-ëç, üðïõ ôï i ðáßñíåé ôéìÞ áðü 1 Ýùò 30 êáé ôï j áðü 1 Ýùò 10. Ï ðßíáêáòÈåñìïêñáóßá åßíáé Ýíáò äéóäéÜóôáôïò ðßíáêáò 30×10.

ÐáñÜäåéãìá 3

Íá ãñáöåß ðñüãñáììá ðïõ íá õðïëïãßæåé ôç ìÝóç èåñìïêñáóßá êÜèå

ðüëçò ãéá ôïí ðñïçãïýìåíï ðßíáêá èåñìïêñáóéþí (äßäïíôáé 30 èåñ-

ìïêñáóßåò 10 ðüëåùí). Åðßóçò, ãéá êÜèå ðüëç, íá õðïëïãßæåé ðüóåò ç-

ìÝñåò ç èåñìïêñáóßá Þôáí êáôþôåñç áðü ôçí áíôßóôïé÷ç ìÝóç.

ÁíÜðôõîç åöáñìïãþí óå ðñïãñáììáôéóôéêü ðåñéâÜëëïí192

ÐÑÏÃÑÁÌÌÁ Èåñìïêñáóßåò_2ÌÅÔÁÂËÇÔÅÓ

ÐÑÁÃÌÁÔÉÊÅÓ: Èåñìïêñáóßá[30,10], ÌÝóç[10]ÁÊÅÑÁÉÅÓ: i, j, ÇìÝñåò, Óýíïëï

ÁÑ×Ç

! ÅéóáãùãÞ äåäïìÝíùí

ÃÉÁ i ÁÐÏ 1 ÌÅ×ÑÉ 30ÃÉÁ j ÁÐÏ 1 ÌÅ×ÑÉ 10

ÃÑÁØÅ ‘Äþóå ôç èåñìïêñáóßá’, i, jÄÉÁÂÁÓÅ Èåñìïêñáóßá[i,j]

ÔÅËÏÓ_ÅÐÁÍÁËÇØÇÓ

ÔÅËÏÓ_ÅÐÁÍÁËÇØÇÓ

!Õðïëïãéóìïß

ÃÉÁ j ÁÐÏ 1 ÌÅ×ÑÉ 10Óýíïëï <- 0ÃÉÁ i ÁÐÏ 1 ÌÅ×ÑÉ 30

Óýíïëï <- Óýíïëï + Èåñìïêñáóßá[i,j]ÔÅËÏÓ_ÅÐÁÍÁËÇØÇÓ

ÌÝóç[j] <- Óýíïëï/30ÔÅËÏÓ_ÅÐÁÍÁËÇØÇÓ

ÃÉÁ j ÁÐÏ 1 ÌÅ×ÑÉ 10ÇìÝñåò <- 0ÃÉÁ i ÁÐÏ 1 ÌÅ×ÑÉ 30

ÁÍ Èåñìïêñáóßá[i,j] < ÌÝóç[j] ÔÏÔÅ

ÇìÝñåò <- ÇìÝñåò+1ÔÅËÏÓ_ÁÍ

ÔÅËÏÓ_ÅÐÁÍÁËÇØÇÓ

ÃÑÁØÅ ‘ÌÝóç Èåñìïêñáóßá ’, i, ‘Ðüëçò:’, ÌÝóç[j]ÃÑÁØÅ ‘ÇìÝñåò ìå ìéêñüôåñç èåñìïêñáóßá’, ÇìÝñåò

ÔÅËÏÓ_ÅÐÁÍÁËÇØÇÓ

ÔÅËÏÓ_ÐÑÏÃÑÁÌÌÁÔÏÓ

Ðñïãñáììáôéóôéêü ðåñéâÜëëïí Pascal

PROGRAM poleis;VAR

temperature: array[1..30,1..10] OF REAL;ave:array [1..10] OF REAL;total:REAL;i,j,days:INTEGER;

Ðßíáêåò193

Ç áíÜãíùóç, ç åðåîåñãáóßá

êáèþò êáé ç åêôýðùóç ôùí

óôïé÷åßùí ðïëõäéÜóôáôùí ðé-

íÜêùí ãßíåôáé ðÜíôïôå áðü

âñü÷ïõò, ïé ïðïßïé õëï-

ðïéïýíôáé óôïí ðñïãñáììáôé-

óìü ìå åìöùëåõìÝíåò åíôï-

ëÝò åðáíÜëçøçò ÃÉÁ.

BEGINFOR i:=1 TO 30 DO

FOR j:=1 TO 10 DOBEGIN

write (‘Äþóå ôç èåñìïêñáóßá :’,i,j,’ ‘);readln (temperature[i,j])

END;FOR j:=1 TO 10 DOBEGIN

total:=0;FOR i:=1 TO 30 DO

total:=total+temperature[i,j];ave[j]:=total/30

END;FOR j:=1 TO 10 DOBEGIN

days:=0;FOR i:=1 TO 30 DO

IF temperature[i,j] < ave[j] thendays:=days+1;

writeln (‘ÌÝóç èåñìïêñáóßá ‘,i,’ ðüëçò‘,ave[i]:4:1);

writeln (‘ÇìÝñåò ìå ìéêñüôåñç èåñìïêñáóßá :’,days);

ENDEND.

Åêôüò áðü ìïíïäéÜóôáôïõò êáé äéóäéÜóôáôïõò ðßíáêåò õðÜñ÷ïõí ðßíá-êåò ìå ðåñéóóüôåñåò äéáóôÜóåéò ôñéóäéÜóôáôïé, ôåôñáäéÜóôáôïé êáé ãåíéêÜðïëõäéÜóôáôïé, áíÜëïãá ìå ôïí áñéèìü ôùí äåéêôþí ðïõ ÷ñçóéìïðïéïý-íôáé ãéá ôïí êáèïñéóìü ôùí óôïé÷åßùí. Ùóôüóï ôá ðåñéóóüôåñá ðñïâëÞìá-ôá áíôéìåôùðßæïíôáé ìå ôç ÷ñÞóç ðéíÜêùí ìïíïäéÜóôáôùí Þ äéóäéÜóôá-ôùí.

Óôï ðñïçãïýìåíï ðáñÜäåéãìá Ýóôù üôé Ý÷ïõìå èåñìïêñáóßåò ãéá êÜèåìßá ðüëç, ãéá êÜèå çìÝñá áëëÜ êáé ãéá êÜèå Ýôïò. Ôüôå êÜèå óôïé÷åßï ÷ñåéÜ-æåôáé ôñåéò äåßêôåò. ¸íáí ðïõ èá äåß÷íåé ôï Ýôïò, Ýíáí ðïõ èá äåß÷íåé ôçíðüëç êáé Ýíáí ðïõ èá äåß÷íåé ôçí çìÝñá. Ãéá ðáñÜäåéãìá ç èåñìïêñáóßá ôçòðñþôçò çìÝñáò, ôçò ðñþôçò ðüëçò êáé ôïõ ðñþôïõ Ýôïõò åßíáé 25 êáé åßíáéôï óôïé÷åßï Èåñìïêñáóßá [1,1,1].

ÁíÜðôõîç åöáñìïãþí óå ðñïãñáììáôéóôéêü ðåñéâÜëëïí194

ÐáñÜäåéãìá 4.

Íá ãñáöåß ðñüãñáììá ôï ïðïßï:

á. Íá äéáâÜæåé ôá ïíüìáôá äÝêá êéíçìáôïãñÜöùí êáé ôéò áíôßóôïé-

÷åò åéóðñÜîåéò ôïõò ãéá êÜèå çìÝñá ìßáò åâäïìÜäáò.

â. Íá õðïëïãßæåé êáé íá åêôõðþíåé ôï Üèñïéóìá ôùí åéóðñÜîåùí êÜ-

èå êéíçìáôïãñÜöïõ, êáèþò êáé ôïí êéíçìáôïãñÜöï ìå ôç ìÝãéóôç

óõíïëéêÞ åßóðñáîç.

ã. Íá õðïëïãßæåé êáé íá åêôõðþíåé ôï Üèñïéóìá ôùí åéóðñÜîåùí êÜ-

èå çìÝñáò, êáèþò êáé ôçí çìÝñá ìå ôç ìÝãéóôç óõíïëéêÞ åßóðñáîç.

Ãéá ôçí åðßëõóç ôïõ ðñïâëÞìáôïò ðñÝðåé íá ÷ñçóéìïðïéçèïýí äýï ðß-íáêåò. Ï ðñþôïò èá ðåñéÝ÷åé ìüíï ôá ïíüìáôá ôùí êéíçìáôïãñÜöùí, èáåßíáé äçëáäÞ Ýíáò ìïíïäéÜóôáôïò ðßíáêáò ÷áñáêôÞñùí ìå äÝêá ãñáììÝò. Ïäåýôåñïò èá ðåñéÝ÷åé ôéò åéóðñÜîåéò, èá åßíáé Ýíáò ðßíáêáò äéóäéÜóôáôïò á-êåñáßùí áñéèìþí ìå äÝêá ãñáììÝò, ìßá ãéá êÜèå êéíçìáôïãñÜöï êáé åðôÜóôÞëåò, ìßá ãéá êÜèå çìÝñá.

Ôï ðñüãñáììá ïõóéáóôéêÜ áðïôåëåßôáé áðü ôñßá ôìÞìáôá:

Ðßíáêåò195

2001 ÐÏËÇ

ÇÌÅÑÁ 1 2 … 10

1 25 21 … 32

2 26 22 18 31

…. .. .. .. ...

30 27 23 18 30

2000 ÐÏËÇ

ÇÌÅÑÁ 1 2 … 10

1 25 21 … 32

2 26 22 18 31

…. .. .. .. ...

30 27 23 18 30

1999 ÐÏËÇ

ÇÌÅÑÁ 1 2 … 10

1 25 21 … 32

2 26 22 … 31

… ... ... ... ...

30 27 23 … 30

1. Ôçí áíÜãíùóç ôùí äåäïìÝíùí êáé ôçí êáôá÷þñçóç ôïõ óôïõò áíôß-óôïé÷ïõò ðßíáêåò, Ïíüìáôá êáé ÅéóðñÜîåéò.

2. Ôïí õðïëïãéóìü ôïõ óõíüëïõ ôùí åéóðñÜîåùí áíÜ êéíçìáôïãñÜöïêáé ôçí åýñåóç ôçò ìÝãéóôçò óõíïëéêÞò åßóðñáîçò, äçëáäÞ ôïõ áèñïß-óìáôïò ôùí ãñáììþí ôïõ ðßíáêá.

3. Ôïí õðïëïãéóìü ôïõ óõíüëïõ ôùí åéóðñÜîåùí áíÜ çìÝñá êáé ôçí åý-ñåóç ôçò ìÝãéóôçò óõíïëéêÞò åßóðñáîçò, äçëáäÞ ôïõ áèñïßóìáôïòôùí óôçëþí ôïõ ðßíáêá.

ÐñïóÝîôå ôéò äéáöïñÝò ôïõ äåýôåñïõ êáé ôïõ ôñßôïõ ôìÞìáôïò. Êáé ïéäýï ÷ñçóéìïðïéïýí äýï åìöùëåõìÝíïõò âñü÷ïõò, Ýíá ãéá ôéò ãñáììÝò êáéÝíá ãéá ôéò óôÞëåò áëëÜ óå äéáöïñåôéêÞ óåéñÜ.

ÐÑÏÃÑÁÌÌÁ ÊéíçìáôïãñÜöïéÌÅÔÁÂËÇÔÅÓ

ÁÊÅÑÁÉÅÓ: ÅéóðñÜîåéò[10,7], i,j, ¢èñïéóìá, ÌÝãéóôï,ÈÝóç

×ÁÑÁÊÔÇÑÅÓ: Ïíüìáôá[10]ÁÑ×Ç

! ÅéóáãùãÞ äåäïìÝíùí êáé åê÷þñçóç ôïõò óå äýï ðßíáêåò

ÃÉÁ i ÁÐÏ 1 ÌÅ×ÑÉ 10ÃÑÁØÅ ‘Äþóå ôï üíïìá ôïõ ‘,i,’ êéíçìáôïãñÜöïõ’ÄÉÁÂÁÓÅ Ïíüìáôá[i]ÃÉÁ j ÁÐÏ 1 ÌÅ×ÑÉ 7

ÃÑÁØÅ ‘Äþóå ôçí ‘, j,’-ç åßóðñáîç’ÄÉÁÂÁÓÅ ÅéóðñÜîåéò[i,j]

ÔÅËÏÓ_ÅÐÁÍÁËÇØÇÓ

ÔÅËÏÓ_ÅÐÁÍÁËÇØÇÓ

!¢èñïéóìá ôùí óôïé÷åßùí ôïõ ðßíáêá ÅéóðñÜîåéò áíÜ ãñáììÞ

!êáé õðïëïãéóìüò ôïõ ìÝãéóôïõ áèñïßóìáôïò

ÌÝãéóôï <- 0ÃÉÁ i ÁÐÏ 1 ÌÅ×ÑÉ 10

¢èñïéóìá <- 0ÃÉÁ j ÁÐÏ 1 ÌÅ×ÑÉ 7

¢èñïéóìá <- ¢èñïéóìá+ÅéóðñÜîåéò[i,j]ÔÅËÏÓ_ÅÐÁÍÁËÇØÇÓ

ÃÑÁØÅ ‘Óõíïë. åßóðñáîç ’,Ïíüìáôá[i], ‘=’, ¢èñïéóìáÁÍ ÌÝãéóôï < ¢èñïéóìá ÔÏÔÅ

ÌÝãéóôï <- ¢èñïéóìáÈÝóç <- i

ÔÅËÏÓ_ÁÍ

ÔÅËÏÓ_ÅÐÁÍÁËÇØÇÓ

ÁíÜðôõîç åöáñìïãþí óå ðñïãñáììáôéóôéêü ðåñéâÜëëïí196

ÃÑÁØÅ ‘ÌÝã.óõíïë.åßóðñáîç ‘,ÌÝãéóôï,‘óôïí ‘,Ïíüìáôá[ÈÝóç]!¢èñïéóìá ôùí óôïé÷åßùí ôïõ ðßíáêá ÅéóðñÜîåéò áíÜ óôÞëç

!êáé õðïëïãéóìüò ôïõ ìÝãéóôïõ áèñïßóìáôïò

ÌÝãéóôï <- 0ÃÉÁ j ÁÐÏ 1 ÌÅ×ÑÉ 7

¢èñïéóìá <- 0ÃÉÁ i ÁÐÏ 1 ÌÅ×ÑÉ 10

¢èñïéóìá <- ¢èñïéóìá + ÅéóðñÜîåéò[i,j]ÔÅËÏÓ_ÅÐÁÍÁËÇØÇÓ

ÃÑÁØÅ ‘Óõíïë. åßóðñáîç’,j,‘-çò çìÝñáò =’, ¢èñïéóìáÁÍ ÌÝãéóôï < ¢èñïéóìá ÔÏÔÅ

ÌÝãéóôï <- ¢èñïéóìáÈÝóç <- j

ÔÅËÏÓ_ÁÍ

ÔÅËÏÓ_ÅÐÁÍÁËÇØÇÓ

ÃÑÁØÅ ‘ÌÝã.óõí.åßóðñáîç ‘,ÌÝãéóôï,‘ôçí ‘,ÈÝóç,‘-ç çìÝñá’ÔÅËÏÓ_ÐÑÏÃÑÁÌÌÁÔÏÓ

Ðñïãñáììáôéóôéêü ðåñéâÜëëïí Pascal

PROGRAM cinemas;VAR

i,j,k,max,sum:INTEGER;tickets:ARRAY[1..10,1..7] OF INTEGER;name:ARRAY [1..10] OF STRING;

BEGINFOR i:=1 TO 10 doBEGIN

write (‘Äþóå ôï üíïìá : ‘);readln (name[i]);FOR j:=1 TO 7 DO

BEGINwrite (‘Äþóå ôçí ‘, j,’ ç åßóðñáîç : ‘);readln(tickets[i,j]);

END;END;max:=0;FOR i:=1 TO 10 DOBEGIN

sum:=0;FOR j:=1 TO 7 DO

sum:=sum+tickets[i,j];

Ðßíáêåò197

writeln(‘Óýíïëï ‘, name[i],’ = ‘, sum);IF max<sum THENBEGIN

max:=sum;k:=i;

END;END;writeln (‘ÌÝãéóôï ‘, max, ‘ óôïí ‘, name[k]);

max:=0;FOR j:=1 TO 7 DOBEGIN

sum:=0;FOR i:=1 TO 10 DO

sum:=sum+tickets[i,j];writeln(‘Óýíïëï ‘,j,’ çìÝñáò = ‘, sum);IF max<sum THENBEGIN

max:=sum;k:=j;

END;END;writeln (‘ÌÝãéóôï ‘, max, ‘ ôçí ‘, k);

END.

9.4. ÔõðéêÝò åðåîåñãáóßåò ðéíÜêùí

Ôá ðñïãñÜììáôá ôá ïðïßá ÷ñçóéìïðïéïýí ðßíáêåò ðïëý óõ÷íÜ áðáé-ôïýí óõãêåêñéìÝíåò åðåîåñãáóßåò óôá óôïé÷åßá ôïõ ðßíáêá. Ïé ôõðéêÝò áõ-ôÝò åðåîåñãáóßåò åßíáé:

� Õðïëïãéóìüò áèñïéóìÜôùí óôïé÷åßùí ôïõ ðßíáêá.

� Åýñåóç ôïõ ìÝãéóôïõ Þ ôïõ åëÜ÷éóôïõ óôïé÷åßïõ.

� Ôáîéíüìçóç ôùí óôïé÷åßùí ôïõ ðßíáêá.

� ÁíáæÞôçóç åíüò óôïé÷åßïõ ôïõ ðßíáêá.

� Óõã÷þíåõóç äýï ðéíÜêùí.

ÌåñéêÝò áðü áõôÝò ôéò åðåîåñãáóßåò ðáñïõóéÜóôçêáí Þäç óôá ðáñá-äåßãìáôá áõôïý ôïõ êåöáëáßïõ. Ãéá ôéò äéáäéêáóßåò ôçò ôáîéíüìçóçò êáé ôçòáíáæÞôçóçò Ý÷ïõí ðáñïõóéáóôåß ìåñéêïß áëãüñéèìïé, ïé ïðïßïé áíáðôý÷èç-

ÁíÜðôõîç åöáñìïãþí óå ðñïãñáììáôéóôéêü ðåñéâÜëëïí198

êáí óôï áíôßóôïé÷ï êåöÜëáéï ôùí áëãïñßèìùí, üðïõ óõæçôÞèçêáí ôá ðëå-ïíåêôÞìáôá êáé ôá ìåéïíåêôÞìáôá ôïõò.

ÓõíïðôéêÜ Ý÷ïõìå:

Õðïëïãéóìüò áèñïéóìÜôùí óôïé÷åßùí ôïõ ðßíáêá.

Ðïëý óõ÷íÜ áðáéôåßôáé ï õðïëïãéóìüò ôïõ áèñïßóìáôïò óôïé÷åßùí ôïõðßíáêá ðïõ Ý÷ïõí êïéíÜ ÷áñáêôçñéóôéêÜ ãéá ðáñÜäåéãìá âñßóêïíôáé óôçíßäéá óôÞëç Þ óôçí ßäéá ãñáììÞ. Ôá ðáñáäåßãìáôá ðïõ ðáñïõóéÜóôçêáí óåáõôü ôï êåöÜëáéï áðáéôïýóáí ôïí õðïëïãéóìü ôùí áèñïéóìÜôùí ôùíóôïé÷åßùí ôïõ ðßíáêá ôüóï áíÜ ãñáììÞ üóï êáé áíÜ óôÞëç.

Åýñåóç ôïõ ìÝãéóôïõ Þ ôïõ åëÜ÷éóôïõ óôïé÷åßïõ.

Ç åýñåóç ôïõ ìÝãéóôïõ Þ ôïõ åëÜ÷éóôïõ óôïé÷åßïõ åíüò ðßíáêá ðáñïõ-óéÜóôçêå óôá ðñïçãïýìåíá ðáñáäåßãìáôá. Áí ï ðßíáêáò äåí åßíáé ôáîéíï-ìçìÝíïò, ôüôå ðñÝðåé íá óõãêñéèïýí ôá óôïé÷åßá Ýíá ðñïò Ýíá, ãéá íá âñå-èåß ôï ìÝãéóôï Þ ôï åëÜ÷éóôï. Áí ï ðßíáêáò åßíáé ôáîéíïìçìÝíïò, ôüôå ðñï-öáíþò ôï ìÝãéóôï êáé ôï åëÜ÷éóôï âñßóêïíôáé óôá äýï áêñéáíÜ óôïé÷åßáôïõ ðßíáêá.

Ôáîéíüìçóç ôùí óôïé÷åßùí ôïõ ðßíáêá.

Óôï êåöÜëáéï 3 áíáöÝñèçêå ç ìÝèïäïò ôáîéíüìçóçò ôçò åõèåßáò áíôáë-ëáãÞò, ç ïðïßá ÷ñçóéìïðïéÞèçêå êáé óôï ðáñÜäåéãìá 2.

Ç ìÝèïäïò áõôÞ åßíáé áðü ôéò áðëïýóôåñåò áëëÜ äåí åßíáé ç ðéï áðïäï-ôéêÞ. ÕðÜñ÷ïõí ðïëëÝò Üëëåò ìÝèïäïé ôáîéíüìçóçò êáèþò êáé ðáñáëëáãÝòáõôþí.

Ç åðéëïãÞ ôïõ êáëýôåñïõ áëãüñéèìïõ åîáñôÜôáé êõñßùò áðü ôï ðëÞèïòôùí óôïé÷åßùí ôïõ ðßíáêá êáé ôçí áñ÷éêÞ ôïõò äéÜôáîç, áí äçëáäÞ ï ðßíá-êáò åßíáé ôåëåßùò áôáîéíüìçôïò Þ ìåñéêþò ôáîéíïìçìÝíïò.

ÁíáæÞôçóç åíüò óôïé÷åßïõ ôïõ ðßíáêá.

Äýï åßíáé ïé ðëÝïí äéáäåäïìÝíïé áëãüñéèìïé áíáæÞôçóçò:

� Ç óåéñéáêÞ áíáæÞôçóç

� Ç äõáäéêÞ áíáæÞôçóç

Ç óåéñéáêÞ ìÝèïäïò áíáæÞôçóçò åßíáé ç ðéï áðëÞ, áëëÜ êáé ç ëéãüôåñç á-ðïôåëåóìáôéêÞ ìÝèïäïò. ×ñçóéìïðïéåßôáé üìùò õðï÷ñåùôéêÜ ãéá ðßíáêåòðïõ äåí åßíáé ôáîéíïìçìÝíïé. Áíôßèåôá ç äõáäéêÞ áíáæÞôçóç ÷ñçóéìïðïéåß-ôáé ìüíï óå ôáîéíïìçìÝíïõò ðßíáêåò êáé åßíáé óáöþò áðïäïôéêüôåñç áðüôç óåéñéáêÞ ìÝèïäï.

Ðßíáêåò199

Óõã÷þíåõóç äýï ðéíÜêùí.

Ç óõã÷þíåõóç åßíáé ìßá áðü ôéò âáóéêÝò ëåéôïõñãßåò óå ðßíáêåò.

Óêïðüò ôçò åßíáé ç äçìéïõñãßá áðü ôá óôïé÷åßá äýï (Þ ðåñéóóüôåñùí)ôáîéíïìçìÝíùí ðéíÜêùí åíüò Üëëïõ, ðïõ åßíáé êáé áõôüò ôáîéíïìçìÝíïò.

Áíáêåöáëáßùóç

Óôï êåöÜëáéï áõôü ðáñïõóéÜóôçêáí ïé ðßíáêåò êáé ðþò ç ÃËÙÓÓÁ ÷åé-ñßæåôáé ôïõò ðßíáêåò. Ï ðßíáêáò åßíáé ìßá ïìÜäá ìåôáâëçôþí éäßïõ ôýðïõðïõ áíáöÝñïíôáé ìå Ýíá êïéíü üíïìá êáé áðïèçêåýïíôáé óå äéáäï÷éêÝò èÝ-óåéò óôç ìíÞìç. Ãéá ôçí ðñüóâáóç óå Ýíá áôïìéêü óôïé÷åßï ôïõ ðßíáêá ðñÝ-ðåé íá ãñáöåß ôï üíïìá ôïõ ðßíáêá áêïëïõèïýìåíï áðü Ýíá äåßêôç (ìåôá-âëçôÞ Þ óôáèåñÜ). Ïé ðßíáêåò ìðïñåß íá åßíáé ìïíïäéÜóôáôïé, äéóäéÜóôáôïéÞ ãåíéêüôåñá ðïëõäéÜóôáôïé. Ï áñéèìüò ôùí äåéêôþí êáèïñßæåé ôç äéÜóôá-óç ôïõ ðßíáêá. Ç åðåîåñãáóßá ðéíÜêùí ãßíåôáé óõíÞèùò ìå ôç ÷ñÞóç åíôï-ëþí ÃÉÁ.

Ïé ôõðéêÝò åðåîåñãáóßåò ðïõ ãßíïíôáé óå ðßíáêåò ðåñéëáìâÜíïõí ôçí á-íáæÞôçóç, ôçí ôáîéíüìçóç êáé ôç óõã÷þíåõóç ðéíÜêùí. Ãéá áõôÝò ôéò åðå-îåñãáóßåò Ý÷ïõí áíáðôõ÷èåß áñêåôïß áëãüñéèìïé êáé ç ìåëÝôç ôïõò áðïôå-ëåß Ýíáí áðü ôïõò óçìáíôéêïýò ôïìåßò ôçò áëãïñéèìéêÞò.

ËÝîåéò êëåéäéÜ

ÌåôáâëçôÞ ìå äåßêôç, Ðßíáêáò, Óôïé÷åßï ðßíáêá, ÁíáæÞôçóç, Ôáîéíüìç-óç, Óõã÷þíåõóç

ÅñùôÞóåéò - ÈÝìáôá ãéá óõæÞôçóç

1. Ôé ïíïìÜæåôáé ðßíáêáò;

2. Ãéá ðïéï ëüãï ÷ñçóéìïðïéïýíôáé ïé ðßíáêåò;

3. Ôé ìðïñåß íá åßíáé ïé äåßêôåò ôùí ðéíÜêùí;

4. Ðïéá ç äéáöïñÜ ôïõ ðßíáêá êáé ôïõ óôïé÷åßïõ åíüò ðßíáêá;

5. Ðïý ïñßæåôáé ç äéÜóôáóç ôïõ ðßíáêá;

6. Ôé åßäïõò äïìÞ åßíáé ï ðßíáêáò;

7. Ðïéïé ðßíáêåò ïíïìÜæïíôáé ìïíïäéÜóôáôïé;

8. Äþóå Ýíá ðáñÜäåéãìá åíüò ôñéóäéÜóôáôïõ ðßíáêá.

ÁíÜðôõîç åöáñìïãþí óå ðñïãñáììáôéóôéêü ðåñéâÜëëïí200

9. Ðïý áðïèçêåýïíôáé ôá óôïé÷åßá åíüò ðßíáêá;

10. Ðïéá ôá ìåéïíåêôÞìáôá ôçò ÷ñÞóçò ðéíÜêùí;

11. Ðïéåò ïé ôõðéêÝò åðåîåñãáóßåò ðßíáêá;

12. Ðïéïé åßíáé ïé ðéï äéáäåäïìÝíïé áëãüñéèìïé áíáæÞôçóçò; Ðïéåò ïé äéá-öïñÝò ôïõò;

Âéâëéïãñáößá

1. Ê. Áíôùíáêüðïõëïò, Turbo Pascal 6.0 Èåùñßá êáé ÐñÜîç, Åêäüóåéò ÍÝ-ùí Ôå÷íïëïãéþí, ÁèÞíá, 1993.

2. QuickBASIC: Ç åñãáëåéïèÞêç ôïõ ðñïãñáììáôéóôÞ, ÊëåéäÜñéèìïò, ÁèÞ-íá, 1991.

3. ×ñ. Êïßëéáò, Ç QuickBasic êáé ïé åöáñìïãÝò ôçò, Åêäüóåéò ÍÝùí Ôå÷íï-ëïãéþí, ÁèÞíá, 1992.

4. R. Shackelford, Introduction to Computing and Algorithms,Addison-Wesley, USA, 1998.

5. S. Leestma-L.Nyhoff, Turbo Pascal, Programming and Solving, McMillan,New York, 1990.

6. N.Wirth, Systematic Programming: An introduction, Prentice Hall, 1973.

Äéåõèýíóåéò Äéáäéêôýïõ

� http://www.swcp.com/~dodrill/

ÐåñéÝ÷åé ðëçñïöïñßåò áëëÜ êáé ðïëëÝò åêðáéäåõôéêÝò áóêÞóåéò ãéá äéÜ-öïñåò ãëþóóåò ðñïãñáììáôéóìïý.

� http://www.progsource.com

ÃåíéêÝò ðëçñïöïñßåò, ÷ñÞóéìá ðñïãñÜììáôá, ÷ñÞóéìá âïçèçôéêÜ ðñï-ãñÜììáôá êáèþò êáé áíáöïñÝò óå Üëëåò äéåõèýíóåéò ãéá äéÜöïñåò ãëþóóåòðñïãñáììáôéóìïý:Pascal, Delphi, C/C++, Java, Perl, Visual Basic.

� www.cit.ac.nz/smac/pascal/default.htm

ÐëÞñçò ïäçãüò ôçò ãëþóóáò Pascal ìå ðïëëÜ åêðáéäåõôéêÜ ðáñáäåßã-ìáôá. ÕðÜñ÷åé óå äéÜöïñåò ãëþóóåò üðùò ÁããëéêÜ, ÃáëëéêÜ êáé ÃåñìáíéêÜ.

Ðßíáêåò201

� http://www.cs.vu.nl/~jprins/tp.html

ÐïëëÜ ðáñáäåßãìáôá, âéâëßá, åêðáéäåõôéêÝò åöáñìïãÝò, êáé áðáíôÞ-óåéò óå åñùôÞìáôá ðïõ äçìéïõñãïýíôáé óõ÷íÜ óå Turbo Pascal.

� http://qbasic.com/

ÐåñéÝ÷åé åêðáéäåõôéêü ïäçãü, êþäéêá ðïëëþí áóêÞóåùí êáé ãåíéêÝòðëçñïöïñßåò ãéá ôçí Qbasic.

� www.basicguru.com

Äéåýèõíóç ðïõ áíáöÝñåôáé áðïêëåéóôéêÜ óôçí Basic. ÐåñéÝ÷åé ðïëëÜ Ý-ôïéìá ðáñáäåßãìáôá, ðëçñïöïñßåò ãéá åêäüóåéò ôçò ãëþóóáò, ìåôáöñá-óôÝò ãéá äéÜöïñá ëåéôïõñãéêÜ óõóôÞìáôá.

Åðßóçò óôï äéáäßêôõï ðáñïõóéÜæïõí åíäéáöÝñïí ïé áêüëïõèåò ïìÜäåòíÝùí (Usenet):

comp.lang.pascalcomp.lang.pascal.miscÓ÷åôéêÝò ìå ôç ãëþóóá Pascal

alt.lang.basiccomp.lang.basic.miscÓ÷åôéêÝò ìå ôç ãëþóóá Basic

ÁíÜðôõîç åöáñìïãþí óå ðñïãñáììáôéóôéêü ðåñéâÜëëïí202