Περιεχόμενα

1
ÓåéñÜ BEST
C ãéá Ìç÷áíéêïýò
H.H. Tan - T.B. D’Orazio
ÅðéìÝëåéá ÌåôÜöñáóçò:
ÄçìÞôñéïò E. ÌáíùëÜêçò
ÊáèçãçôÞò ÔÅÉ Èåóóáëïíßêçò
ôì. Áõôïìáôéóìïý
ÅÊÄÏÓÅÉÓ ÔÆÉÏËÁ
ÈÅÓÓÁËÏÍÉÊÇ
×áñßôùí Ì. ÐïëÜôïãëïõ
Áí. ÊáèçãçôÞò Á.Ð.È.
ôì. ÖõóéêÞò
2
Tßôëïò ðñùôïôýðïõ C Programming for Engineering & Computer Science,
H.H. Tan - T.B. D’Orazio
Áðïêëåéóôéêüôçôá:
ÅÊÄÏÓÅÉÓ ÔÆÉÏËÁ
Êåíôñéêü: Öéëßððïõ 91, T.K. 54 635, Ôçë. (031) 247.887, Fax (031) 210.729
Áñìåíïðïýëïõ 23, T.K. 54 635 Èåóóáëïíßêç, Ôçë./Fax: (031) 219.184,
Âéâëéïðùëåßï:
Êùí. Ìåëåíßêïõ 3, T.K. 54 635, Ôçë. (031) 211.823,
Fax (031) 201.274
Internet
e-mail: [email protected]
http://www.tziola.gr
ÊáôÜóôçìá Áèçíþí:
¸íùóç Åêäïôþí Âéâëßïõ Èåóóáëïíßêçò
ÓÔÏÁ ÔÏÕ ÂÉÂËÉÏÕ - ÁñóÜêåéï ÌÝãáñï
105 64, Ðåóìáæüãëïõ 5 (Ðáíåðéóôçìßïõ 39)
ÊáôÜóôçìá 18,
Ôçë./Fax (01) 32.11.097
Copyright © 2000 ÅÊÄÏÓÅÉÓ ÔÆÉÏËÁ
Copyright © 2000 McGraw-Hill
ISBN 960-8050-33-2
Áðáãïñåýåôáé ç áíáðáñáãùãÞ ïðïéïõäÞðïôå ôìÞìáôïò ôïõ âéâëßïõ ìå ïðïéïäÞðïôå ìÝóï (öùôïôõðßá, åêôýðùóç, ìéêñïößëì, áðïèÞêåõóç óå áñ÷åßï ðëçñïöïñéþí Þ Üëëç ìç÷áíéêÞ Þ çëåêôñïíéêÞ ìÝèïäï) ÷ùñßò ôçí Ýããñáöç Üäåéá ôïõ
åêäüôç.
All rights reserved. No part of this publication may be reproduced or distributed in any form or by any means, or stored in a data base or retrieval system,
without the prior written permission of the publisher.
3
To Elizabeth & Buttercup, and to Wei Huang
4
5
ÐÑÏËÏÃÏÓ ÔÏÕ ÅÊÄÏÔÇ
Ïé ÊáèçãçôÝò Ìç÷áíéêÞò åß÷áí ìáêñï÷ñüíéåò óõæçôÞóåéò êáé äéáöùíïýóáí ó÷åôéêÜ ìå
ôï ðåñéå÷üìåíï ôùí åéóáãùãéêþí ìáèçìÜôùí ìç÷áíéêÞò ãéá ôïõò ðñùôïåôåßò öïéôçôÝò.
ÏñéóìÝíåò ó÷ïëÝò äßíïõí Ýìöáóç óôç äéäáóêáëßá ìÝóù çëåêôñïíéêþí õðïëïãéóôþí,
êÜðïéåò Üëëåò åðéêåíôñþíïíôáé óôçí áíÜëõóç ôçò ìç÷áíéêÞò, ìåñéêÝò áó÷ïëïýíôáé ìå
ôá ãñáöéêÜ êáé ôçí ïðôéêÞ áðüäïóç, åíþ õðÜñ÷ïõí êáé åêåßíåò ðïõ äßíïõí Ýìöáóç óôï
ó÷åäéáóìü ìå ôï ÷Ýñé. Ùóôüóï, äýï óôïé÷åßá åßíáé âÝâáéá: äåí õðÜñ÷ïõí ó÷ïëÝò ðïõ íá
áêïëïõèïýí ôçí ßäéá áêñéâþò ðñïóÝããéóç êáé óôéò ðåñéóóüôåñåò áðü áõôÝò ôá åéóáãùãéêÜ ìáèÞìáôá ìç÷áíéêÞò óõ÷íÜ áëëÜæïõí áðü ÷ñüíï óå ÷ñüíï. Óôçí ðñáãìáôéêüôçôá,
ôá åéóáãùãéêÜ ìáèÞìáôá ìç÷áíéêÞò óôéò ðåñéóóüôåñåò ó÷ïëÝò áðïôåëïýí Ýíá åôåñïãåíÝò ìåßãìá äéáöïñåôéêþí èåìÜôùí, ïñéóìÝíá áðü áõôÜ êëáóóéêÜ êáé Üëëá óôåíÜ óõíäåäåìÝíá ìå ôéò åöáñìïãÝò ëïãéóìéêïý ôïõ õðïëïãéóôÞ. Ëüãù áêñéâþò áõôÞò ôçò áíôßèåóçò ôïõ ðåñéå÷ïìÝíïõ êáé ôïõ óôü÷ïõ ôïõò, ç ðáñï÷Þ ôçò êáôÜëëçëçò ýëçò óå ìïñöÞ
êåéìÝíïõ åßíáé ðñïâëçìáôéêÞ, áöïý êÜèå êáèçãçôÞò áðáéôåß êÜôé äéáöïñåôéêü.
Ç McGraw-Hill áíôáðïêñßèçêå óå áõôÞ ôçí ðñüêëçóç äçìéïõñãþíôáò ìéá óåéñÜ
âéâëßùí ãéá ôá èÝìáôá ðïõ óõìðåñéëáìâÜíïõí ôá ðåñéóóüôåñá åéóáãùãéêÜ ìáèÞìáôá
ìç÷áíéêÞò ôïõ ðñþôïõ Ýôïõò óðïõäþí. ÃñáììÝíá áðü óõããñáöåßò - áíáãíùñéóìÝíåò
áõèåíôßåò óôï ÷þñï ôïõò - ïé åðéìÝñïõò åíüôçôåò ðïéêßëïõí óå Ýêôáóç, áíÜëïãá ìå ôï
÷ñüíï ðïõ áöéåñþíåôáé óõíÞèùò óå êÜèå èÝìá. Ãéá ðáñÜäåéãìá, èÝìáôá óå ãëþóóåò
ðñïãñáììáôéóìïý ãñÜöïíôáé ìå ôç ìïñöÞ âéâëßùí åéóáãùãéêïý åðéðÝäïõ, áðïôåëþíôáò Ýôóé ôï õëéêü åíüò ïëüêëçñïõ åîáìÞíïõ, åíþ åíüôçôåò ðïõ êáëýðôïõí ðéï ðåñéïñéóìÝíá èÝìáôá, üðùò ç çèéêÞ êáé ôå÷íéêÞ óõããñáöÞ ðáñÝ÷ïõí ëéãüôåñç ýëç, êáé åßíáé
êáôÜëëçëåò ãéá ìåñéêÝò ìüíï åâäïìÜäåò åêðáßäåõóçò. Ïé êáèçãçôÝò ìðïñïýí åýêïëá
íá óõíäõÜóïõí ôéò åíüôçôåò áõôÝò, Ýôóé þóôå íá ôéò ðñïóáñìüæïõí óôï ìÜèçìÜ ôïõò. ïé
ðåñéóóüôåñåò åíüôçôåò óõìðåñéëáìâÜíïõí ðïëëÝò áóêÞóåéò êáé/ Þ åñãáóßåò, åíþ åßíáé
êáôÜëëçëåò ãéá ÷ñÞóç óå Ýíá ðåñéâÜëëïí åíåñãçôéêÞò-ìÜèçóçò.
Óôü÷ïò ôçò óåéñÜò áõôÞò åßíáé íá ðáñÝ÷åé óôçí åêðáéäåõôéêÞ êïéíüôçôá ýëç õøçëÞò
ðïéüôçôáò, åíçìåñùìÝíç, óå ðñïóéôÞ ôéìÞ, êáé åõÝëéêôç óôç ÷ñÞóç ôçò. Æçôïýìå ôç
âïÞèåéá óáò ãéá íá åðéôý÷ïõìå ôï óôü÷ï ìáò, åíçìåñþíïíôáò ìáò ó÷åôéêÜ ìå ôï êáôÜ
ðüóï êáôáöÝñáìå íá êáëýøïõìå ôéò áíÜãêåò óáò. Ìáò åíäéáöÝñåé éäéáßôåñá íá ìÜèïõìå
óå ôé, êáôÜ ôç ãíþìç óáò, Ý÷ïõìå ðåôý÷åé êáé ôé ìðïñïýìå íá âåëôéþóïõìå óôá Þäç
õðÜñ÷ïíôá ìáèÞìáôá, Þ áêüìç êáé íá äçìéïõñãÞóïõìå íÝá ìáèÞìáôá.
Byron S. Gottfried
Óýìâïõëïò ¸êäïóçò
6
7
ÐÑÏËÏÃÏÓ
ÄçìéïõñãÞóáìå áõôü ôï âéâëßï ìå óêïðü íá áíôéìåôùðßóïõìå ôéò äõóêïëßåò ôùí ðñùôïåôþí öïéôçôþí óôçí áíÜãíùóç êåéìÝíùí ãñáììÝíùí óå ãëþóóá õðïëïãéóôÞ. Ðéóôåýáìå üôé áí êáôáöÝñíáìå íá öÝñïõìå ôïõò öïéôçôÝò óå åðáöÞ ìå Ýíá êåßìåíï, íá
êéíÞóïõìå ôï åíäéáöÝñïí ôïõò, êáé íá ôïõò êÜíïõìå íá óêåöôïýí ôï íüçìá êáé ôéò
÷ñÞóåéò ôïõ êþäéêá C, èá ìðïñïýóáìå íá äéåõêïëýíïõìå ôç ìáèçóéáêÞ äéáäéêáóßá
ìéáò ðñþôçò ãëþóóáò êáé íá ôçí êÜíïõìå ðéï äéáóêåäáóôéêÞ. Ãéá íá êáôáöÝñïõìå êÜôé
ôÝôïéï, ÷ñçóéìïðïéïýìå ôç ìïñöÞ åñþôçóçò-áðÜíôçóçò. ¸ôóé, äéåãåßñåôáé ç óêÝøç ôïõ
áíáãíþóôç èÝôïíôáò ôéò ßäéåò åñùôÞóåéò ãéá ôïí êþäéêá, ôéò ïðïßåò ïé ßäéïé ïé öïéôçôÝò
óõ÷íÜ èÝôïõí. Áðáíôþíôáò Üìåóá êáé ìå óáöÞíåéá ôéò åñùôÞóåéò áõôÝò, åðéêåíôñþíïõìå ôçí ðñïóï÷Þ ôïõ áíáãíþóôç óôá óçìáíôéêÜ æçôÞìáôá ôïõ ðñïãñáììáôéóìïý óå
ãëþóóá C.
Åðßóçò, ðáñáôçñÞóáìå üôé ôá ðåñéóóüôåñá êåßìåíá ãëþóóáò ðñïãñáììáôéóìïý óõìðåñéëáìâÜíïõí ðïëý ëßãá ó÷Þìáôá. ÅðåéäÞ ïé åéêüíåò åßíáé ðïëý ÷ñÞóéìåò óôç äéäáóêáëßá, êáôåâÜëáìå öéëüôéìåò ðñïóðÜèåéåò íá äçìéïõñãÞóïõìå ó÷Þìáôá, ðïõ áðïäßäïíôáé ìå áêñßâåéá êáé åßíáé ðïëý åýêïëï íá ôá êáôáíïÞóïõìå. Ôá ó÷Þìáôá áõôÜ åíéó÷ýïõí êáé áðïóáöçíßæïõí óôïõò öïéôçôÝò ôéò Ýííïéåò ðïõ áðåéêïíßæïíôáé áðü ôéò ëåéôïõñãßåò ôùí ðñïãñáììÜôùí. Åéäéêüôåñá, óõìðåñéëáìâÜíïõìå ôñéóäéÜóôáôá ó÷Ýäéá ôùí
ëåéôïõñãéþí ôùí âñü÷ùí êáé ôùí äïìþí åëÝã÷ïõ “if”. Ïé öïéôçôÝò ìðïñïýí íá áíáôñÝ÷ïõí óôá óõãêåêñéìÝíá ó÷Þìáôá êáé íá êáôáíïïýí Üìåóá ôç ñïÞ ôùí äïìþí áõôþí.
Ðéóôåýïõìå üôé ôá ó÷Þìáôá áõôÜ áðïôåëïýí âåëôéùìÝíåò åêäüóåéò ôùí êáíïíéêþí äéáãñáììÜôùí ñïÞò. Êáôáëáâáßíïõìå üôé Ýíá áðü ôá ðéï äýóêïëá æçôÞìáôá ãéá ôïõò áñ÷Üñéïõò ðñïãñáììáôéóôÝò óå ãëþóóá C, åßíáé ïé äåßêôåò. Ç ìïñöÞ ôùí äåéêôþí áõôþí
êáèïñßæåôáé áðü ðïëý íùñßò óôï êåßìåíï ìÝóá áðü Ýíáí ðßíáêá ðïõ óõìðåñéëáìâÜíåé
ôá ïíüìáôá, ôïõò ôýðïõò, ôéò äéåõèýíóåéò, êáé ôéò ôéìÝò ôùí ìåôáâëçôþí. Óå ïëüêëçñï
ôï êåßìåíï, ÷ñçóéìïðïéïýìå ôïí ðßíáêá áõôü ìå âÝëç, ôá ïðïßá äåß÷íïõí ôïí ôñüðï ìå
ôïí ïðïßï ïé ðëçñïöïñßåò áðü ìéá èÝóç ìíÞìçò óõíäÝïíôáé ìå åêåßíåò óå ìéá Üëëç èÝóç
ìíÞìçò.
ÐïëëÜ êåßìåíá óõìðåñéëáìâÜíïõí ðïëõÜñéèìåò óåëßäåò êþäéêá, ï ïðïßïò äåí åðåîÞãåôáé áñêåôÜ êáé ïé ðåñéóóüôåñïé ðñùôïåôåßò öïéôçôÝò äåí ìðïñïýí Þ äå èÝëïõí íá
ôá áðïêñõðôïãñáöÞóïõí áíåîÜñôçôá - áêüìç êáé ó÷åôéêÜ áðëÜ ðñïãñÜììáôá - ÷ùñßò
êáèïäÞãçóç. Óôï âéâëßï áõôü êáèïäçãïýìå ôïõò öïéôçôÝò íá ÷ñçóéìïðïéïýí ôïí êþäéêá, Ýôóé þóôå íá êáôáíïÞóïõí êáé ôéò ëåéôïõñãßåò áëëÜ êáé ôç óêÝøç ðïõ äçìéïýñãçóå
ôïí óõãêåêñéìÝíï êþäéêá.
Óôü÷ïò ìáò åßíáé íá óõíåéäçôïðïéÞóïõí ïé öïéôçôÝò ðïéåò ðëåõñÝò ôïõ ðñïãñáììáôéóìïý áðáéôïýí åðéðëÝïí óêÝøç êáé öñïíôßäá, êáèþò êáé ôç óçìáóßá íá êáôáíïÞóïõí
óùóôÜ ôéò ëåðôïìÝñåéåò.
ÁõôÞ ç ìïíáäéêÞ ìïñöÞ Ýãéíå äåêôÞ ìå åíèïõóéáóìü áðü ôïõò öïéôçôÝò, ðïõ ÷ñçóéìïðïßçóáí ôéò ðñþôåò åêäüóåéò ôïõ âéâëßïõ. ¸íá óþìá êáèçãçôþí, ðïõ åßíáé Üãíùóôïé
êáé äåí Ý÷ïõí êáìßá ó÷Ýóç ìå ôïõò óõããñáöåßò, ðáñïõóéÜæïõí ôï êåßìåíï áõôü êáé
8
æçôïýí ôç ãíþìç ôùí öïéôçôþí. Óå óýãêñéóç ìå Üëëá, ïé öïéôçôÝò ðñïôéìïýí ðïëý
ðåñéóóüôåñï ôï äéêü ìáò êåßìåíï. Ìå âÜóç ôçí áðïäï÷Þ áõôÞ, ðéóôåýïõìå üôé èá âñåßôå ôï óõãêåêñéìÝíï âéâëßï áíåêôßìçôï äéäáêôéêü êáé ìáèçóéáêü åñãáëåßï.
ÏÑÃÁÍÙÓÇ ÔÏÕ ÊÅÉÌÅÍÏÕ
Ôï ðñþôï êåöÜëáéï áðïôåëåß åéóáãùãÞ óôçí ðëçñïöïñéêÞ, ðáßñíïíôáò óáí äåäïìÝíï
üôé ïé öïéôçôÝò äåí ãíùñßæïõí ïýôå ôá âáóéêÜ ó÷åôéêÜ ìå ôç ÷ñÞóç ôïõ çëåêôñïíéêïý
õðïëïãéóôÞ ãéá ìéá áðëÞ åðåîåñãáóßá êåéìÝíïõ. ÐåñéãñÜöåé ôï õëéóìéêü (hardware),
ôïí ôñüðï áðïèÞêåõóçò ôùí ðëçñïöïñéþí óôç ìíÞìç, ôéò ãëþóóåò ðñïãñáììáôéóìïý,
ôïõò ìåôáãëùôôéóôÝò, êáé ôç ìç÷áíéêÞ çëåêôñïíéêþí õðïëïãéóôþí. Óêïðüò ôïõ êåöáëáßïõ áõôïý åßíáé íá åéóÜãåé ôïõò öïéôçôÝò óôïí ôñüðï ìå ôïí ïðïßï ëåéôïõñãïýí ïé
õðïëïãéóôÝò êáé ôéò Ýííïéåò ðßóù áðü ôïí ó÷åäéáóìü ôïõ ëïãéóìéêïý.
Ôá êåöÜëáéá 2 ìÝ÷ñé 4 êáëýðôïõí ôéò âáóéêÝò áðüøåéò ìéáò äéáäéêáóôéêÞò ãëþóóáò
ðñïãñáììáôéóìïý, ôç âáóéêÞ óýíôáîç, êáé ôéò äïìÝò åëÝã÷ïõ. ÐåñéãñÜöïíôáé ïé ëåéôïõñãßåò ôçò âéâëéïèÞêçò ôçò ãëþóóáò C êáé ç ÷ñÞóç ôïõò ðáñïõóéÜæåôáé ìå ðáñáäåßãìáôá óôá êåöÜëáéá áõôÜ. Óôï êåöÜëáéï 5, êáëýðôïíôáé ïé óõíáñôÞóåéò ÷ñÞóôç, ìå
Ýìöáóç óôéò Ýííïéåò ôçò óõìáñìïëïãçóéìüôçôáò (modularity) êáé åðáíá÷ñçóéìïðïßçóçò ôïõ êþäéêá. ÐáñïõóéÜæïíôáé ãåíéêÜ ïé äåßêôåò ìáæß ìå ôçí áíÜðôõîç ôùí ëåéôïõñãéþí åêåßíùí ðïõ ÷ñçóéìïðïéïýí ôéò äéåõèýíóåéò óáí ïñßóìáôá ôùí ëåéôïõñãéêþí êëßóåùí. ÌåôÜ áðü ôï êåöÜëáéï áõôü, ðåñéãñÜöïíôáé ôá áðïôåëÝóìáôá ôçò ÷ñÞóçò ôùí
÷áñáêôçñéóôéêþí ôçò ãëþóóáò C ìå ôéò óõíáñôÞóåéò ðïõ ïñßæïíôáé áðü ôï ÷ñÞóôç (user
defined function). Ôï êåöÜëáéï 6 åðéêåíôñþíåôáé óôïõò áñéèìçôéêïýò ðßíáêåò.
Ôï êåöÜëáéï 7 ðåñéãñÜöåé ôéò óõìâïëïóåéñÝò êáé ôïõò äåßêôåò. ÅðåéäÞ ôéò óõìâïëïóåéñÝò ôéò ìåôá÷åéñéæüìáóôå ÷ñçóéìïðïéþíôáò äéåõèýíóåéò, ôï óõãêåêñéìÝíï êåöÜëáéï
åßíáé ôï êáôáëëçëüôåñï ãéá íá ðåñéãñÜøåé ôç ÷ñÞóç ôùí äåéêôþí ãéá ôçí ôñïðïðïßçóç
ôçò ìíÞìçò. Ôï êåöÜëáéï 8 êáëýðôåé ôéò äïìÝò óå ãëþóóá C êáèþò êáé ôéò ÷ñÞóåéò ôïõò
ãéá ôç äçìéïõñãßá óõíäåäåìÝíùí êáôáëüãùí, óôïéâþí, ïõñþí, êáé äõáäéêþí äÝíôñùí.
Åðßóçò, óôï êåöÜëáéï áõôü êáëýðôåôáé êáé ç ó÷åäßáóç ìåãÜëùí ðñïãñáììÜôùí. Áõôü
óõìðåñéëáìâÜíåôáé åðåéäÞ ôá ðñïãñÜììáôá ìç÷áíéêÞò óõíÞèùò áðïêôïýí ìåãÜëç Ýêôáóç. Ç óçìáóßá ôçò ÷ñÞóçò ôùí ÷áñáêôçñéóôéêþí ôçò ãëþóóáò C ãéá ôïí ÷åéñéóìü ìåãÜëùí ðñïãñáììÜôùí, èåùñåßôáé âáóéêÞ ãéá ôçí ðñïåôïéìáóßá ôùí öïéôçôþí íá áðáó÷ïëçèïýí óå åôáéñåßåò ðïõ áíáðôýóóïõí åìðïñéêÜ ðñïãñÜììáôá ìç÷áíéêÞò. Ôï êåöÜëáéï
9 (ðïõ äéáôßèåôáé ìüíï óôçí éóôïóåëßäá ôçò McGraw-Hill http://www.mhhe.com/engcs/
general/best/tandorazio.mhtml) äåí áðïôåëåß ìüíï åéóáãùãÞ óôç ãëþóóá C++, áëëÜ
åßíáé ðïëý ðåñéóóüôåñá. ÅðåéäÞ êáëýðôïõìå ðëÞñùò ôç ãëþóóá C, ìðïñïýìå íá ðåñéãñÜøïõìå ðïëëÜ ïõóéáóôéêÜ æçôÞìáôá ôïõ áíôéêåéìåíïóôñáöïýò ðñïãñáììáôéóìïý ìå
ôç ãëþóóá C++. Ïé ôÜîåéò, ç åíèõëÜêùóç (encapsulation), êáé ï ðïëõìïñöéóìüò ðåñéãñÜöïíôáé ìå áðëïýò üñïõò. Ôï êåöÜëáéï áõôü óõìðåñéëáìâÜíåé ðëïýóéá åéêïíïãñÜöçóç. Ç áðëÞ ãëþóóá êáé ïé åéêüíåò ðáñÝ÷ïõí óôïõò öïéôçôÝò ôï êáôÜëëçëï õðüâáèñï
þóôå ÷ñçóéìïðïéÞóïõí ðïëëÜ áðü ôá âáóéêÜ ÷áñáêôçñéóôéêÜ ôçò ãëþóóáò C++.
ÊÜèå êåöÜëáéï ÷ùñßæåôáé óå äýï ìÝñç: óôá ÌáèÞìáôá êáé óôá ÐñïãñÜììáôá Åöáñ-
9
ìïãÞò. ¸íá êáíïíéêü êåöÜëáéï áñ÷ßæåé ìå ïêôþ Þ åííéÜ ÌáèÞìáôá êáé ôåëåéþíåé ìå
ôÝóóåñá Þ ðÝíôå ÐñïãñÜììáôá ÅöáñìïãÞò. Ôá ÌáèÞìáôá äéäÜóêïõí óýíôáîç, ìïñöÞ
êáé âáóéêÞ ó÷åäßáóç. Ôá ÐñïãñÜììáôá ÅöáñìïãÞò ðáñïõóéÜæïõí ôïí ôñüðï ìå ôïí
ïðïßï üôé äéäÜóêåôáé óôá ÌáèÞìáôá ìðïñåß íá ÷ñçóéìïðïéçèåß ãéá ôçí åðßëõóç ðñáãìáôéêþí ðñïâëçìÜôùí ìç÷áíéêÞò êáé ðñïãñáììáôéóìïý. Ôá ÐñïãñÜììáôá ÅöáñìïãÞò
ðáñïõóéÜæïõí ôéò íïçôéêÝò äéáäéêáóßåò ôïõ ðñïãñáììáôéóôÞ áíÜðôõîçò ðñïãñáììÜôùí
êáôÜ ôç äçìéïõñãßá åíüò ðñïãñÜììáôïò. Óôü÷ïò ôùí ÐñïãñáììÜôùí ÅöáñìïãÞò åßíáé
íá äþóåé ôç äõíáôüôçôá óôïõò öïéôçôÝò íá áêïëïõèÞóïõí ìéá äïìçìÝíç ìåèïäïëïãßá
ãéá ôçí áíÜðôõîç ôùí äéêþí ôïõò ðñïãñáììÜôùí.
×ÁÑÁÊÔÇÑÉÓÔÉÊÁ
Ôï êåßìåíï Ý÷åé ôá áêüëïõèá ÷áñáêôçñéóôéêÜ:
1. Ôï âéâëßï ÷ñçóéìïðïéåß ôçí áðëÞ ìÝèïäï åñþôçóçò- áðÜíôçóçò, ôçí ïðïßá ïé öïéôçôÝò èåùñïýí ðéï öéëéêÞ êáé ðñïóâÜóéìç áð’ üôé ôçí áðëÞ áöÞãçóç.
2. ÊÜèå ÌÜèçìá åðéêåíôñþíåôáé óå Ýíá ìüíï äåßãìá ðñïãñÜììáôïò. Ïé öïéôçôÝò êáèïäçãïýíôáé ìÝóá óôï ðñüãñáììá ìå ðåñéãñáöÝò ôùí ðáñáôçñÞóåùí ðïõ èá Ýðñåðå íá
êÜíïõí êáé ìå ôéò åñùôÞóåéò ðïõ èá Ýðñåðå íá ðñïóðáèÞóïõí íá áðáíôÞóïõí. Ïé
öïéôçôÝò êáôáíïïýí êáëýôåñá ôç ãëþóóá C ãéáôß áíáãêÜæïíôáé íá áêïëïõèÞóïõí
ôéò ëåðôïìÝñåéåò ôïõ êþäéêá áõôïý. Êáôüðéí, ôïõò ðáñÝ÷åôáé ç áðáñáßôçôç, ëåðôïìåñÞò åîÞãçóç óôï ôìÞìá ÅðåîçãÞóåéò ôïõ ìÝñïõò ÌáèÞìáôá.
3. Ôá ÐñïãñÜììáôá ÅöáñìïãÞò, ðïõ ðáñïõóéÜæïíôáé óôï äåýôåñï ìÝñïò êÜèå êåöáëáßïõ, ðáñïõóéÜæïõí ôç ÷ñçóéìüôçôá ôçò ãëþóóáò C óôçí åðßëõóç áóêÞóåùí ìç÷áíéêÞò êáé ðñïãñáììáôéóìïý. ÂÝâáéá, åîçãïýíôáé áñêåôÜ, Ýôóé þóôå íá ãßíïõí êáôáíïçôÜ. Ôá ðáñáäåßãìáôá åðéêåíôñþíïíôáé óôç ó÷åäßáóç ôïõ ðñïãñÜììáôïò, óôç ìç÷áíéêÞ ëïãéóìéêïý, óôç óõíáñìïëïãçóéìüôçôá, êáé óôç äçìéïõñãßá åðáíá÷ñçóéìïðïéïýìåíïõ êþäéêá.
4. ÓõìðåñéëáìâÜíïíôáé ðåñéóóüôåñá áðü 200 ó÷Þìáôá, ðïõ ðáñïõóéÜæïõí ôéò Ýííïéåò
ôïõ ðñïãñáììáôéóìïý. ÐïëëÜ áðü ôá ó÷Þìáôá åßíáé ìïíáäéêÜ êáé äßíïõí óôïõò öïéôçôÝò ôç äõíáôüôçôá íá êáôáíïÞóïõí ôéò Ýííïéåò ãñÞãïñá êáé åýêïëá.
5. ÐáñïõóéÜæåôáé ìéá äïìçìÝíç ìÝèïäïò ôåóóÜñùí óôáäßùí (ðïõ ãßíïíôáé ðÝíôå üôáí
åéóÜãïõìå ôéò óõìâïëïóåéñÝò êáé ðéï ðåñßðëïêåò äïìÝò äåäïìÝíùí) áíÜðôõîçò ðñïãñáììÜôùí êáôÜ ôçí ðåñéãñáöÞ ÐñïãñáììÜôùí ÅöáñìïãÞò. Ç ìÝèïäïò óõìðåñéëáìâÜíåé ôç äçìéïõñãßá äéáãñáììÜôùí äïìþí êáé äéáãñáììÜôùí ñïÞò äåäïìÝíùí.
6. Óôá ÐñïãñÜììáôá Åöáñìïãþí óõìðåñéëáìâÜíïíôáé êáé ðáñáäåßãìáôá áñéèìçôéêþí
ìåèüäùí, ðïõ ìðïñïýí íá ÷ñçóéìïðïéçèïýí óå ìáèÞìáôá ðïõ óõíäõÜæïõí ôïí ðñïãñáììáôéóìü ìå ôéò áñéèìçôéêÝò ìåèüäïõò.
7. Ôá ÌáèÞìáôá ó÷ïëéÜæïõí ôïí êþäéêá, ðïõ âïçèÜ ôïõò öïéôçôÝò íá êáôáíïÞóïõí ôéò
ëåðôïìÝñåéåò êáé ôç ñïÞ ôïõ ðñïãñÜììáôïò. Ôá ó÷üëéá âïçèïýí ôïõò öïéôçôÝò íá
åðéêåíôñùèïýí óôïí êþäéêá êáé ôïíßæïõí ôá óçìáíôéêÜ óçìåßá ðïõ ðáñïõóéÜæåé ï
óõãêåêñéìÝíïò êþäéêáò.
8. Êáôáëáâáßíïõìå áðüëõôá üôé ïé öïéôçôÝò óõíÞèùò äåí ìåëåôïýí ðïëëÝò óåëßäåò
10
êþäéêá áðü ìüíïé ôïõò. ¸ôóé, åîçãïýíôáé ðëÞñùò ôá ÐñïãñÜììáôá ÅöáñìïãÞò, êáèÝíá áðü ôá ïðïßá êáôáëáìâÜíåé äýï Þ ôñåéò óåëßäåò.
9. Ãíùñßæïõìå üôé ïé öïéôçôÝò ðáó÷ßæïõí íá êáôáíïÞóïõí ôïõò äåßêôåò. Åðßóçò, Ý÷ïõìå
åðéóçìÜíåé üôé ãéá íá êáôáíïÞóïõí ôïõò äåßêôåò, ôá ó÷Þìáôá ðïõ ôïõò ðáñéóôÜíïõí
èá ðñÝðåé íá ðáñáðÝìðïõí óå êÜôé ðïõ ïé öïéôçôÝò íá ìðïñïýí íá öáíôáóôïýí. Äåí
áñêåß íá ðáñïõóéÜóïõìå ìüíï Ýíá ôåôñÜãùíï ìå Ýíá âÝëïò ðïõ íá äåß÷íåé óå Ýíá
Üëëï ôåôñÜãùíï. ×ñçóéìïðïéþíôáò ðßíáêåò êáé áðåéêïíßóåéò ôçò ìíÞìçò ðïõ ìïéÜæïõí ìå ðëÝãìáôá, áðïìõèïðïéÞóáìå áñêåôÜ ôïõò äåßêôåò. ÐáñáôçñÞóáìå üôé ìåôÜ
ôçí áíÜãíùóç ôïõ êåéìÝíïõ ïé öïéôçôÝò êáôáíïïýí ôçí Ýííïéá ôùí äåéêôþí.
10. Ìðïñïýìå íá ÷ñçóéìïðïéÞóïõìå áóêÞóåéò ôñïðïðïßçóçò ìåôÜ áðü ôá ÐñïãñÜììáôá ÅöáñìïãÞò óå åñãáóôçñéáêÜ ìáèÞìáôá. Ïé êáèçãçôÝò ìðïñïýí íá áíáèÝóïõí óôïõò öïéôçôÝò ðñéí áðü Ýíá åñãáóôçñéáêü ìÜèçìá íá äéáâÜóïõí Ýíá óõãêåêñéìÝíï Ðñüãñáììá ÅöáñìïãÞò. ÊáôÜ ôç äéÜñêåéá ôïõ åñãáóôçñéáêïý ìáèÞìáôïò,
ïé öïéôçôÝò êáèïäçãïýíôáé ìÝóá áðü êÜðïéåò ìåôáâïëÝò ðïõ ÷ñåéÜæåôáé íá ãßíïõí.
ÐåñáéôÝñù ìåôáâïëÝò ìðïñïýí íá áíáôåèïýí óáí áóêÞóåéò ãéá ôï óðßôé.
11. Ïé áñ÷Üñéïé öïéôçôÝò ðáó÷ßæïõí ãéá íá åðéôý÷ïõí ôçí áðáóöáëìÜôùóç, ãéáôß ç äéáäéêáóßá åßíáé êáéíïýñéá êáé îÝíç ðñïò áõôïýò. Ïé öïéôçôÝò óõ÷íÜ áðïãïçôåýïíôáé
åðåéäÞ èá ðñÝðåé íá áðïóöáëáìáôþóïõí ôï ðñþôï êéüëáò ðñüãñáììÜ ôïõò. Áíáãíùñßæïíôáò áõôü, óõìðåñéëÜâáìå Ýíá ëåðôïìåñÝóôáôï ðáñÜäåéãìá áðïóöáëìÜôùóçò óôçí áñ÷Þ ôïõ êåéìÝíïõ (êåöÜëáéï 2). Ïé áñ÷Üñéïé åðßóçò äõóêïëåýïíôáé
êáé ìå ôïõò âñü÷ïõò áðïóöáëìÜôùóçò. Óôï êåßìåíï áõôü, åðéêåíôñùíüìáóôå óôïõò
âñü÷ïõò êáé äßíïõìå ðáñáäåßãìáôá ôïõ ôñüðïõ ìå ôïí ïðïßï ìåôáâÜëëïíôáé ïé ôéìÝò êáôÜ ôçí åêôÝëåóç ôùí âñü÷ùí. Ïé öïéôçôÝò ìáèáßíïõí íá áíé÷íåýïõí ôïõò
âñü÷ïõò êáé íá åðéóçìáßíïõí ôá óöÜëìáôá. ÅðéðëÝïí, óçìåéþíïíôáé óôá êáôÜëëçëá
óçìåßá óå ïëüêëçñï ôï êåßìåíï ôá ðéï óõíçèéóìÝíá ëÜèç ðïõ êÜíïõí ïé áñ÷Üñéïé.
12. Ïé åñùôÞóåéò Óùóôïý-ËÜèïõò, óôï ôÝëïò êÜèå ÌáèÞìáôïò (ìå ôéò ëýóåéò ôïõò)
åðéôñÝðïõí óôïõò öïéôçôÝò íá åðéâåâáéþóïõí ôçí ðñüïäü ôïõò, üóïí áöïñÜ óôçí
êáôáíüçóç ôùí âáóéêþí åííïéþí.
13. Ïé ÁóêÞóåéò ÅöáñìïãÞò óôï ôÝëïò êÜèå êåöáëáßïõ ìðïñïýí íá ÷ñçóéìïðïéçèïýí
áðü ôïí êáèçãçôÞ óáí åñãáóßåò ãéá ôï óðßôé.
14. Ôï âéâëßï óõìðåñéëáìâÜíåé êáé ìéá äéóêÝôá ìå üëá ôá ðñïãñÜììáôá êáé ôï êåßìåíï.
Ïé öïéôçôÝò ìðïñïýí íá ôñïðïðïéÞóïõí êáé íá åêôåëÝóïõí ôá ðñïãñÜììáôá áõôÜ,
Ýôóé þóôå íá åìðåäþóïõí ðþò ëåéôïõñãïýí áõôÜ.
15. ÓõìðåñéëÜâáìå åðßóçò áõôü ðïõ ïíïìÜóáìå åéóáãùãÞ óôç ãëþóóá C++, êáé ðïõ
äéáôßèåôáé ìüíï óôçí éóôïóåëßäá ôçò McGraw-Hill (http://www.mhhe.com/engcs/
general/best/tandorazio.mhtml). Óôçí ðñáãìáôéêüôçôá êáëýðôåé ðïëý ðåñéóóüôåñá
áðü ôá âáóéêÜ. ÌåôÜ ôçí áíÜãíùóç ôïõ êåéìÝíïõ, ïé öïéôçôÝò èá åßíáé óå èÝóç íá
÷ñçóéìïðïéÞóïõí ðïëëÝò áðü ôéò âáóéêÝò Ýííïéåò ôïõ ðñïãñáììáôéóìïý ðñïóáíáôïëéóìÝíïõ ðñïò ôï áíôéêåßìåíï.
16. ÐïëëÜ áðü ôá ÐñïãñÜììáôá ÅöáñìïãÞò ðáñÝ÷ïõí óôïõò öïéôçôÝò ìéáò åéóáãùãÞ
óôéò áñéèìçôéêÝò ìåèüäïõò. ÐáñïõóéÜæåôáé ìå ðáñáäåßãìáôá Ýíá óýíïëï áðü 10
äéáöïñåôéêÝò áñéèìçôéêÝò ìåèüäïõò.
11
ÐÙÓ ÍÁ ×ÑÇÓÉÌÏÐÏÉÇÓÅÔÅ ÁÕÔÏ ÔÏ ÂÉÂËÉÏ
Ðñïò ôï öïéôçôÞ
Óôï ÊåöÜëáéï 1, èá ðñÝðåé íá åðéêåíôñùèåßôå óôï íá êáôáíïÞóåôå ôé ìðïñåß íá áðïèçêåõôåß óôç ìíÞìç, ðùò ëåéôïõñãåß Ýíáò ìåôáãëùôôéóôÞò, êáé ôá óôÜäéá ôçò ìç÷áíéêÞò
ëïãéóìéêïý. Ôá õðüëïéðá êåöÜëáéá êáëýðôïõí ôïí ðñïãñáììáôéóìü óå ãëþóóá C. ÊÜèå
ìÜèçìá óôá óõãêåêñéìÝíá êåöÜëáéá áñ÷ßæåé ìå ìéá ìéêñÞ åéóáãùãÞ óôïí êþäéêá ðçãÞò
ôïõ ìáèÞìáôïò. ×ñçóéìïðïéåßóôå ôçí åéóáãùãÞ ãéá íá ìÜèåôå ôá óçìáíôéêüôåñá óçìåßá ôïõ êþäéêá. Êáôüðéí, äéáâÜóôå ôïí êþäéêá êáé ôá ó÷üëéá ìÝóá óôá ðëáßóéá. ¸ðåéôá, óéãïõñåõôåßôå üôé Ý÷åôå Þäç áñ÷ßóåé íá êáôáëáâáßíåôå ôá âáóéêÜ èÝìáôá ðïõ êáëýðôåé ôï ìÜèçìá. Óôç óõíÝ÷åéá, äéáâÜóôå ôéò ÅðåîçãÞóåéò êáé áðáíôÞóôå óôéò åñùôÞóåéò
Óùóôïý-ËÜèïõò êáèþò êáé óå åêåßíåò Óýíôïìçò ÁðÜíôçóçò. Áí äåí ôá ðÜôå êáëÜ óôéò
áóêÞóåéò, äéáâÜóôå êáé ðÜëé ôï ìÜèçìá ìÝ÷ñé íá åîïéêåéùèåßôå ìå ôá èÝìáôá ðïõ åîåôÜæåé, ÌåôÜ áðü áõôü, ðñï÷ùñÞóôå óôï åðüìåíï ìÜèçìá.
Áöïý äéáâÜóåôå üëá ôá ìáèÞìáôá óå Ýíá êåöÜëáéï, áñ÷ßóôå ôá ÐñïãñÜììáôá ÅöáñìïãÞò. Óêïðüò ôïõò åßíáé íá ðáñÝ÷ïõí ðáñáäåßãìáôá ôïõ ôñüðïõ óêÝøçò ðïõ èá ðñÝðåé
íá áðïêôÞóåôå üôáí ãñÜöåôå ôá äéêÜ óáò ðñïãñÜììáôá. Êáé áõôü ãéá íá óáò ðáñïõóéÜóåé ìå ôïí êáëýôåñï ôñüðï ôéò ðñáêôéêÝò ÷ñÞóåéò ôçò ãëþóóáò C. Êáèþò ãñÜöåôå ôá
äéêÜ óáò ðñïãñÜììáôá, èá äåßôå üôé èá áó÷ïëçèåßôå ìå ðïëëÜ áðü ôá æçôÞìáôá ðïõ
áíáðôýóóïíôáé óôá ÐñïãñÜììáôá Åöáñìïãþí. Óôá ôåëåõôáßá, åðéêåíôñùèåßôå óôçí
åêìÜèçóç ôçò ìåèïäïëïãßáò êáé óôçí êáôáíüçóç ôçò ëïãéêÞò êÜèå ðñïãñÜììáôïò. Íá
èõìÜóôå üôé ïé ëåðôïìÝñåéåò åßíáé ðïëý óçìáíôéêÝò óôïí ðñïãñáììáôéóìü. Áí êáôáíïÞóåôå ðëÞñùò êÜèå Ðñüãñáììá ÅöáñìïãÞò, èá ìÜèåôå ðþò íá ó÷åäéÜæåôå êáé íá
äçìéïõñãåßôå Ýíá áêñéâÝò êáé áðïôåëåóìáôéêü ðñüãñáììá. ×ñçóéìïðïéåßóôå ôéò ãíþóåéò áõôÝò óôç óõããñáöÞ ôùí ðñïãñáììÜôùí ðïõ óáò áíáèÝôåé ï êáèçãçôÞò óáò.
Ðñïò ôïí êáèçãçôÞ
Óôçí ðåñßðôùóç åíüò ìç åõÝëéêôïõ ìáèÞìáôïò ôñéþí Þ ôåóóÜñùí åíïôÞôùí, ðïõ áöïñÜ
óôïí ðñïãñáììáôéóìü ôçò C êáé óõìðåñéëáìâÜíåé êáé ìéá åéóáãùãÞ óôç ãëþóóá C++,
èá ðñïôåßíáìå íá áêïëïõèÞóåôå ôç óåéñÜ ìå ôçí ïðïßá ðáñïõóéÜæïíôáé ôá êåßìåíá.
Ùóôüóï, ìðïñåßôå íá êáëýøåôå ôçí ýëç êáé ìå äéáöïñåôéêÞ óåéñÜ áðü áõôÞ ðïõ óáò
ðáñÝ÷åôáé. Ãéá ðáñÜäåéãìá, ôï ÌÜèçìá 3.9 (ÄåäïìÝíá Áðëïý ×áñáêôÞñá) ìðïñåß íá
êáëõöèåß ü÷é óáí ôï ôåëåõôáßï ìÜèçìá ôïõ Êåöáëáßïõ 3 áëëÜ áìÝóùò ðñéí ôï ðñþôï
ìÜèçìá ôïõ Êåöáëáßïõ 7. Åðßóçò, ôá ìáèÞìáôá 8.11 (Äçìéïõñãþíôáò Áñ÷åßá Åðéêåöáëßäáò êáé ÔÜîåéò ÁðïèÞêåõóçò), 8.12 (×ñÞóç Áñ÷åßùí Ðïëëáðëïý Êþäéêá ÐçãÞò),
8.19 (ÌáêñïåíôïëÝò ìå ôç ÌïñöÞ ÓõíáñôÞóåùí - óôçí éóôïóåëßäá ôçò McGraw-Hill)
êáé 8.20 (Óõíõðïëïãéóìüò õðü ÓõíèÞêç - óôçí éóôïóåëßäá ôçò McGraw-Hill) ìðïñïýí,
áí èÝëåôå, íá êáëõöèïýí ìå ôçí ýëç ôïõ Êåöáëáßïõ 5 (ÓõíáñôÞóåéò).
Ìðïñåßôå åðßóçò íá áíáâÜëëåôå ïñéóìÝíá áðü ôá ôåëåõôáßá ìáèÞìáôá ôùí Êåöáëáßùí 7, 8, êáé 9 êáé íá ôá êáëýøåôå åöüóïí óáò åðéôñÝðåé ï ÷ñüíïò óôï ôÝëïò ôùí
12
ìáèçìÜôùí. Ãéá ðáñÜäåéãìá, ôï ÌÜèçìá 7.9 (Óõìâïëéóìüò Äåßêôç Ýíáíôé ôïõ Óõìâïëéóìïý Ðßíáêá) ìðïñåß íá áíáâëçèåß ìÝ÷ñé íá öôÜóåôå óôï ÌÜèçìá 8.15 (Äåßêôåò óå
ÓõíáñôÞóåéò êáé Äåßêôåò ÅðéóôñïöÞò óôç ÓõíÜñôçóç).
Óôá ìáèÞìáôá äýï åíïôÞôùí, óáò ðñïôåßíïõìå íá êáëýøåôå ìÝ÷ñé êáé ôï ÌÜèçìá
7.8, êáèþò êáé ôá ìáèÞìáôá 7.10, 8.1, 8.2, 8.3, 8.4, êáé 8.5. Óôá ìáèÞìáôá ìéáò åíüôçôáò, ïé öïéôçôÝò èá ìðïñÝóïõí íá ãñÜöïõí áîéüëïãá êáé ðåñßðëïêá ðñïãñÜììáôá óå
ãëþóóáò C, áñêåß íá êáëýøåôå ôá Ýîé ðñþôá êåöÜëáéá.
Ôï âéâëßï åßíáé ãåìÜôï áóêÞóåéò. ÌåôÜ ôçí ïëïêëÞñùóç êÜèå ìáèÞìáôïò, áêïëïõèïýí ÅñùôÞóåéò Óùóôïý-ËÜèïõò êáèþò êáé Óýíôïìçò ÁðÜíôçóçò. Ïé öïéôçôÝò èá ðñÝðåé íá ôéò áðáíôÞóïõí ìüíïé ôïõò. Áêüìç, óôï ôÝëïò ïñéóìÝíùí ìáèçìÜôùí áíáôßèåíôáé êáé ìåñéêÜ ðéï áðëÜ ðñïãñÜììáôá. ÁõôÜ èá ðñÝðåé íá áíáôßèåíôáé ìå ôç ìïñöÞ
áóêÞóåùí ãéá ôï óðßôé. Ìéá åâäïìÜäá åßíáé óõíÞèùò áñêåôÞ ãéá íá ïëïêëçñþóïõí ïé
öïéôçôÝò Ýíá áðü ôá ðñïãñÜììáôá áõôÜ.
Ïé ÁóêÞóåéò Ôñïðïðïßçóçò óôï ôÝëïò ôùí ÐñïãñáììÜôùí ÅöáñìïãÞò ìðïñïýí íá
÷ñçóéìïðïéçèïýí óôá åñãáóôçñéáêÜ ìáèÞìáôá. Ïé öïéôçôÝò èá ðñÝðåé íá ðñïåôïéìÜæïíôáé ãéá ôï ìÜèçìá óôï åñãáóôÞñéï ìåëåôþíôáò ôï ó÷åôéêü Ðñüãñáììá ÅöáñìïãÞò.
ÌÝóá óôï åñãáóôÞñéï, ïé öïéôçôÝò ìðïñïýí íá êáèïäçãçèïýí Ýôóé þóôå íá êÜíïõí ôéò
ôñïðïðïéÞóåéò ðïõ áðáéôïýí ïé áóêÞóåéò. Ç äéóêÝôá óôï ðßóù ìÝñïò ôïõ âéâëßïõ, ðåñéÝ÷åé ôïí êþäéêá ðçãÞò üëùí ôùí ðñïãñáììÜôùí. Ïé öïéôçôÝò èá ðñÝðåé áðëþò íá
åìöáíßóïõí ôá ðñïãñÜììáôá áõôÜ óôçí ïèüíç, ìå ôç âïÞèåéá ôçò äéóêÝôáò. ÏñéóìÝíåò
áðü ôéò áóêÞóåéò åßíáé áðëÝò, åíþ êÜðïéåò Üëëåò åßíáé ðéï äýóêïëåò. Ïé äýóêïëåò áóêÞóåéò ìðïñïýí íá áíáôßèåíôáé ãéá åðßëõóç óôï óðßôé.
Óôï ôÝëïò êÜèå êåöáëáßïõ âñßóêïíôáé ÁóêÞóåéò ÅöáñìïãÞò. Áðïôåëïýí ìÜëëïí ôéò
ðéï “ðñïêëçôéêÝò” áóêÞóåéò ôïõ âéâëßïõ, êáé åßíáé ïé êáôáëëçëüôåñåò ãéá åðßëõóç óôï
óðßôé. Áðü äýï ìÝ÷ñé ôÝóóåñéò åâäïìÜäåò åßíáé ï êáôÜëëçëïò ÷ñüíïò ãéá íá ôçí åðßëõóç
ôïõò, áíÜëïãá ìå ôï åðßðåäï äõóêïëßáò ôïõò.
ÅðéðëÝïí, ìðïñåßôå íá ÷ñçóéìïðïéÞóåôå ôï âéâëßï áõôü óáí óçìåßï áíáöïñÜò ãéá
ôçí ANSI C. Óå üëï ôï âéâëßï õðÜñ÷ïõí ðßíáêåò áíáöïñÜò, åíþ ïñéóìÝíïé äßíïíôáé êáé
óôá ðáñáñôÞìáôá.
ÅÕ×ÁÑÉÓÔÉÅÓ
Èá èÝëáìå íá åõ÷áñéóôÞóïõìå ôïí Eric Muson êáé ôç Holly Stark ôçò McGraw-Hill ãéá
ôïí åíäéáöÝñïí, ôçí õðïóôÞñéîç, ôçí åíèÜññõíóç êáé ôá åðïéêïäïìçôéêÜ ôïõò ó÷üëéá,
üóïí áöïñÜ óôï Ýñãï áõôü. ¹ôáí ðñáãìáôéêÞ åõ÷áñßóôçóç ç óõíåñãáóßá ìáæß ôïõò.
Åðßóçò, èá èÝëáìå íá åõ÷áñéóôÞóïõìå ôïí Byron Gotfried, ôïí óýìâïõëï åêäüóåùí
ôçò óåéñÜò BEST, ãéá ôçí õðïóôÞñéîç êáé ôçí ðïëýôéìç êñéôéêÞ ôïõ, êáèþò êáé ôçí
Alisa Watson êáé ôçí ïìÜäá ðáñáãùãÞò ôçò óôçí McGraw-Hill, ç ïðïßá óõíÝèåóå áõôü
ðïõ åìåßò èåùñïýìå Ýíá ðïëý êáëÜ óôçìÝíï âéâëßï.
Åðßóçò, åß÷áìå ôçí õðïóôÞñéîç åíüò ðëÞèïõò åðéöáíþí êñéôéêþí: Betty Barr, ÐáíåðéóôÞìéï ôïõ Houston; Raymond Bell, ÐáíåðéóôÞìéï ôïõ Texas, El Paso, Tat W. Chan,
13
ÐáíåðéóôÞìéï Fayetteville State, Bart Childs, ÐáíåðéóôÞìéï ôïõ Texas A&M, Chris J.
Dovolis, ÐáíåðéóôÞìéï ôçò Minnesota, Janet Hartman, ÐáíåðéóôÞìéï Illinois State, Elden
W. Heiden, ÐáíåðéóôÞìéï New Mex
ico State, Elias Houstis, ÐáíåðéóôÞìéï ôïõ Purdue, Joseph Konstan, ÐáíåðéóôÞìéï ôçò
Minnesota, Jandelyn Plane, ÐáíåðéóôÞìéï ôïõ Maryland êáé Matthew Ward, WPI, ãéá
ôá ó÷üëéá êáé ôéò ðñïôÜóåéò ôïõò ðïõ ìáò âïÞèçóáí ðïëý. Åêôéìïýìå éäéáßôåñá ôçí
ðñïóöïñÜ ôïõò.
Áñ÷ßóáìå ôç óôáäéïäñïìßá ìáò óáí ðñïãñáììáôéóôÝò óôï ÐáíåðéóôÞìéï ôïõ Michigan
êáé óôï U. C. Berkeley. Èá èÝëáìå íá åõ÷áñéóôÞóïõìå ôïõò êáèçãçôÝò J. M. Duncan,
John Lysmer, and Raymond Canale (ôïí åéóçãçôÞ ôçò TBD’s ôïõ ðñþôïõ Ýôïõò ðñïãñáììáôéóìïý), ãéá ôçí Ýíèåñìç (êáé êÜðïôå ðéåóôéêÞ) ðñïóðÜèåéá ôïõ íá ìáò ðåßóåé
íá äçìéïõñãÞóïõìå êÜðïéá ðïëýðëïêá ðñïãñÜììáôá. Ç éêáíïðïßçóç ðïõ íéþèáìå üôáí
áíáðôýóóáìå ôÝôïéá ðñïãñÜììáôá áðïôÝëåóå ôï êßíçôñï ãéá ôç óõããñáöÞ ôïõ âéâëßïõ
áõôïý.
Åðßóçò èá èÝëáìå íá åõ÷áñéóôÞóïõìå ôçí Suzanne Lacasse êáé ôïí Kaare Hoeg,
Äéåõèýíôñéá êáé ðñþçí äéåõèõíôÞ, áíôßóôïé÷á, ôïõ Íïñâçãéêïý Ãåùôå÷íéêïý Éäñýìáôïò. Ç åìðéóôïóýíç êáé ç ïéêïíïìéêÞ ôïõò õðïóôÞñéîç, óôç óõããñáöÞ ãåùôå÷íéêþí
ðñïãñáììÜôùí åöáñìïãÞò, áðïôÝëåóå ôç âÜóç ðÜíù óôçí ïðïßá åðåêôåßíáìå ôï õðïëïãéóôéêü ìáò õðüâáèñï êáé áðïôÝëåóå ðáñÜëëçëá ôç âÜóç ãéá ðåñáéôÝñù áíÜðôõîç
ôùí éêáíïôÞôùí ìáò óôïí ðñïãñáììáôéóìü. Åõ÷áñéóôïýìå ôïí Hui Xian Liu, ôïí ðñþçí
ðñüåäñï ôïõ Éäñýìáôïò Ìç÷áíïëïãßáò Ìç÷áíéêÞò óôï Harbin, óôçí Êßíá, ãéá ôçí óõíå÷Þ õðïóôÞñéîç, êáèïäÞãçóç êáé åíèÜññõíóç ôïõ HHT.
ÔÝëïò, èá èÝëáìå íá åõ÷áñéóôÞóïõìå ôéò ïéêïãÝíåéåò ìáò. Ôç óýæõãï ôïõ TBD, ôçí
Elizabeth, ðïõ ðáñüëï ðïõ êáé ç ßäéá Þôáí ðïëõÜó÷ïëç, åýñéóêå ôï ÷ñüíï íá ìáò åíèáññýíåé êáé íá ìáò õðïóôçñßæåé óå üëç ôç äéÜñêåéá ôïõ Ýñãïõ ìáò. Ìå ôç âïÞèåéá ôçò
ôï Ýñãï ìáò Ýãéíå åõ÷áñßóôçóç. Ôç óýæõãï ôïõ HHT, Wei Huang, ç ïðïßá Þôáí êáôáðëçêôéêÞ ìå ôç èáëðùñÞ, ôçí áíï÷Þ êáé ôçí åõöõßá ôçò. Ç Sijing Tan, êüñç ôïõ HHT,
ó÷åäßáóå ôá ðåñéóóüôåñá ó÷Þìáôá óôá ðñþôá ôÝóóåñá êåöÜëáéá. Åêôéìïýìå ðïëý ôüóï
ôçí ðñïóðÜèåéá, üóï êáé ôéò éêáíüôçôåò ôçò óôïí ôïìÝá áõôü.
14
15
ÐÅÑÉÅ×ÏÌÅÍÁ
ÊÅÖÁËÁÉÏ 1 ............................................................................................................. 21
ÕðïëïãéóôÝò êáé âáóéêÝò áñ÷Ýò õðïëïãéóôþí ....................................................... 21
1.1 Éóôïñßá ôùí Çëåêôñïíéêþí Õðïëïãéóôþí ..................................................................................... 21
1.2 Áñ÷éôåêôïíéêÞ ................................................................................................................................................ 24
1.2.1 Êýñéá ÌíÞìç ......................................................................................................................................25
1.2.2 ÊåíôñéêÞ ÌïíÜäá Åðåîåñãáóßáò. ........................................................................................... 28
1.2.3 ÐåñéöåñåéáêÝò óõóêåõÝò ............................................................................................................. 29
1.2.4 ÅëåãêôÝò êáé Åðéêïéíùíßá ìå ôéò ÐåñéöåñåéáêÝò ÓõóêåõÝò .................................. 30
1.3 Äßêôõá Õðïëïãéóôþí .................................................................................................................................. 31
1.4 ×ñÞóç ôùí bits óôçí ðáñÜóôáóç ÷áñáêôÞñùí êáé óõìâüëùí, áêåñáßùí, ðñáãìáôéêþí áñéèìþí, äéåõèýíóåùí êáé åíôïëþí ...............................................................................................32
1.4.1 ×áñáêôÞñåò êáé Óýìâïëá ............................................................................................................ 32
1.4.2 ÁêÝñáéïé ................................................................................................................................................. 33
1.4.3 Ðñáãìáôéêïß áñéèìïß ...................................................................................................................... 35
1.4.4 ÄåêáåîáäéêÞ êáé ÏêôáäéêÞ ãñáöÞ ........................................................................................... 36
1.4.4 Äéåõèýíóåéò .......................................................................................................................................... 37
1.4.5 ÅíôïëÝò ................................................................................................................................................... 38
1.4.6 Ó÷üëéï ....................................................................................................................................................... 38
1.5 Ãëþóóåò Ðñïãñáììáôéóìïý ................................................................................................................... 39
1.5.1 ÓõìâïëéêÞ Ãëþóóá (Assembly) ..................................................................................................39
1.5.2 Ãëþóóåò Õøçëïý ÅðéðÝäïõ .......................................................................................................... 40
1.6 Ëïãéóìéêü.......................................................................................................................................................... 41
1.6.1 Ëïãéóìéêü ÓõóôÞìáôïò ....................................................................................................................41
1.6.2 Ëïãéóìéêü Åöáñìïãþí ....................................................................................................................46
1.7 Ó÷åäßáóç Ëïãéóìéêïý (Software Engineering) .............................................................................46
1.7.1 Éåñáñ÷éêü ìïíôÝëï ó÷åäßáóçò, äïìéêÜ äéáãñÜììáôá êáé äéáãñÜììáôá ñïÞò
äåäïìÝíùí .......................................................................................................................................................... 49
1.7.2 ÓõíáñôÞóåéò ........................................................................................................................................ 50
1.8 Ç ãëþóóá C, ANSI C êáé ïé ìåôáãëùôôéóôÝò ôçò C ..............................................................52
1.8.1 C êáé ANSI C ....................................................................................................................................... 52
1.8.2 ÌåôáãëùôôéóôÝò ôçò C .................................................................................................................. 52
1.9 Ó÷åôéêÜ ìå ôï âéâëßï & ðþò íá ìÜèåôå üóï ôï äõíáôü ðåñéóóüôåñá áðü áõôü .... 55
1.9.1 Ôá ìáèÞìáôá ............................................................................................................................................56
1.9.2 Ôá ðñïãñÜììáôá åöáñìïãþí ........................................................................................................56
ÁÓÊÇÓÅÉÓ ÅÖÁÑÌÏÃÙÍ ................................................................................................................................. 57
ÊÅÖÁËÁÉÏ 2 ............................................................................................................. 61
ÅéóáãùãÞ – ÄïìÞ ðñïãñÜììáôïò, óõããñáöÞ ðñïãñáììÜôùí êáé ó÷ïëßùí .................61
ÌÁÈÇÌÁ 2.1 ÂÁÓÉÊÇ ÄÏÌÇ ..................................................................................................................... 61
ÌÁÈÇÌÁ 2.2 ÃÑÁÖÏÍÔÁÓ Ó×ÏËÉÁ...................................................................................................... 71
ÌÁÈÇÌÁ 2.3 ÌÏÑÖÏÐÏÉÙÍÔÁÓ ÔÇÍ ÅÎÏÄÏ .............................................................................. 77
16
ÌÁÈÇÌÁ 2.4 ÐÅÑÉÓÓÏÔÅÑÁ ÃÉÁ ÔÉÓ ÁÊÏËÏÕÈÉÅÓ ÄÉÁÖÕÃÇÓ .......................................... 80
ÌAÈÇÌÁ 2.5 ÅÐÁÍAËÇØÇ ÔÏÕ ÊÅÖÁËÁIÏÕ ÊÁÉ Ó×OËÉÁ Ó×ÅÔÉÊA ÌÅ ÔÁ ËAÈÇ
ÊÁÉ ÔÇÍ ÁÐÏÓÖÁËÌAÔÙÓÇ. ...................................................................................................................... 85
ÐÑÏÃÑÁÌÌÁ ÅÖÁÑÌÏÃÇÓ 2.1 ÅÊÔÕÐÙÓÇ ËÏÃÏÔÕÐÏÕ ÅÔÁÉÑÉÁÓ ÓÔÇÍ ÏÈÏÍÇ .. 90
ÐÑÏÃÑÁÌÌÁ ÅÖÁÑÌÏÃÇÓ 2.2 ÁÐÏÓÖÁËÌÁÔÙÓÇ .................................................................. 92
ÊÅÖÁËÁÉÏ 3 .......................................................................................................... 107
Óôïé÷åßá ôçò ãëþóóáò C – ÌåôáâëçôÝò, ÁñéèìçôéêÝò ÐñÜîåéò, ÌáèçìáôéêÝò ÓõíáñôÞóåéò êáé óõíáñôÞóåéò Åéóüäïõ - Åîüäïõ. ........................................................ 107
ÌÁÈÇÌÁ 3.1 ÌÅÔÁÂËÇÔÅÓ: ÏÍÏÌÁÓÉÁ, ÄÇËÙÓÇ, ÅÊ×ÙÑÇÓÇ & ÅÌÖÁÍÉÓÇ ÔÉÌÙÍ 107
ÌÁÈÇÌÁ 3.2 ÌÁÊÑÏÅÍÔÏËÅÓ ÓÔÁÈÅÑÙÍ & ÅÌÖÁÍÉÓÇ ÔÉÌÙÍ ÌÅÔÁÂËÇÔÙÍ 118
ÌÁÈÇÌÁ 3.3 ÁÑÉÈÌÇÔÉÊÏÉ ÔÅËÅÓÔÅÓ ÊÁÉ ÅÊÖÑÁÓÅÉÓ ..................................................... 130
ÌÁÈÇÌÁ 3.4 ÌÉÊÔÏÕ ÔÕÐÏÕ ÁÑÉÈÌÇÔÉÊÇ, ÓÕÍÈÅÔÅÓ ÅÍÔÏËÅÓ ÅÊ×ÙÑÇÓÇÓ,
ÉÅÑÁÑ×ÉÁ ÔÅËÅÓÔÙÍ, ÌÅÔÁÔÑÏÐÇ ÔÕÐÙÍ ................................................................................. 137
ÌÁÈÇÌÁ 3.6 ÁÍÁÃÍÙÓÇ ÄÅÄÏÌÅÍÙÍ ÁÐÏ ÁÑ×ÅÉÏ ......................................................... 159
ÌÁÈÇÌÁ 3.7 ÌÁÈÇÌÁÔÉÊÅÓ ÓÕÍÁÑÔÇÓÅÉÓ ÂÉÂËÉÏÈÇÊÇÓ ............................................ 166
ÌÁÈÇÌÁ 3.8 ÅÃÃÑÁÖÇ ÄÅÄÏÌÅÍÙÍ ÅÎÏÄÏÕ ÓÅ ÁÑ×ÅÉÏ ............................................. 173
ÌÁÈÇÌÁ 3.9 ÄÅÄÏÌÅÍÁ ÁÐËÙÍ ×ÁÑÁÊÔÇÑÙÍ ................................................................... 177
ÐÑÏÃÑÁÌÌÁ ÅÖÁÑÌÏÃÇÓ 3.1 ÕÐÏËÏÃÉÓÌÏÓ ÅÌÂÁÄÏÕ – ÓÕÍÈÅÔÏÉ ÔÅËÅÓÔÅÓ
ÊÁÉ ÁÍÁÐÔÕÎÇ ÐÑÏÃÑÁÌÌÁÔÏÓ (1) ................................................................................................ 194
ÐÑÏÃÑÁÌÌÁ ÅÖÁÑÌÏÃÇÓ 3.2 ÌÅÔÁÔÑÏÐÇ ÌÏÍÁÄÙÍ ÈÅÑÌÏÊÑÁÓÉÁÓ – ÓÕÍÈÅÔÏÉ ÔÅËÅÓÔÅÓ ÊÁÉ ÁÍÁÐÔÕÎÇ ÐÑÏÃÑÁÌÌÁÔÏÓ (2) ............................................................ 198
ÐÑÏÃÑÁÌÌÁ ÅÖÁÑÌÏÃÇÓ 3.3 ÁÍÔÉÓÔÁÓÇ ÔÑÉÂÇÓ – ÁÑÉÈÌÇÔÉÊÏÉ ÔÅËÅÓÔÅÓ,
FSCANF ÊÁÉ ÌÁÊÑÏÅÍÔÏËÅÓ ÓÔÁÈÅÑÙÍ ................................................................................... 203
ÊÅÖÁËÁÉÏ 4 .......................................................................................................... 217
ËÞøç ÁðïöÜóåùí êáé ÅêôÝëåóç Âñü÷ùí ............................................................ 217
ÌÁÈÇÌÁ 4.1 ÄÏÌH ÅËEÃ×ÏÕ IF ÊÁÉ ÅÊÖÑAÓÅÉÓ Ó×EÓÅÙÍ ....................................... 217
ÌÁÈÇÌÁ 4.2 ÁÐËEÓ ÄÏÌEÓ ÅËEÃ×ÏÕ IF-ELSE ..................................................................... 223
ÌAÈÇÌÁ 4.3 ÔÏÐÏÈEÔÇÓÇ ÄÏÌÙÍ ÅËÅÃ×ÏÕ IF-ELSE ÌEÓÁ ÓÅ AËËÅÓ ÄÏÌEÓ
ÅËEÃ×ÏÕ IF-ELSE ........................................................................................................................................... 227
ÌAÈÇÌÁ 4.4 ËÏÃÉÊEÓ ÅÊÖÑAÓÅÉÓ ................................................................................................... 232
ÌAÈÇÌÁ 4.5 ÁÊÏËÏÕÈÉÁ ËÏÃÉÊÙÍ ÔÅËÅÓÔÙÍ .................................................................. 236
ÌAÈÇÌÁ 4.6 ÌÅÔÁÃÙÃH IF-ELSE-IF ÄÏÌEÓ ÅËEÃ×ÏÕ ÑÏHÓ....................................... 243
ÌAÈÇÌÁ 4.7 ÂÑO×ÏÉ WHILE (ÌEÑÏÓ 1) ..................................................................................... 252
ÌAÈÇÌÁ 4.8 ÂÑÏ×ÏÉ WHILE (ÌEÑÏÓ 2).................................................................................... 257
ÌAÈÇÌÁ 4.9 ÂÑO×ÏÉ DO-WHILE ....................................................................................................... 262
ÌAÈÇÌÁ 4.10 ÁÐËÏI ÂÑO×ÏÉ FOR ............................................................................................... 266
ÌAÈÇÌÁ 4.11 ÔÏÐÏÈEÔÇÓÇ ÂÑO×ÙÍ FOR ÓÔÏ ÅÓÙÔÅÑÉÊO AËËÙÍ ÂÑO×ÙÍ
FOR ........................................................................................................................................................................... 273
Ðñüâëçìá ÅöáñìïãÞò 4.1 ÔïìÞ äïêþí - ÄïìÞ ÅëÝã÷ïõ if-else ...................................... 282
Ðñüãñáììá ÅöáñìïãÞò 4.2 Õðïëïãéóìüò Åìâáäþí (1) - Bñü÷ïò for .......................... 287
Ðñüãñáììá ÅöáñìïãÞò 4.3 Õðïëïãéóìüò Åìâáäïý (2) - Âñü÷ïò for ........................... 290
17
Ðñüãñáììá ÅöáñìïãÞò 4.4 ÌåôáôñïðÝò ÌïíÜäùí Èåñìïêñáóßáò-Âñü÷ïò for ...... 293
Ðñüãñáììá ÅöáñìïãÞò 4.5 ÏéêïíïìéêÞ Ìç÷áíéêÞ: Õðïëïãéóìüò Ôüêïõ - Âñü÷ïé for
ìÝóá óå Üëëïõò âñü÷ïõò for ..................................................................................................................... 296
Ðñüãñáììá ÅöáñìïãÞò 4.6 ÌáèçìáôéêÝò ÓåéñÝò - Âñü÷ïò for, Âñü÷ïò do-while, ÄïìÝò ÅëÝã÷ïõ if-else (ÐáñÜäåéãìá ÁñéèìçôéêÞò Ìåèüäïõ) ........................................................ 305
Ðñüãñáììá ÅöáñìïãÞò 4.8 ÏéêïíïìéêÞ Ìç÷áíéêÞ, Õðïëïãéóìüò Öüñïõ - ÄïìÝò ÅëÝã÷ïõ ÌåôÜâáóçò êáé if-else-if. Óýíèåôåò ÅêöñÜóåéò Ó÷Ýóåùí ................................................. 318
ÁÓÊÇÓÅÉÓ ÅÖÁÑÌÏÃÇÓ ............................................................................................................................... 325
ÊÅÖÁËÁÉÏ 5 .......................................................................................................... 331
ÓõíáñôÞóåéò (Functions) ....................................................................................... 331
ÌÁÈÇÌÁ
ÌÁÈÇÌÁ
ÌÁÈÇÌÁ
ÌÁÈÇÌÁ
5.1
5.2
5.3
5.4
ÓÕÍÁÑÔÇÓÅÉÓ ÐÏÕ ÄÅÍ ÅÐÉÓÔÑÅÖÏÕÍ ÊÁÐÏÉÁ ÔÉÌÇ ...................... 334
ÓÕÍÁÑÔÇÓÅÉÓ ÐÏÕ ÅÐÉÓÔÑÅÖÏÕÍ ÌÏÍÏ ÌÉÁ ÔÉÌÇ ........................... 353
ÅÌÂÅËÅÉÁ & ÌÇ×ÁÍÉÊÇ ÌÅÔÁÂÉÂÁÓÇÓ ÔÉÌÙÍ ÓÅ ÓÕÍÁÑÔÇÓÅÉÓ 361
ÓÕÍÁÑÔÇÓÅÉÓ ÐÏÕ “ÅÐÉÓÔÑÅÖÏÕ͔ ÐÅÑÉÓÓÏÔÅÑÅÓ ÁÐÏ ÌÉÁ ÔÉÌÅÓ
369
ÌÁÈÇÌÁ 5.5 ÌÇ×ÁÍÉÊÇ ÔÇÓ “ÅÐÉÓÔÑÏÖÇӔ ÐÅÑÉÓÓÏÔÅÑÙÍ ÁÐÏ ÌÉÁ ÔÉÌÇÓ ÁÐÏ
ÌÉÁ ÓÕÍÁÑÔÇÓÇ – ÄÉÅÕÈÕÍÓÅÉÓ ÊÁÉ ÌÅÔÁÂËÇÔÅÓ ÄÅÉÊÔÙÍ. ..................................... 374
ÐÑÏÃÑÁÌÌÁ ÅÖÁÑÌÏÃÇÓ 5.1 ÔÏ ÏÐÏÉÏ ÌÅÔÁÂÉÂÁÆÅÉ ÐÏËËÅÓ ÔÉÌÅÓ ÓÅ ÌÉÁ
ÓÕÍÁÑÔÇÓÇ ÊÁÉ ÅÐÉÓÔÑÅÖÅÉ ÌÉÁ ÔÉÌÇ – ÏËÏÊËÇÑÙÓÇ ÌÅ ÔÏÍ ÊÁÍÏÍÁ ÔÏÕ
ÔÑÁÐÅÆÉÏÕ (ÐÁÑÁÄÅÉÃÌÁ ÁÑÉÈÌÇÔÉÊÇÓ ÌÅÈÏÄÏÕ) ........................................................... 384
ÐÑÏÃÑÁÌÌÁ ÅÖÁÑÌÏÃÇÓ 5.2 ×ÑÇÓÉÌÏÐÏÉÙÍÔÁÓ ÓÕÍÁÑÔÇÓÅÉÓ ÌÅ ÓÕÍÈÅÔÏÕÓ
ÂÑÏ×ÏÕÓ, ÅÑÃÁÆÏÌÅÍÏÉ ÌÅ ÐËÅÃÌÁÔÁ, ÅÍÁ ËÏÃÉÊÏ ÐÁÑÁÄÅÉÃÌÁ ....................390
ÐÑÏÃÑÁÌÌÁ ÅÖÁÑÌÏÃÇÓ 5.3 ÔÌÇÌÁÔÉÊÇ Ó×ÅÄÉÁÓÇ ÐÑÏÃÑÁÌÌÁÔÏÓ (MODULAR
PROGRAM DESIGN) – ÅÌÂÁÄÏÍ ÐÁÑÁËËÇËÏÃÑÁÌÌÏÕ, ÏÃÊÏÓ ÐÁÑÁËËÇËÅÐÉÐÅÄÏÕ (ÐÁÑÁÄÅÉÃÌÁ ÁÑÉÈÌÇÔÉÊÇÓ ÌÅÈÏÄÏÕ) ........................................................................... 399
ÁÓÊÇÓÅÉÓ ÅÖÁÑÌÏÃÇÓ ............................................................................................................................... 416
ÊÅÖÁËÁÉÏ 6 .......................................................................................................... 429
Áñéèìçôéêïß ðßíáêåò ............................................................................................... 429
ÌÁÈÇÌÁ 6.1. ÅÉÓÁÃÙÃÇ ÓÔÏÕÓ ÌÏÍÏÄÉÁÓÔÁÔÏÕÓ ÐÉÍÁÊÅÓ ÊÁÉ ÅÊÔÕÐÙÓÇ ÔÙÍ
ÓÔÏÉ×ÅÉÙÍ ÐÉÍÁÊÁ. ....................................................................................................................................... 430
ÌÁÈÇÌÁ 6.2 ÁÑ×ÉÊÏÐÏÉÇÓÇ ÐÉÍÁÊÁ .......................................................................................... 438
ÌÁÈÇÌÁ 6.3 ÂÁÓÉÊÇ ÅÉÓÏÄÏÓ/ÅÎÏÄÏÓ ÐÉÍÁÊÁ .................................................................... 444
ÌÁÈÇÌÁ 6.4 ÐÏËÕÄÉÁÓÔÁÔÏÉ ÐÉÍÁÊÅÓ ........................................................................................ 453
ÌÁÈÇÌÁ 6.5 ÓÕÍÁÑÔÇÓÅÉÓ ÊÁÉ ÌÏÍÏÄÉÁÓÔÁÔÏÉ ÐÉÍÁÊÅÓ .......................................... 465
ÌÁÈÇÌÁ 6.6 ÓÕÍÁÑÔÇÓÅÉÓ ÊÁÉ ÐÉÍÁÊÅÓ ÄÕÏ ÄÉÁÓÔÁÓÅÙÍ ....................................... 473
ÌÁÈÇÌÁ 6.7 ÔÁÎÉÍÏÌÇÓÇ ÖÕÓÁËÉÄÁÓ, ÔÁÎÉÍÏÌÇÓÇ ÁÍÔÁËËÁÃÇÓ ÌÅÃÉÓÔÏÕ
ÊÁÉ ÔÁÎÉÍÏÌÇÓÇ ÁÍÔÁËËÁÃÇÓ ÅËÁ×ÉÓÔÏÕ .............................................................................. 482
ÐÁÑÁÄÅÉÃÌÁ ÅÖÁÑÌÏÃÇÓ 6.1 ÃÑÁÌÌÉÊÇ ÐÁÑÅÌÂÏËÇ - ÅÊÔÉÌÇÓÇ ÄÅÄÏÌÅÍÙÍ
ÌÅÔÑÇÓÇÓ ÔÁÓÇÓ .......................................................................................................................................... 493
ÐÁÑÁÄÅÉÃÌÁ ÅÖÁÑÌÏÃÇÓ 6.2 ÌÅÓH & ÌÅÓÁÉÁ ÔÉÌÇ ÔÙÍ ÕØÙÍ ÊÕÌÁÔÙÍ .. 498
ÐÁÑÁÄÅÉÃÌÁ ÅÖÁÑÌÏÃÇÓ 6.3 ÐÏËËÁÐËÁÓÉÁÓÌÏÓ ÐÉÍÁÊÙÍ ÄÉÁÍÕÓÌÁÔÙÍ .. 506
18
ÐÁÑÁÄÅÉÃÌÁ ÅÖÁÑÌÏÃÇÓ 6.4 ÃÑÁÌÌÇ ÂÅËÔÉÓÔÇÓ ÐÑÏÓÁÑÌÏÃÇÓ - ÃÑÁÌÌÉÊÇ
ÐÁËÉÍÄÑÏÌÇÓÇ, ÄÏÌÇÌÅÍÏÓ Ó×ÅÄÉÁÓÌÏÓ ............................................................................. 511
ÐÁÑÁÄÅÉÃÌÁ ÅÖÁÑÌÏÃÇÓ 6.5 ÁÍÁÆÇÔÇÓÇ ÊÁÉ ÓÕÌÐÉÅÓÇ ÁÑ×ÅÉÙÍ .................. 524
ÁÓÊÇÓÅÉÓ ÅÖÁÑÌÏÃÇÓ ............................................................................................................................... 533
ÊÅÖÁËÁÉÏ 7 .......................................................................................................... 541
ÓõìâïëïóåéñÝò êáé äåßêôåò ................................................................................... 541
ÌÁÈÇÌÁ 7.1 ÄÇËÙÓÇ, ÁÑ×ÉÊÏÐÏÉÇÓÇ ÊÁÉ ÅÊÔÕÐÙÓÇ ÓÕÌÂÏËÏÓÅÉÑÙÍ-ÊÁÔÁÍÏÇÓÇ ÔÇÓ ÄÉÅÕÈÅÔÇÓÇÓ ÔÇÓ ÌÍÇÌÇÓ .................................................................................... 541
MAÈÇÌÁ 7.2 ÊÁÈÏÑÉÓÌÏÓ ÔÙÍ ÐËÇÑÏÖÏÑÉÙÍ ÃÉÁ ÔÉÓ ÓÕÌÂÏËÏÓÅÉÑÅÓ & ÔÏÕÓ
×ÁÑÁÊÔÇÑÅÓ, ÊÁÉ ×ÑÇÓÇ ÔÇÓ PRINTF .......................................................................................... 554
ÌÁÈÇÌÁ 7.3 ÐÉÍÁÊÅÓ ×ÁÑÁÊÔÇÑÙÍ ÌÅ ÄÕÏ ÄÉÁÓÔÁÓÅÉÓ ........................................... 564
ÌÁÈÇÌÁ 7.4 ÁÍÁÃÍÙÓÇ ÓÕÌÂÏËÏÓÅÉÑÙÍ ÁÐÏ ÔÏ ÐËÇÊÔÑÏËÏÃÉÏ ÊÁÉ ÁÐÏ
ÁÑ×ÅÉÁ .................................................................................................................................................................... 572
ÌÁÈÇÌÁ 7.5 ÌÅÔÁÂËÇÔÅÓ ÄÅÉÊÔÇ ÊÁÉ ÌÅÔÁÂËÇÔÅÓ ÐÉÍÁÊÁ ................................. 583
ÌÁÈÇÌÁ 7.6 ÁÑ×ÉÊÏÐÏÉÇÓÇ ÌÅÓÙ ÄÇËÙÓÇÓ ........................................................................ 593
ÌÁÈÇÌÁ 7.7 ÌÅÔÁÂÉÂÁÓÇ ÓÕÌÂÏËÏÓÅÉÑÙÍ ÓÅ ÓÕÍÁÑÔÇÓÅÉÓ ÐÏÕ ÊÁÈÏÑÉÆÏÍÔÁÉ ÁÐÏ ÔÏ ×ÑÇÓÔÇ ................................................................................................................................ 601
ÌÁÈÇÌÁ 7.8 ÔÕÐÉÊÅÓ ÓÕÍÁÑÔÇÓÅÉÓ ÃÉÁ ÓÅÉÑÅÓ ×ÁÑÁÊÔÇÑÙÍ ............................... 610
ÌÁÈÇÌÁ 7.9 ÓÇÌÅÉÏÃÑÁÖÉÁ ÄÅÉÊÔÙÍ ÅÍÁÍÔÉ ÓÇÌÅÉÏÃÑÁÖÉÁÓ ÐÉÍÁÊÁ ............ 626
ÌÁÈÇÌÁ 7.10 ÄÕÍÁÌÉÊÇ ÊÁÔÁÍÏÌÇ ÌÍÇÌÇÓ ...................................................................... 639
ÐÑÏÃÑÁÌÌÁ ÅÖÁÑÌÏÃÇÓ 7.1 ÄÇÌÉÏÕÑÃÉÁ ÅÍÏÓ ÐÑÏÃÑÁÌÌÁÔÏÓ ÔÕÐÏÕ ËÏÃÉÓÔÉÊÏÕ ÖÕËËÏÕ - ÐÑÁÎÅÉÓ ÌÅ ÌÅÌÏÍÙÌÅÍÏÕÓ ×ÁÑÁÊÔÇÑÅÓ ................................ 652
ÐÑÏÃÑÁÌÌÁ ÅÖÁÑÌÏÃÇÓ 7.2 ÐÑÏÃÑÁÌÌÁ ÌÅÔÁÔÑÏÐÇÓ ÌÏÍÁÄÙÍ - ÐÑÁÎÅÉÓ
ÌÅ ÓÕÌÂÏËÏÓÅÉÑÅÓ .................................................................................................................................... 662
ÐÑÏÃÑÁÌÌÁ ÅÖÁÑÌÏÃÇÓ 7.3 ÔÁ×ÕÔÇÔÁ ÑÏÇÓ ÑÅÕÓÔÏÕ ÓÅ ÓÙËÇÍÁ, ÅËÅÃ×ÏÓ ÄÅÄÏÌÅÍÙÍ ÅÉÓÏÄÏÕ, ÄÏÌÇÌÅÍÏÓ Ó×ÅÄÉÁÓÌÏÓ .................................................. 668
ÐÑÏÃÑÁÌÌÁ ÅÖÁÑÌÏÃÇÓ 7.4 ÁÍÁËÕÓÇ ÁÍÅÊÄÏÔÇÓ ÓÅÉÓÌÉÊÇÓ ÁÍÁÖÏÑÁÓ,
ÐÑÁÎÅÉÓ ÌÅ ÓÕÌÂÏËÏÓÅÉÑÅÓ ÊÁÉ ×ÑÇÓÇ ÄÕÍÁÌÉÊÇÓ ÁÐÏÈÇÊÅÕÓÇÓ ................ 680
ÁÓÊÇÓÅÉÓ ÅÖÁÑÌÏÃÇÓ ............................................................................................................................... 697
ÊÅÖÁËÁÉÏ 8 .......................................................................................................... 705
ÄïìÝò ÄåäïìÝíùí & Ó÷åäßáóç ÌåãÜëùí ÐñïãñáììÜôùí .................................. 705
ÌÁÈÇÌÁ 8.1 ÄÏÌÅÓ: ÏÑÉÓÌÏÓ, ÁÐÏÄÏÓÇ ÁÑ×ÉÊÙÍ ÔÉÌÙÍ, ÁÍÁÃÍÙÓÇ ÊÁÉ ÅÊÔÕÐÙÓÇ ........................................................................................................................................................................ 708
ÌÁÈÇÌÁ 8.2 ÄÏÌÅÓ ÊÁÉ ÄÅÉÊÔÅÓ ÙÓ ÌÅËÇ ÄÏÌÙÍ ....................................................... 717
ÌAÈÇÌÁ 8.3 ÄÅIÊÔÅÓ ÓÅ ÄÏÌEÓ .................................................................................................... 722
ÌAÈÇÌÁ 8.4 ÄÏÌEÓ ÊÁÉ ÓÕÍÁÑÔHÓÅÉÓ ...................................................................................... 726
ÌAÈÇÌÁ 8.5 ÓÅÉÑEÓ ÄÏÌÙÍ ............................................................................................................... 728
ÌAÈÇÌÁ 8.6 ÄÇÌÉÏÕÑÃÉÁ ÓÕÆÅÕÃÌÅÍÏÕ ÊÁÔÁËÏÃÏÕ .................................................. 732
ÌAÈÇÌÁ 8.7 ÓÔÏÉÂÅÓ ............................................................................................................................... 745
Ì¢ÈÇÌÁ 8.8 ÏÕÑEÓ (QUEUES) ........................................................................................................ 752
ÌAÈÇÌÁ 8.9 ÄÕÁÄÉÊÁ ÄÅÍÔÑÁ ......................................................................................................... 757
ÌAÈÇÌÁ 8.10 ÓÕÍÁÑÔHÓÅÉÓ ÌÅ ÌÉÁ ÊËÇÓÇ ÐÁËÉÍÄÑÏÌÇÓÇÓ ................................ 772
ÌAÈÇÌÁ 8.11 ÄÇÌÉÏÕÑÃÉÁ ÁÑ×ÅÉÙÍ ÅÐÉÊÅÖÁËÉÄÙÍ ....................................................... 782
19
ÌAÈÇÌÁ 8.12 ×ÑÇÓÉÌÏÐÏÉÇÓÇ ÐÏËËÁÐËÙÍ ÁÑ×ÅÉÙÍ ÐÇÃÁÉÏÕ ÊÙÄÉÊÁ ÊÁÉ ÊËÁÓÅÙÍ ÁÐÏÈÇÊÅÕÓÇÓ .................................................................................................................................. 785
ÌAÈÇÌÁ 8.13 ÅÐÅÎÅÑÃÁÓIÁ BITS ÓÔÇ ÃËÙÓÓÁ C .............................................................. 789
ÌAÈÇÌÁ 8.14 ÄÕÁÄÉÊA ÁÑ×ÅIÁ ........................................................................................................ 802
ÌAÈÇÌÁ 8.15 ÄÅÉÊÔÅÓ ÓÅ ÓÕÍÁÑÔÇÓÅÉÓ ÊÁÉ ÓÕÍÁÑÔÇÓÅÉÓ ÐÏÕ ÅÐÉÓÔÑÅÖÏÕÍ
ÄÅÉÊÔÅÓ ................................................................................................................................................................. 810
ÌAÈÇÌÁ 8.16 ÄÅIÊÔÅÓ ÓÅ ÐÉÍÁÊÅÓ .............................................................................................. 816
ÌAÈÇÌÁ 8.17 ÄÅIÊÔÅÓ ÓÅ ÄÅIÊÔÅÓ .............................................................................................. 821
ÐÑOÃÑÁÌÌÁ ÅÖÁÑÌÏÃHÓ 8.1 OÑÉÁ ÕÐOÃÅÉÙÍ ÈÕËAÊÙÍ ÌOËÕÍÓÇÓ: ÐÑÏÓÄÉÏÑÉÓÌÏÓ ÅAÍ EÍÁ ÓÇÌÅIÏ ÁÍHÊÅÉ ÓÅ EÍÁ ÐÏËYÃÙÍÏ (ÁÑÉÈÌÇÔÉÊO ÐÁÑAÄÅÉÃÌÁ).....................................................................................824
ÐÑOÃÑÁÌÌÁ ÅÖÁÑÌÏÃÇÓ 8.2 ÐÁËÉÍÄÑÏÌÉÊÇ ÓÕÍÁÑÔÇÓÇ - ÕÐÏËÏÃÉÓÌÏÓ ÔÇÓ
ÐÏÓÏÔÇÔÁÓ ð (ÐÁÑAÄÅÉÃÌÁ ÁÑÉÈÌÇÔÉÊHÓ ÌÅÈOÄÏÕ)..................................................836
ÐÑÏÃÑÁÌÌÁ ÅÖÁÑÌÏÃÇÓ 8.3 ÁÍÁÄÉÁÔÁÎÇ ÁÑÉÈÌÙÍ-ÁËÃÏÑÉÈÌÏÓ Quicksort
844
ÐÑOÃÑÁÌÌÁ ÅÖÁÑÌÏÃHÓ 8.4 ÅÊÔÅËÅÓÇ ÁÑÉÈÌÇÔÉÊÙÍ ÐÑÁÎÅÙÍ ×ÑÇÓÉÌÏÐÏÉ¿ÍÔÁÓ ÄÕÁÄÉÊÏ ÄÅÍÔÑÏ ............................................................................................................................ 857
ÁÓÊÇÓÅÉÓ ÅÖÁÑÌÏÃÇÓ ............................................................................................................................... 866
ÊÅÖÁËÁÉÏ 9 ............................................................................................................... *
ÅéóáãùãÞ óôç C++ ...................................................................................................... *
ÐáñÜñôçìá Á .......................................................................................................... 871
Ïé ôåëåóôÝò ôçò ãëþóóáò C ................................................................................. 871
ÐáñÜñôçìá  .......................................................................................................... 874
Ðßíáêáò ÷áñáêôÞñùí ASCII .................................................................................. 874
ÐáñÜñôçìá C .......................................................................................................... 877
ÓõíáñôÞóåéò êáé ÌáêñïåíôïëÝò êáôÜ ôï Ðñüôõðï ANSI .................................. 877
ÅÕÑÅÔÇÑÉÏ ............................................................................................................ 883
* Äéáôßèåôáé ìüíï óôçí éóôïóåëßäá ôçò McGraw-Hill,
http://www.mhhe.com/engcs/general/best/tandorazio.mhtml
20