Файл: Основы программирования на языке HTML (Определение языка программирования).pdf
Добавлен: 30.04.2023
Просмотров: 64
Скачиваний: 3
СОДЕРЖАНИЕ
1. ТЕОРЕТИЧЕСКИЕ ПОНЯТИЯ КЛАССИЧЕСКОЙ ТЕОРИИ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ
1.1. Определение языка программирования
2.1. Понятие гипертекста, история его развития
2.2. Описание языков гипертекстовой разметки
3. ПРАКТИЧЕСКОЕ ИСПОЛЬЗОВАНИЕ ЯЗЫКА HTML
3.1. Описание основных тегов HTML
3.2. Практичекое применение языка гипертекстовой разметки HTML
ВВЕДЕНИЕ
Внынешнейжизнивстречаютсямногодействий,которыеисполняютсяпозаданнымсценариям–алгоритмам.Стоитотметить,чтоэтоможеттакжебытьиобычнаяпоследовательностьнекоторыхопераций,действий,которыемогутзависетьотусловий,самыхразныхциклическихоперации,повторивкоторые,можетбытьзатраченомноговремени,ареализоватьоптимизациютакогоалгоритманевсегдаполучается.
Вмиресуществуеточеньмногоязыковпрограммирования(ЯП)наданныймомент,хотяболееполовиныизнихприэтомимеетразницусдругимитольколишьпометодутрансляциикода,атакжеивсинтаксисенаписанияоператоров.
Стоитотметить,чтовпериодвысокихтехнологийавтоматизируютсяилиоптимизируютсямногиедействия.ВнынешнеевремяприиспользованииразныхЯПимеютсяпрекрасныевозможностидляупрощениясамыхразныхалгоритмов.
Актуальностьисследованиясостоитвпримененииязыковпрограммированиягипертекстовойразметки,а именно – 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]