Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PASСAL_a4_2007.doc
Скачиваний:
31
Добавлен:
13.09.2019
Размер:
2.51 Mб
Скачать

Теоретическая работа а. Что такое «программирование»

“Бе­се­ды с ком­пь­ю­те­ром”, “диа­лог с ЭВМ”... Вам, на­вер­ное, не раз при­хо­ди­лось чи­тать или слы­шать по­доб­ные сло­во­со­че­та­ния. Дей­ст­ви­тель­но, с ком­пь­ю­те­ром мож­но об­щать­ся, как с кни­гой, как с кол­ле­гой, как с со­бе­сед­ни­ком. Раз­ные лю­ди об­ща­ют­ся с ком­пь­ю­те­ром по-раз­но­му: кто-то лю­бит по­иг­рать, ко­му-то не­об­хо­ди­мо оты­скать нуж­ную ин­фор­ма­цию, ко­му-то прой­ти пси­хо­ло­ги­че­ское тес­ти­ро­ва­ние. Сло­вом, су­ще­ст­ву­ют са­мые раз­но­об­раз­ные спо­со­бы об­ще­ния че­ло­ве­ка с ком­пь­ю­те­ром и оп­ре­де­ля­ют­ся они, как Вы уже знае­те, тем, ка­кая про­грам­ма “ра­бо­та­ет” в ком­пь­ю­те­ре. А для то­го, что­бы эту про­грам­му создать, ну­жен про­фес­сио­нал - про­грам­мист. У про­грам­ми­стов есть свои спе­ци­аль­ные спо­со­бы об­ще­ния с ЭВМ, так на­зы­вае­мые язы­ки про­грам­ми­ро­ва­ния. Ес­ли об­ра­тить­ся к ис­то­рии раз­ви­тия вы­чис­ли­тель­ной тех­ни­ки, то она уве­дет нас к вре­ме­нам глу­бо­кой древ­но­сти, ко­гда лю­ди при­ду­ма­ли про­стей­шие ин­ст­ру­мен­ты для ус­ко­ре­ния и уп­ро­ще­ния вы­чис­ле­ний. Это бы­ли па­лоч­ки, кам­ни, а за­тем абак и сче­ты. Все эти сред­ст­ва не столь­ко ус­ко­ря­ли счет, сколь­ко по­мо­га­ли за­по­ми­нать про­ме­жу­точ­ные ре­зуль­та­ты, т. е., вы­ра­жа­ясь со­вре­мен­ным язы­ком, вы­пол­ня­ли роль “опе­ра­тив­ной па­мя­ти”, а роль “про­цес­со­ра” вы­пол­нял сам че­ло­век. Позд­нее поя­ви­лись ме­ха­ни­че­ские, а срав­ни­тель­но не­дав­но и элек­трон­ные вы­чис­ли­тель­ные уст­рой­ст­ва, вклю­чаю­щие в се­бя и про­цес­сор, и элек­трон­ную па­мять.

Ме­ха­ни­че­ские вы­чис­ле­ния осу­ще­ст­в­ля­лись так: для вы­пол­не­ния ка­ж­дой опе­ра­ции че­ло­век дол­жен был кру­тить руч­ку или на­жи­мать кноп­ки. Ко­гда же поя­ви­лась элек­трон­ная па­мять, американский математик Джон фон Ней­ман пред­ло­жил хра­нить в этой па­мя­ти не толь­ко дан­ные, но и за­ко­ди­ро­ван­ную в ви­де цифр по­сле­до­ва­тель­ность дей­ст­вий, т.е. про­грам­му для вы­чис­ле­ний. Этот прин­цип ис­поль­зу­ет­ся во всех со­вре­мен­ных ком­пь­ю­те­рах и мик­ро­про­цес­сор­ных сис­те­мах и но­сит на­зва­ние прин­ци­па фон Ней­ма­на.

По ме­ре то­го как рос­ла мощ­ность вы­чис­ли­тель­ных ма­шин, уве­ли­чи­ва­лась и слож­ность про­грамм. Поя­ви­лась про­фес­сия про­грам­ми­ста, т. е. поя­ви­лись лю­ди, ос­нов­ным за­ня­ти­ем ко­то­рых бы­ло со­став­ле­ние про­грамм для ЭВМ. Для об­лег­че­ния и ус­ко­ре­ния этой ра­бо­ты бы­ло пред­ло­же­но ­ко­ди­ро­вать ка­ж­дую ко­ман­ду не циф­ра­ми, а бу­к­ва­ми, на­при­мер: ADD - сло­жить, SUB - вы­честь и т.п. (со­кра­ще­ния от со­от­вет­ст­вую­щих анг­лий­ских слов). Так че­ло­ве­ку удоб­нее за­по­ми­нать боль­шое ко­ли­че­ст­во ко­манд, а для “пе­ре­во­да” та­кой про­грам­мы в “при­выч­ный” для ЭВМ циф­ро­вой вид мож­но на­пи­сать не­слож­ную про­грам­му. Та­кие спо­со­бы ко­ди­ро­ва­ния ко­манд по­лу­чи­ли на­зва­ние язы­ков про­грам­ми­ро­ва­ния “низ­ко­го уров­ня”. Это но­во­вве­де­ние не­сколь­ко об­лег­чи­ло труд про­грам­ми­стов, но соз­да­ние боль­ших про­грамм и це­лых про­грамм­ных ком­плек­сов ос­та­ва­лось де­лом чрез­вы­чай­но тру­до­ем­ким. Сре­ди про­грам­ми­стов поя­ви­лись спе­циа­ли­сты по соз­да­нию ал­го­рит­мов и “ко­ди­ров­щи­ки” - лю­ди, ко­то­рые за­ни­ма­лись пе­ре­во­дом ал­го­рит­мов, за­пи­сан­ных, как пра­ви­ло, в ви­де блок-схем, на язы­ки низ­ко­го уров­ня. Сле­дую­щим ша­гом бы­ла идея пе­ре­дать функ­ции “ко­ди­ров­щи­ка” са­мой ЭВМ. Для это­го по­тре­бо­ва­лось раз­ра­бо­тать пра­ви­ла за­пи­си про­грамм, с од­ной сто­ро­ны, удоб­ные для че­ло­ве­ка, по­хо­жие на ес­те­ст­вен­ный че­ло­ве­че­ский язык, с дру­гой сто­ро­ны, дос­та­точ­но стро­гие, что­бы про­грам­мы мож­но бы­ло од­но­знач­но пе­ре­вес­ти на язык ЭВМ. Так воз­ник­ли язы­ки про­грам­ми­ро­ва­ния “вы­со­ко­го уров­ня”. Для пе­ре­во­да про­грамм с та­ких язы­ков на “ма­шин­ный” бы­ли соз­да­ны спе­ци­аль­ные про­грам­мы, на­зы­вае­мые транс­ля­то­ра­ми (от анг­лий­ско­го translate - пе­ре­во­дить).

Мож­но ли “за­ста­вить” ком­пь­ю­тер по­ни­мать “че­ло­ве­че­ский” язык (рус­ский, анг­лий­ский и т.п.), ины­ми сло­ва­ми, мож­но ли соз­дать транс­ля­тор, ко­то­рый мог бы пе­ре­во­дить с ес­те­ст­вен­но­го язы­ка на язык ма­шин­ных ко­манд? Раз­лич­ные язы­ки про­грам­ми­ро­ва­ния об­ла­да­ют раз­ной сте­пе­нью по­хо­же­сти на ес­те­ст­вен­ный, од­на­ко обя­за­тель­ным тре­бо­ва­ни­ем для язы­ка про­грам­ми­ро­ва­ния яв­ля­ет­ся оп­ре­де­лен­ность и од­но­знач­ность. Это зна­чит, что ка­ж­дая “фра­за”, на­пи­сан­ная на та­ком язы­ке, долж­на быть “по­ня­та” и ис­пол­не­на ком­пь­ю­те­ром, при­чем все­гда оди­на­ко­во. Ес­те­ст­вен­ные же че­ло­ве­че­ские язы­ки та­ким свой­ст­вом не об­ла­да­ют. Ска­зан­ное или на­пи­сан­ное по­ни­ма­ет­ся час­то по-раз­но­му в за­ви­си­мо­сти от кон­тек­ста, не го­во­ря уже о том, что да­ле­ко не ка­ж­дая фра­за тре­бу­ет от со­бе­сед­ни­ка ка­ких-ли­бо дей­ст­вий.

Пер­вым язы­ком про­грам­ми­ро­ва­ния “вы­со­ко­го уров­ня” был FORTRAN (со­кра­ще­ние от анг­лий­ских слов FORmula TRANslation - переводчик формул). Вслед за ним поя­ви­лось мно­же­ст­во дру­гих язы­ков, в на­стоя­щее вре­мя их на­счи­ты­ва­ет­ся не­сколь­ко со­тен. Ка­ж­дый из них пред­на­зна­чен для ре­ше­ния оп­ре­де­лен­но­го кру­га за­дач, на­при­мер: BASIC и FORTRAN - для вы­чис­ле­ний, PROLOG - для соз­да­ния сис­тем ис­кус­ст­вен­но­го ин­тел­лек­та, Pascal - для обу­че­ния про­грам­ми­ро­ва­нию, COBOL - для об­ра­бот­ки боль­ших объ­е­мов дан­ных.

Од­ним из со­вре­мен­ных ши­ро­ко рас­про­стра­нен­ных язы­ков про­грам­ми­ро­ва­ния яв­ля­ет­ся Pascal. Он был соз­дан на ру­бе­же 1960-1970-х го­дов швей­цар­ским уче­ным Ник­лау­сом Вир­том. В язы­ке Pascal со­сре­до­то­че­ны мно­гие луч­шие чер­ты язы­ков-пред­ше­ст­вен­ни­ков.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]