Файл: Основы программирования на языке HTML (Определение языка программирования).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 30.04.2023

Просмотров: 49

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

ВВЕДЕНИЕ

Внынешнейжизнивстречаютсямногодействий,которыеисполняютсяпозаданнымсценариям–алгоритмам.Стоитотметить,чтоэтоможеттакжебытьиобычнаяпоследовательностьнекоторыхопераций,действий,которыемогутзависетьотусловий,самыхразныхциклическихоперации,повторивкоторые,можетбытьзатраченомноговремени,ареализоватьоптимизациютакогоалгоритманевсегдаполучается.

Вмиресуществуеточеньмногоязыковпрограммирования(ЯП)наданныймомент,хотяболееполовиныизнихприэтомимеетразницусдругимитольколишьпометодутрансляциикода,атакжеивсинтаксисенаписанияоператоров.

Стоитотметить,чтовпериодвысокихтехнологийавтоматизируютсяилиоптимизируютсямногиедействия.ВнынешнеевремяприиспользованииразныхЯПимеютсяпрекрасныевозможностидляупрощениясамыхразныхалгоритмов.

Актуальностьисследованиясостоитвпримененииязыковпрограммированиягипертекстовойразметки,а именно – HTML, таккаконявляетсяосновнымкомпонентомвсехсовременныхвеб-сайтов,атакжеегоизучения,чтосчитаетсякраеугольнымкамнемприподготовкеквалифицированныхспециалистовИТ-сферы.

Объекткурсовойработы–ЯПвысокогоуровня.

Предметработы–языкгипертекстовойразметкиHTML.

Цельработывданномисследовании–проведениеанализаосновныхпонятийязыкагипертекстовойразметкиHTML,егоиспользованиядляреализацииобработкиданных.

Всоответствиисцельювыделенызадачиисследования:

–рассмотретьлитературупотеорииЯПвысокогоуровня;

–выполнитьописаниетерминов,чтосвязаныспонятиемгипертекстовогоязыкапрограммирования;

–датьхарактеристикуязыкаразметкиHTML;

–провестирассмотрениеосновныхтеговдлягипертекстовойразметки;

–напримерерассмотретьприменениеязыкагипертекстовойразметкиHTML.

ВработеприменяетсяязыкHTML,таккаконвнынешнеевремя–одинизсамыхпопулярныхвмиреприсозданиисайтов.

Проблемуисследованияизучали:КоржинскийС.Н.[8],БелунцовВ.[11],ФроловА.В.[14].

1. ТЕОРЕТИЧЕСКИЕ ПОНЯТИЯ КЛАССИЧЕСКОЙ ТЕОРИИ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ

1.1. Определение языка программирования


Всепрограммысоздаютсяспомощьюспециальногомножестваобозначений–языковпрограммирования.

Вотличиеотчеловеческихязыков,всеЯПболеепростые,ведьсостоятизограниченногочисласлов,предназначенныхисключительнодлязаписиалгоритмов.

Стоитотметить,чтотакжеразличаютсяони,поблизостикпониманиюдлячеловека,атакжеиповыразительнымспособностям,ясности,краткостиипростоте.[4]

Вытекающаяизлюбыхалгоритмовпоследовательностьдействийдолжнабытьзаписанатак,чтобыперсональныйкомпьютер(ПК)затемлегкосмогразобратьее.

Вуказанномслучаелюбаяфраза,чтоописываетсянаязыкепрограммированиятакжедолжнабытьподчиненнойксинтаксисуэтогоязыка.

Практическивсепрограммы,написанныенаопределенномязыкевводятсявкомпьютерспомощьюобычноготекста,аПК,зная,освойствахкодапрограммыпреобразуетеговсамыйудобныйдляреализациивид.[9]

Обычно,языкипрограммированиясоздаютсятакжедляудобстварешенияоченьмногихзадачдляопределенногокласса.

Кпримеру,языкпрограммированияАЛГОЛ(рисунок1)былсозданвсвоевремясредствамимеждународнойассоциациейученыхдлянаписанияипубликациивжурналахразныхалгоритмов.Онтакжезадумывалсявкачествеинтернациональногоязыкавсехкомпьютеров.[8]

Рисунок1–ПримеркодапрограммыАЛГОЛ

ДлярешениянекоторыхосновныхзадачвсферекоммерциисовременемспециальносозданязыкподназваниемКОБОЛ,дляобработкитекстовиспользовалсяПРОЛОГ,длявыполненияпроцессаобучениястудентовпрограммированиюбылипридуманыязыкиЛИСП,БЕЙСИК,длясозданияматематическихвычислений–ФОРТРАН,дляоблегченияпроцессапрограммированиядляаппаратурыперсональныхкомпьютеров–языкС++.[14]

Ученыеиинженерынанынешнийденьработаютнадсозданиемспециальногоуниверсальногоязыка,накоторомвозможнобылобыописатьсамыеразныеалгоритмы.

Вэтожевремя,активноразвиваютсямашинныеспециальныеязыки,имеющиеиспользованиетольковсвоихобластях.[11]

ЯПтакжезанимаютразноепромежуточноеположениемеждуязыкамиестественнымииформализованными.

Основныеназначениедлявсехязыковпрограммирования–бытьсредствомдляпрограммирования:[20]

–формулироватьпрограммы;

–реализовыватьпрограммынаПК.

ВсеЯПиспользуютсясцельюформированияалгоритмов,атакжеихвыполнениявпоследующемспомощьюПК,алгоритмможеттакжебытьзаписансразличнымуровнемдетализации.[14]

Конкретнаястепеньдетализациитакжезависитиоттого,насколькоможетучитыватьсядетальноархитектуракомпьютерапринаписаниипрограмм.


Частоговорят,чтоопытныепрограммистыпишутпрограммныепродуктынедлякакого-токонкретногоПК,анекоторойабстрактнойвычислительноймашины.[19]

Чембольшедеталейввычислительныустройствареальногокомпьютерабудетвописаниивоображаемоймашины,темявляетсянижеуровеньабстракции.Наодномизвысшихуровнейабстракциитакжесодержитсяполноепредставлениедляперсональногокомпьютеракакофоннеймановскойвычислительноймашине,чтосостоитизпамяти,устройствдляввода/вывода,процессора.

Следуеттакжеприэтомучитывать,чтовсереальнодействующиепрограммымогутвыполнятьсятакжеивсредекакой-тоустановленнойнаПКоперационнойсистемы(ОС).

ОСпредставляетспециальныйпрограммныйкомплексдляуправлениявсемиустройствамиПК.[4]

ВнынешнеевремясамымипопулярнымиОСсчитаютсяоперационныесистемыMicrosoft,UNIX.

Вслучае,еслиабстрактнойвычислительноймашинедобавляютоперационнуюсистему,товрезультатеполучимвиртуальнуюмашину.[4]

Различныепрограммымогутписатьсядлякакой-тоабстрактноймашины,длявиртуальноймашиныбудутсоздаватьсянекоторыетрансляторыисредыдляразработкипрограмм.

ДлянаписаниясамойпрограммынанизкихуровняхиспользуютсяспециальныенизкоуровневыеЯП.

Языкинизкогоуровняиспользуютсядляоченьподробногоилидетальногоописанияопераций,чтоприэтомучитываетсяархитектураПК,устройствоегопроцессора.

Всеязыкитакогоуровняявляютсямашиннымикодами,атакжеассемблерами.Ассемблердаеттакженесколькоболееудобныхспособовзаписипрограммныхпродуктов.[5]

Каждаяпрограмманаязыкеассемблерабудеточеньдлинной,поскольку,увеличиваетсявероятностьдляпоявленияошибок.Присоставлениипрограммытребуетсятакжезнаниеархитектуркомпонентовкомпьютера.

Программаоказываетсятакжесвязаннойкопределеннойархитектурой.ВсеэтоможнотакжесчитатьнедостаткамидляпрограммированиинаЯПнизкогоуровня.

Главнымиосновнымпреимуществомявляетсявозможность«выжать»изкомпьютеравсееговозможности,апреждевсего–максимальныйуровеньбыстродействия.[10]

ЯПвысокогоуровняразработаныбылидлятого,чтобпреодолеватьнедостаткинекоторыхметодовнизкоуровневогопрограммирования.Онипозволялиприменятьразличныеоперации,незаботясьприэтоморазныхдеталяхреализации.

Программытакжебудутнамногокороткими,надежнымииуниверсальными,апроцессдлясоставленияихзначительносокращается.Программы,чтонаписаныспомощьюЯПвысокогоуровнячитатьнамноголегче.

Языкивысокогоуровняможноразделитьтакжена4вида(рисунок2):[4]

Рисунок2–Типыязыковпрограммирования


СамымиглавнымиобъектамидляимперативныхЯПявляютсяпеременные,операторыприсваивания,стандартныеалгоритмическиеконструкции.

ИмперативныеЯПпривязаныктрадиционнойархитектуреДжонафонНеймана.[15]

ДлявсехфункциональныхЯПприменяютсяфункции,значенияукоторыхопределяютсясуказаниемпараметров.Традиционныеоператорыипеременныеприэтомвообщенерассматриваютсяилинебываютобязательными.

КлассическимпримеромфункциональногоЯПявляетсяLISP.

Впрограммныхпродуктах,написанныхсиспользованиемлогическихязыков,неткакого-тофиксированного,определенногопорядкадлявыполненияразныхправилалгоритма.[20]

Выборподходящейдляэтогопоследовательностибудетвозлагатьсянасистему.

Объектно-ориентированныеЯПвзначительнойстепениупрощаютпрограммированиесиспользованиемтехнологииобъектно-ориентированногопрограммирования(кпримеру,C++).[4]

Неследуетихпутатьсязыкамидляразметкидокументов:HTML,таблицейстилейCSS.

1.2. Этапы развития ЯП

Физическиепринципыработыэлектронныхустройствтаковы,чтокаждыйсПКможетвосприниматьиобрабатыватьсамыеразныекоманды,чточастосостоятлишьизкакой-тоопределеннойпоследовательностиединицинулей,такназываемогомашинногокода.

НауказаннойстадиитакогоразвитияПКразработчикамбылонеобходимосоставлятьпрограммныепродуктынаЯПпонятномуПК.Каждаятакаякомандасостояласадресовдляоперандов,кодаоперацийвбинарномкоде.[4]

Этоприводиткостройнеобходимостинайтисамыеразныесредства,которыепозволяютещеболеепростоналадитькорректноеобщениечеловеканепосредственносПК.Итакоесредствонайдено–различныеЯПимодулидляреализациитрансляции.[14]

Языкомпрограммированияназываетсяязык,чтоиспользуетсядлянаписаниякоманд,атакжеуправленияПК.Всесовременныеязыкипрограммированияспроектированыдлятого,чтобразработчикамбылопрощевыполнятьразнообразныеоперациисПК,аонитакжепотомдолжнытранслироваться(спомощьюустройствинтерпретаторов,трансляторов)вмашинныйкод.

ЯПусловноможноклассифицироватьнаЯПвысокогоинизкогоуровнянаписанияпрограмм.[3]

Практическивсюисториютакойкомпьютернойиндустрииснекоторойточкизрениялегкоможнопредставить,какстановлениеЯП.

РассмотримдалеекраткуюисториюразвитияЯП:[16]

1801г.–францeзИ.Жаккард,используяперфокартывпервыевышивает«helloworld».

1841г.–перваяженщина-программистА.Лавлейспишетпервуюпрограмму.[19]


1935г.–А.Тьюрингизобрелтеориюязыковпрограммирования,котораяиспользуетсяивданноевремя.

1956г.–Дж.БакусифирмаIBMизобретаютЯПФортрандляматематическихвычислений.

1963г.–Дж.КемнисоздаетнатовремяЯПБейсик,которыйсталреволюционным.

1970г.–Н.ВиртсоздаетсамыйпервыйпроцедурныйязыкТурбоПаскаль.

1971г.–АдамКолмероразрабатываетсовременныйнатовремяязыкПрологлогическоготипа,которыйсразуиспользуетсяприразработкебазданных(БД).[6]

1982г.–Б.СтрауструпнабазеЯПС,создаетновыйязыкподназваниемС++,которыйбыстронабралпопулярность.

1989г.–группаразработчиков:Ф.Водлер,П.Худак,С.Пейтон-Джонс,Э.КатчерразрабатываетЯПХаскелл.

1995г.–Дж.ГослингвыполняетсозданиеязыкаJava.Java–этосовременныйтипизированныйобъектно-ориентированныйЯП,чтобылописаннаосновеклассов,имеющийсовременнымсборщикоммусора,одиночнуюдиспетчеризацию,реализациюнаследования,атакжеимножественнымнаследованием.[9]

ВпервомразделекурсовойработыописанынекоторыеосновныепонятиятеорииЯП,приведенысоответственныеопределения,атакжеданахарактеристикаосновнымЯП,которыеиспользуютсяопытнымиразработчиками.

2. ГИПЕРТЕКСТОВАЯ РАЗМЕТКА

2.1. Понятие гипертекста, история его развития

Гипертекст–этотехнологиянабазеинструментарияобработкибольших,структурированных,глубоковложенных,связанныхсемантически,понятийнотекстов,которыеорганизованыкакфрагменты(текста),относящихсятолькокоднойитойсамойсистемеобъектов,чторасположеныввершинахнекоторойсети,атакжевыделяемыхобычноцветом.[6]

Онимогутпримашиннойреализациинажатиемнесколькихклавиш,вызватьипоместитьвнужноеместоорганизуемогоилипросматриваемогоновоготекстасамыенужныефрагментыгипертекста,что"привязаны"квыделеннымключевымсловамилижесловосочетаниям(рисунок3).

Рисунок3–Структурагипертекста

Гипертекстоваятехнологияможетопределять,выбиратьвариантдляактуализацииинформациигипертекстазависимоотинформационныхпотребностейкаждогопользователяиегоосновныхвозможностей,уровняподготовки.[9]

Вработесгипертекстовойтехнологией,пользовательимеетвозможностьпросматриватьстраницытекставтомпорядке,какемуэтобольшенравится,непоследовательно,какпричтениикниг.Достигаетсяданнаявозможностьпутемсозданиямеханизмасвязидляразличныхстраництекстаспомощьюгипертекстовыхссылок.[12]