1 ÓåéñÜ BEST C ãéá Ìç÷áíéêïýò H.H. Tan - T.B. DOrazio ÅðéìÝëåéá ÌåôÜöñáóçò: ÄçìÞôñéïò E. ÌáíùëÜêçò ÊáèçãçôÞò ÔÅÉ Èåóóáëïíßêçò ôì. Áõôïìáôéóìïý ÅÊÄÏÓÅÉÓ ÔÆÉÏËÁ ÈÅÓÓÁËÏÍÉÊÇ ×áñßôùí Ì. ÐïëÜôïãëïõ Áí. ÊáèçãçôÞò Á.Ð.È. ôì. ÖõóéêÞò 2 Tßôëïò ðñùôïôýðïõ C Programming for Engineering & Computer Science, H.H. Tan - T.B. DOrazio Áðïêëåéóôéêüôçôá: ÅÊÄÏÓÅÉÓ ÔÆÉÏËÁ Êåíôñéêü: Öéëßððïõ 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
© Copyright 2024 Paperzz