Файл: Алгоритмизация как обязательный этап разработки программы. (ПОНЯТИЕ АЛГОРИТМА. СВОЙСТВО И ВИДЫ АЛГОРИТМОВ).pdf
Добавлен: 21.05.2023
Просмотров: 189
Скачиваний: 2
Ве?твление if
Эт?о са?мый пр?остой ти?п ветвления. Ес?ли ре?зультат вы?числения вы?ражения-условия во?звращает tr?ue (правда), то вы?полнение ал?горитма ид?ет по ве?тке «Да», в ко?торую вк?лючены до?полнительные выражения-действия. Ес?ли ус?ловие во?звращает fa?lse (ложь), то вы?полнение ал?горитма ид?ет по ве?тке «нет», т.е пр?одолжает вы?полняться ос?новная ве?тка программы.
Ве?твление if?-else
Ес?ли вы?ражение-условие во?звращает tr?ue (правда), то вы?полнение ал?горитма ид?ет по ве?тке «Да», ес?ли ус?ловие не вы?полняется (false), то вы?полнение ид?ет по ве?тке «Нет». Пр?и лю?бом ре?зультате вы?ражения-условия не?льзя ве?рнуться в ос?новную ве?тку программы, ми?нуя до?полнительные действия.
Ци?кл wh?ile
По?ка ус?ловие вы?полняется (р?езультат ло?гического вы?ражения да?ет true), бу?дут вы?полняться де?йствия те?ла цикла. По?сле оч?ередного вы?полнения вл?оженных де?йствий ус?ловие сн?ова проверяется. Дл?я то?го чт?обы вы?полнение ал?горитма не зациклилось, в те?ле ци?кла (п?омимо пр?очих де?йствий) до?лжно бы?ть выражение, в ре?зультате вы?полнения ко?торого бу?дет из?меняться переменная, ис?пользуемая в условии. Те?ло ци?кла мо?жет ни ра?зу не выполнится, ес?ли ус?ловие с са?мого на?чала да?вало false.
Ци?кл do
В эт?ом ци?кле пе?рвый ра?з ус?ловие пр?оверяется ли?шь по?сле вы?полнения де?йствий те?ла цикла. Ес?ли ус?ловие во?звращает true, то вы?ражения-действия по?вторяются снова. Ка?ким бы ни бы?ло условие, те?ло да?нного ци?кла хо?тя бы раз, но выполнится.
Ци?кл fo?r
Да?нный ци?кл та?кже на?зывают ци?клом «Д?ля» (for). В ег?о за?головке ук?азывается тр?и па?раметра: на?чальное зн?ачение пе?ременной (от), ко?нечно зн?ачение (д?о) и ее из?менение с по?мощью ар?ифметической оп?ерации на ка?ждом «о?бороте» ци?кла (шаг).
5. ПОНЯТИЕ ПРОГРАММИРОВАНИЯ И КОМПЬЮТЕРНОЙ ПРОГРАММЫ
Пр?ограммирование — процесс и искусство со?здания ко?мпьютерных пр?ограмм с по?мощью языков программирования.
Пр?ограммирование со?четает в се?бе эл?ементы искусства, науки, ма?тематики и инженерии.
В уз?ком см?ысле слова, пр?ограммирование ра?ссматривается ка?к ко?дирование — ре?ализация од?ного ил?и не?скольких вз?аимосвязанных ал?горитмов на не?котором яз?ыке программирования. В бо?лее ши?роком смысле, пр?ограммирование — пр?оцесс со?здания программ, то ес?ть ра?зработка пр?ограммного обеспечения.
Бо?льшая ча?сть ра?боты пр?ограммиста св?язана с на?писанием ис?ходного ко?да на од?ном из яз?ыков программирования.
Ра?зличные яз?ыки пр?ограммирования по?ддерживают ра?зличные ст?или пр?ограммирования (т. н. па?радигмы программирования). Отчасти, ис?кусство пр?ограммирования со?стоит в том, чт?обы вы?брать од?ин из языков, на?иболее по?лно по?дходящий дл?я ре?шения им?еющейся задачи. Ра?зные яз?ыки тр?ебуют от пр?ограммиста ра?зличного ур?овня вн?имания к де?талям пр?и ре?ализации алгоритма, ре?зультатом че?го ча?сто бы?вает ко?мпромисс ме?жду пр?остотой и пр?оизводительностью (и?ли ме?жду вр?еменем пр?ограммиста и вр?еменем пользователя).
Ед?инственный язык, на?прямую вы?полняемый пр?оцессором — эт?о ма?шинный яз?ык (т?акже на?зываемый ма?шинным кодом). Изначально, вс?е пр?ограммисты пр?орабатывали ка?ждую ме?лочь в ма?шинном коде, но се?йчас эт?а тр?удная ра?бота уж?е не делается. Вм?есто этого, пр?ограммисты пи?шут ис?ходный код, и ко?мпьютер (и?спользуя компилятор, ин?терпретатор ил?и ас?семблер) тр?анслирует его, в од?ин ил?и не?сколько этапов, ут?очняя вс?е детали, в ма?шинный код, го?товый к ис?полнению на це?левом процессоре. Да?же ес?ли тр?ебуется по?лный ни?зкоуровневый ко?нтроль на?д системой, пр?ограммисты пи?шут на яз?ыке ассемблера, мн?емонические ин?струкции ко?торого пр?еобразуются од?ин к од?ному в со?ответствующие ин?струкции ма?шинного яз?ыка це?левого процессора.
Ко?мпьютерная пр?ограмма (п?рограммное обеспечение), на?бор ра?сположенных по?этапно команд, по?зволяющих ко?мпьютеру вы?полнить по?ставленную задачу. Об?ычно ко?мпьютер мо?жет вы?полнять са?мыеразличные задачи, в то?м чи?сле об?работку слов, расчеты, рисование, пе?редачу сообщений, а та?кже иг?ры ид?ругие ви?ды развлечений. Пр?ограммы пи?шутся на од?ном из
мн?огих су?ществующих яз?ыков программирования.
Пр?остая пр?ограмма дл?я вы?полнения ко?нкретного ра?счета мо?жет со?держать вс?егонесколько ко?дированных ст?рок и пи?шется за пя?ть минут. Но дл?я со?здания и ис?пытания ог?ромного объемакодов, вх?одящих в со?став сл?ожной программы, мо?жет по?требоваться го?д и да?же бо?льше ус?илий це?лойкоманды программистов. Пр?ограммы об?ычно хр?анятся на ма?гнитных дисках. Дл?я того, чт?обы ко?мпьютер мо?гвыполнять не?обходимые операции, со?ответствующие пр?ограммы вв?одятся в ег?о ОЗУ.
6.АЛГОРИТМИЗАЦИЯ – КАК КЛЮЧЕВОЙ ЭТАП ПРОГРАММИРОВАНИЯ
Пр?оект об?ычно вк?лючает в се?бя сл?едующие эт?апы ра?зработки пр?ограммного об?еспечения:
- ан?ализ тр?ебований к пр?оекту
- проектирование
- реализация
- те?стирование пр?одукта
- вн?едрение и по?ддержка
Ан?ализ тр?ебований к пр?оекту
На эт?ом эт?апе фо?рмулируются це?ли и за?дачи проекта, вы?деляются ба?зовые су?щности и вз?аимосвязи ме?жду ними. То есть, со?здается ос?нова дл?я да?льнейшего пр?оектирования системы.
В ра?мках да?нного эт?апа не то?лько фи?ксируются тр?ебования заказчика, но и пр?оводится их фо?рмирование – кл?иентам по?дбирается оп?тимальное ре?шение их проблем, оп?ределяется не?обходимая ст?епень автоматизации, вы?являются на?иболее ак?туальные дл?я ав?томатизации бизнес-процессы.
Пр?и ан?ализе тр?ебований оп?ределяются ср?оки и ст?оимость ра?зработки ПО, фо?рмируется и по?дписывается ТЗ на ра?зработку пр?ограммного обеспечения.
Проектирование
На ос?нове пр?едыдущего эт?апа пр?оводится пр?оектирование системы. Эт?а ме?тодология пр?оектирования со?единяет в се?бе об?ъектную декомпозицию, пр?иемы пр?едставления физической, логической, а та?кже ди?намической и ст?атической мо?делей системы.
Во вр?емя пр?оектирования ра?зрабатываются пр?оектные ре?шения по вы?бору платформы, гд?е бу?дет фу?нкционировать си?стема яз?ыка ил?и яз?ыков реализации, на?значаются тр?ебования к по?льзовательскому интерфейсу, оп?ределяется на?иболее по?дходящая СУБД. Ра?зрабатывается фу?нкциональная сп?ецификация ПО?: вы?бирается ар?хитектура системы, ог?овариваются тр?ебования к ап?паратному обеспечению, оп?ределяется на?бор орг. мероприятий, ко?торые не?обходимы дл?я вн?едрения ПО, а та?кже пе?речень документов, ре?гламентирующих ег?о использование.
Реализация
Да?нный эт?ап ра?зработки пр?ограммного об?еспечения ор?ганизован в со?ответствии с мо?делями эв?олюционного ти?па жи?зненного ци?кла ПО. Пр?и ра?зработке пр?именяются эк?спериментирование и анализ, ст?роятся прототипы, ка?к це?лой системы, та?к и ее частей. Пр?ототипы да?ют во?зможность гл?убже вн?икнуть в пр?облему и пр?инять вс?е не?обходимые пр?оектные ре?шения ещ?е на ра?нних эт?апах проектирования. Та?кие ре?шения мо?гут за?трагивать ра?зные ча?сти си?стемы: вн?утреннюю организацию, по?льзовательский интерфейс, ра?зграничение до?ступа и т.д. В ре?зультата эт?апа ре?ализации по?является ра?бочая ве?рсия продукта.
Те?стирование пр?одукта
Те?стирование те?сно св?язано с та?кими эт?апами ра?зработки пр?ограммного об?еспечения ка?к пр?оектирование и реализация. В си?стему вс?траиваются сп?ециальные механизмы, ко?торые да?ют во?зможность пр?оизводить те?стирование си?стемы на со?ответствие тр?ебований к ней, пр?оверку оф?ормления и на?личие не?обходимого па?кета документации.
Ре?зультатом те?стирования яв?ляется ус?транение вс?ех не?достатков си?стемы и за?ключение о ее качестве.
Вн?едрение и по?ддержка
Вн?едрения си?стемы об?ычно пр?едусматривает сл?едующие ша?ги:
ус?тановка системы,
об?учение пользователей,
эксплуатация.
К лю?бой ра?зработке пр?илагается по?лный па?кет документации, ко?торый вк?лючает в се?бя оп?исание системы, ру?ководства по?льзователей и ал?горитмы ра?боты
ЗАКЛЮЧЕНИЕ
Из вы?ше ск?азанного сд?елаем вывод.
Ка?ждый че?ловек по?стоянно вс?тречается с мн?ожеством за?дач от пр?остых до оч?ень сложных. Дл?я мн?огих из ни?х су?ществуют ин?струкции об?ъясняющие человеку, ка?к вы?полнить да?нную задачу. Эт?и пр?авила ис?полнитель мо?жет из?учит за?ранее ил?и ра?зработать во вр?емя выполнения. Че?м то?чнее бу?дут оп?исаны ме?тоды ре?шения да?нной задачи, те?м бы?стрее он?а бу?дет выполнена. Та?кие пр?авила на?зывают алгоритмами.
Пр?оцесс вы?полнение пр?ограммы оч?ень сложен. Ка?ким же об?разом ко?мпьютер ре?шает сл?ожнейшие задачи? Дл?я ре?шения та?ких за?дач пр?ограммист до?лжен со?ставить оп?исание по?следовательности де?йствий , ко?торые ко?мпьютер до?лжен выполнить. Со?ставление та?кого по?шагового вы?полнения де?йствий дл?я ре?шения за?дачи на?зывается алгоритмизацией.
По?становка за?дачи и ее ал?горитмизация оч?ень сл?ожный пр?оцесс и на не?го ух?одит 25?-35% вр?емени пр?и ра?зработке программы. Сл?ожность да?нного эт?апа за?ключается в том, чт?о дл?я од?ной и то?й же за?дачи мо?жет бы?ть не?сколько ра?зличных алгоритмов. И эт?о по?зволяет сд?елать вы?вод ал?горитмизация яв?ляется об?язательным эт?апом разработки.
СПИСОК ЛИТЕРАТУРЫ
1. Алгоритм. Сп?осoбы оп?исания алгоритма. Уч?ебно-методическое по?собие дл?я уч?ителей ин?форматики / Сост. Е.А.Пархoменко, Ю.В.Сюбаева – Ко?ломна: Лицей, 2005. – 33 с.
2.?Балафанов Е.Н. «3?0 ур?оков по информатике», Мо?сква 2007 г.
3. Га?лин А.Б., Панов Ю.В. Информатика. Феникс - 2009 г.
4. Голицына О.Л. Основы алгоритмизации и программирования: Учеб. Пособие / О.Л.Голицына, И.И.Попов. – М.: ИНФРА-М, 2004. – 432 с.
5. Карпенков С.Х. Современные средства информационных технологий. КноРус - 2009 г.
6. Кузнецов А.А. Основы информатики. Учеб. для общеобразоват. учеб. заведений / А.А.Кузнецов, Н.В.Апатова. — М.: Дрофа, 2000. — 176 с.
7. Кушнеренко А.Г. Основы информатики и ВТ: Учеб. для 10-11 кл. — 4-е изд. / А.Г.Кушнеренко и др. — М: Просвещение, 1996. — 224 с.