Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Введение в специальность программиста

Покупка
Основная коллекция
Артикул: 058900.13.01
К покупке доступен более свежий выпуск Перейти
Цель данной книги — сформировать представление о профессии программиста и дать основы для приобретения навыков в этой области деятельности. В учебнике рассматриваются содержание основных понятий программирования, история его развития, основные элементы и языки программирования, принципы структурного программирования и начала программирования в среде Turbo Pascal и системе Delphi. Дается материал о программном обеспечении для вычислительной техники и автоматизированных систем, правовой и программной защите компьютерной информации, стандартизации и лицензировании программных продуктов. Предназначен для учащихся техникумов, колледжей, а также студентов вузов.
Гвоздева, В. А. Введение в специальность программиста : учебник / В. А. Гвоздева. — 2-е изд., испр. и доп. — Москва : ФОРУМ : ИНФРА-М, 2023. — 208 с. — (Среднее профессиональное образование). - ISBN 978-5-8199-0929-4. - Текст : электронный. - URL: https://znanium.ru/catalog/product/1912887 (дата обращения: 04.05.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.

СРЕДНЕЕ ПРОФЕССИОНАЛЬНОЕ ОБРАЗОВАНИЕ
Серия основана в 2001 году




В.А. ГВОЗДЕВА





                ВВЕДЕНИЕ В СПЕЦИАЛЬНОСТЬ ПРОГРАММИСТА




    УЧЕБНИК

2-е издание, исправленное и дополненное


                     Допущено Министерством образования и науки Российской Федерации в качестве учебника для студентов образовательных учреждений среднего профессионального образования, обучающихся по специальности «Программное обеспечение вычислительной техники и автоматизированных систем»


    znanium.com


Москва
ИД «ФОРУМ» — ИНФРА-М
2023
УДК 004(075.32)
ББК 32.973я723
     Г25



     Рецензенты:
        Картамышева Т.Б., преподаватель кафедры программного обеспечения ВТ и АС Московского технического колледжа;
        Агалъцов В.С., преподаватель математического колледжа





      Гвоздева В.А.
Г25 Введение в специальность программиста : учебник / В.А. Гвоздева. — 2-е изд., испр. и доп. — Москва : ИД «ФОРУМ» : ИНФРА-М, 2023. — 208 с. — (Среднее профессиональное образование).
         ISBN 978-5-8199-0929-4 (ИД «ФОРУМ»)
         ISBN 978-5-16-017438-9 (ИНФРА-М, print)
         ISBN 978-5-16-109977-3 (ИНФРА-М, online)
         Цель данной книги — сформировать представление о профессии программиста и дать основы для приобретения навыков в этой области деятельности.
         В учебнике рассматриваются содержание основных понятий программирования, история его развития, основные элементы и языки программирования, принципы структурного программирования и начала программирования в среде Turbo Pascal и системе Delphi. Дается материал о программном обеспечении для вычислительной техники и автоматизированных систем, правовой и программной защите компьютерной информации, стандартизации и лицензировании программных продуктов.
         Предназначен для учащихся техникумов, колледжей, а также студентов вузов.
УДК 004(075.32)
ББК 32.973я723













ISBN 978-5-8199-0929-4 (ИД «ФОРУМ»)
ISBN 978-5-16-017438-9 (ИНФРА-М, print)
ISBN 978-5-16-109977-3 (ИНФРА-М, online)



© Гвоздева В.А., 2013
© ИД «ФОРУМ», 2013
        Введение







Программирование можно рассматривать как искусство, науку, ремесло. Программирование — это искусство получения ответов от машины. Для этого в узком смысле нужно составить специальный код для технического устройства, а в широком — разработать программы на языках программирования, т. е. не просто составить код, а выполнить интеллектуальную работу по составлению высокоразумных программ для решения различных задач во всех сферах человеческой деятельности.
    Программирование — процесс описания последовательности действий решения задачи средствами конкретного языка программирования и оформление результатов описания в виде программы. Эта работа требует точности, аккуратности и терпения. Команды машине должны формулироваться абсолютно четко и полно, не должны содержать никакой двусмысленности.
    На начальном этапе составлением программ для ЭВМ занимались сами изготовители вычислительных машин. Постепенно, с развитием техники, этот процесс из рутинной работы превратился в интеллектуальную деятельность, сравнимую с искусством, т. к. трудоемкое, ручное составление программ было подобно решению сложных комбинационных задач, которое требовало научных знаний и мастерства. Возникла потребность в людях со специальной подготовкой и особым складом ума, которых называют программистами. Овладев необходимыми знаниями, научившись грамотно и творчески применять их в повседневной работе, программист может стать незаменимым специалистом в своей области деятельности. Отмечается, что «программист должен обладать способностью первоклассного математика к абстрактному и логическому мышлению в сочетании с эдисоновским талантом сооружать все что угодно из 0 и 1. Он должен сочетать аккуратность бухгалтера с проницательностью разведчика, фантазию автора детективов с трезвой практичностью экономиста».
    Программист — одна из самых востребованных специальностей в современном обществе.
    С 1970—1980-х гг. программирование как новая научная дисциплина занимается методами разработки программных продуктов.
Введение

Оно включает комплекс вопросов, связанных с написанием спецификаций, проектированием, кодированием, тестированием и функционированием программ для ЭВМ. Для разработки программного обеспечения применяются следующие методы: математические, инженерных расчетов и управления.
    Уровень программирования определяется четырьмя взаимосвязанными факторами развития: возможностями компьютеров, теорией и языками, искусством и технологией программирования.
    Профессиональное программирование — вполне прагматичная деятельность, направленная на получение реального программного продукта, которое требует высокой теоретической подготовленности не только в области знания языков программирования и принципов создания программ, но и в области математики, системного анализа, исследования операций, системотехники и др. Программист должен хорошо ориентироваться в уже имеющемся программном обеспечении вычислительной техники и автоматизированных систем, программной защите информации, стандартизации и лицензировании программных продуктов.
    Системным программированием, т. е. разработкой средств системного программного обеспечения (ПО) и системы программирования, занимаются системные программисты. Прикладным программированием, т. е. разработкой прикладных программ, занимаются прикладные программисты. Умение хорошо программировать — основное условие успешной профессиональной деятельности программиста. Научиться этому можно, лишь многократно программируя разные задачи, проходя путь от ее постановки до работающей программы.
    Для непосредственного решения задач программист должен:
    • осознать задачу;
    • составить план общего решения;
    • выполнить план, т. е. преобразовать его в определенную последовательность действий;
    • проверить результат решения, убедиться в его правильности.
    Чтобы все это выполнить, специалист должен многое знать и уметь.
    Задача данного учебника — дать необходимые знания будущим программистам и приобрести начальные навыки программирования задач в программной среде Turbo Pascal. Получив знания и умения, вы сможете на этой базе осваивать в учебном процессе более трудные разделы программирования и смежных дисциплин, а также начать практическое воплощение своих замыслов, создавая различные программные продукты.
Введение

5


    История развития программирования

   С глубокой древности известны попытки создать устройства, ускоряющие и облегчающие процесс вычислений. Еще древние греки и римляне применяли приспособление, подобное счетам, — абак. Такие устройства были известны и в странах Древнего Востока. В XVII в. немецкие ученые В. Шиккард (1623), Г. Лейбниц (1673) и французский ученый Б. Паскаль (1642) создали механические вычислительные устройства — предшественники всем известного арифмометра. Вычислительные машины совершенствовались в течение нескольких веков. Но при этом не применялось понятие «программа и программирование».
   Только в начале XIX в. (1830) английский ученый, профессор математики Кэмбриджского университета Чарльз Бэббидж, анализируя результаты обработки переписи населения во Франции, теоретически исследовал процесс выполнения вычислений и обосновал основы архитектуры вычислительной машины. Работая над проектом аналитической машины — «Машины для исчисления разностей», Ч. Бэббидж предсказал многие идеи и принципы организации и работы современных ЭВМ, в частности принцип программного управления и запоминаемой программы. Общая увлеченность наукой дала ученому и Аде Лавлейс (1815—1852) долгие годы плодотворного сотрудничества. В 1843 г. она перевела статью Менабреа по лекциям Ч. Бэббиджа, где в виде подробных комментариев (по объему они превосходили основной текст) сформулировала главные принципы программирования аналитической машины. Она разработала первую программу (1843) для машины Бэббиджа, убедила его в необходимости использования в изобретении двоичной системы счисления вместо десятичной, разработала принципы программирования, предусматривающие повторение одной и той же последовательности команд при определенных условиях. Именно она предложила термины «рабочая ячейка» и «цикл». А. Лавлейс составила первые программы для решения системы двух уравнений и вычисления чисел Бернулли по довольно сложному алгоритму и предположила, что со временем аналитическая машина будет сочинять музыкальные произведения, рисовать картины и использоваться в практической и научной деятельности. Время подтвердило ее правоту и точность прогнозов. Своими работами А. Лавлейс заложила теоретические основы программирования и по праву считается первым в мире программистом и основоположником научного программирования.
   В 1854 г. английский математик Джордж Буль опубликовал книгу «Законы мышления», в которой развил алгебру высказываний —
Введение

Булеву алгебру. На ее основе в начале 80-х гг. XIX в. построена теория релейно-контактных схем и конструирования сложных дискретных автоматов. Алгебра логики оказала многогранное влияние на развитие вычислительной техники, являясь инструментом разработки и анализа сложных схем, инструментом оптимизации большого числа логических элементов, из многих тысяч которых состоит современная ЭВМ.
    Идеи Ч. Бэббиджа реализовал американский ученый Г. Холлерит, который с помощью построенной счетно-аналитической машины и перфокарт за три года обработал результаты переписи населения в США по состоянию на 1890 г. В машине впервые было использовано электричество. В 1896 г. Холлеритом была основана фирма по выпуску вычислительных перфорационных машин и перфокарт.
    В 1936 г. английский математик А. Тьюринг ввел понятие машины Тьюринга, как формального уточнения интуитивного понятия алгоритма. Ученый показал, что любой алгоритм в некотором смысле может быть реализован на машине Тьюринга, а следовательно, доказывал возможность построения универсальной ЭВМ. И та, и другая машины аналогично могут быть снабжены исходными данными решаемой задачи и программой ее решения. Машину Тьюринга можно считать как бы идеализированной моделью универсальной ЭВМ.
    В 40-х гг. XX в. механическая элементная база вычислительных машин стала заменяться электрическими и электронными устройствами. Первые электромеханические машины были созданы в Германии К. Цузе (Ц-3, 1941 г.) и в США под руководством прфессора Гарвардского университета Г. Айкена (МАРК-1, 1944 г.). Первая электронная машина создана в США группой инженеров под руководством доктора Пенсильванского университета Дж. Мочли и аспиранта Дж. Эккерта (ЭНИАК — электронный числовой интегратор и калькулятор, 1946 г.). В 1949 г. в Англии была построена EDSAC — первая машина, обладающая автоматическим программным управлением, внутренним запоминающим устройством и другими необходимыми компонентами современных ЭВМ.
    Логические схемы вычислительных машин были разработаны в конце 1940-х гг. Дж. фон Нейманом, Г. Гольдстайном и А. В. Берксом. Особый вклад в эту работу внес американский математик Джон фон Нейман, принимавший участие в создании ЭНИАК. Он предложил идею хранения команд управления и данных в машинной памяти и сформулировал основные принципы построения со
Введение

7

временных ЭВМ. ЭВМ с хранимой программой оказались более быстродействующими и гибкими, чем ранее созданные.
    В 1951 г. в США было налажено первое серийное производство электронных машин УНИВАК (универсальная автоматическая вычислительная машина). В это же время фирма IBM начала серийный выпуск машины IBM/701.
    В СССР первыми авторами ЭВМ, изобретенной в декабре 1948 г., являются И. С. Брук и Б. И. Рамеев. А первая советская ЭВМ с сохраняющейся программой создана в 1951 г. под руководством С. А Лебедева (МЭСМ — малая электронная счетная машина). В 1953 г. в Советском Союзе начался серийный выпуск машин, первыми их которых были БЭСМ-1, «Стрела».
    С появлением цифровых программно-управляемых машин родилась новая область прикладной математики — программирование. Как область науки и профессия она возникла в 1950-х гг. Первоначально программы составлялись вручную на машинных языках (в машинных кодах). Программы были громоздки, их отладка — очень трудоемка. Для упрощения приемов и методов составления и отладки программ были созданы мнемокоды, по структуре близкие к машинному языку и использующие символьную адресацию. Ассемблеры переводили программу, записанную в мнемокоде, на машинный язык и, расширенные макрокомандами, используются и в настоящее время. Далее были созданы автокоды, которые можно применять на различных машинах, и позволившие обмениваться программами. Автокод — набор псевдокоманд для решения специализированных задач, например научных или инженерных. Для таких задач имеется развитая библиотека стандартных программ.
    До конца 1950-х гг. ЭВМ основным элементом конструкции были электронные лампы (I-е поколение). В этот период развитие идеологии и техники программирования шло за счет достижений американских ученых Дж. фон Неймана, сформулировавшего основные принципы построения ЭВМ, и Дж. Бэкуса, под руководством которого в 1954 г. был создан Fortran (Formula Translation) — первый язык программирования высокого уровня, используемый до настоящего времени в разных модификациях. Так, в 1965 г. в Дартмутском колледже Д. Кэмэни и Т. Куртцем была разработана упрощенная версия Фортрана — Basic. В 1966 г. комиссия при Американской ассоциации стандартов (ASA) разработала два стандарта языка: Фортран и Базисный Фортран. Используются также дальнейшие модификации языка (например 1970, 1990 гг.).
    Достижения в области электроники и микроэлектроники позволили заменить элементную базу ЭВМ на более совершенную.
Введение

В конце 1950-х гг. громоздкие электронные лампы заменяют полупроводниками (миниатюрными транзисторами). Появляются ЭВМ II поколения; затем примерно через 10 лет — ЭВМ III поколения на интегральных схемах; еще через 10 лет — ЭВМ IV поколения на больших интегральных схемах (БИС). В Японии в 1990-х гг. реализованы проекты ЭВМ V поколения, в которых использованы достижения в области искусственного интеллекта и биоэлектроники. Если объем оперативного запоминающего устройства (ОЗУ) одной из лучших отечественных машин 1960-х гг. М-20, созданной под руководством С. А. Лебедева в 1958 г., имел 4096 слов (8 Кбайт) и быстродействие 20 тыс. операций в секунду, то современные персональные компьютеры характеризуются ОЗУ в десятки Мбайт и быстродействием в сотни миллионов операций в секунду, что позволяет решать сложнейшие задачи.
    В 1953 г. А. А. Ляпуновым был предложен операторный метод программирования, который заключался в автоматизации программирования, а алгоритм решения задачи представлялся в виде совокупности операторов, образующих логическую схему задачи. Схемы позволяли расчленить громоздкий процесс составления программы, части которой составлялись по формальным правилам, а затем объединялись в целое. Для проверки идей операторного метода в СССР в 1954 г. была разработана первая программирующая программа ПП-1, а в 1955 г. более совершенная — ПП-2. В 1956 г. разработана ПП БЭСМ, в 1957 г. — ППСВ, в 1958 г. — для машины «Стрела».
    В США в 1954 г. стал применяться алгебраический подход, совпадающий, по существу, с операторным методом. В 1956 г. корпорацией IBM разработана универсальная ПП Фортран для автоматического программирования на ЭВМ IBM/704.
    В этот период по мере накопления опыта и теоретического осмысления совершенствовались языки программирования. В 1958—1960 гг. в Европе был создан ALGOL, который породил целую серию алголоподобных языков: Algol W, (1967), Algol 68, Pascal (Н. Вирт, 1970 г.), С (Д. Ритчи и Б. Керниган, 1972 г.), Ada (под руководством Ж. Ишбиа, 1979 г.), С++ (1983). В 1961—1962 гг. Дж. Маккарти в Массачусетском технологическом институте был создан язык функционального программирования Lisp, открывший в программировании одно из альтернативных направлений, предложенных Дж. фон Нейманом.
    На начало 1970-х гг. существовало более 700 языков высокого уровня и около 300 трансляторов для автоматизации программирования.
Введение

9

    Усложнение структуры ЭВМ привело (в 1953 г. для машин II-го поколения) к созданию операционных систем (ОС) — специальных управляющих программ для организации и решения задач на ЭВМ. Например, мониторная система МТИ, созданная в Массачусетском технологическом институте, обеспечивала пакетную обработку, т. е. непрерывное, последовательное прохождение через ЭВМ многих групп (пакетов) заданий и пользование библиотекой служебных программ, хранимой в машине. Это позволило совместить операции по запуску с выполнением программ.
    Для ПЭВМ к настоящему времени разработаны ОС: MS DOS, Windows, ОС/2, MacOC, Unix, Linux и др. Широкое распространение получили ОС MS DOS и Windows, имеющие развитый интерфейс и широкий набор приложений, позволяющих последовательное выполнение заданий из пакета, обработку различной информации во многих сферах человеческой деятельности.
    В 1965 г. итальянцы Бом и Джакопини предложили использовать в качестве базовых алгоритмических элементов следование, ветвление и цикл. Почти в то же время к аналогичным выводам пришел голландский ученый Э. Дийкстра, заложивший основы структурного программирования. В 1970-х гг. эта методология оформилась, и корпорация IBM сообщила о применении в разработке программного обеспечения «Усовершенствованных методов программирования», одним из компонентов которых являлась технология нисходящего структурного программирования (структурного программирования), основу которого составляет следующее:
    • сложная задача разбивается на простые, функционально управляемые задачи, каждая задача имеет один вход и один выход; управляющий поток программы состоит из совокупности элементарных функциональных подзадач;
    • управляющие структуры просты, т. е. логическая задача должна состоять из минимальной, функционально полной совокупности достаточно простых управляющих структур;
    • программа разрабатывается поэтапно, на каждом этапе решается ограниченное число точно поставленных задач.
    Четко сформулированные основы нисходящей разработки, структурного кодирования и сквозного контроля позволяли перейти к промышленным методам разработки программного обеспечения.
    Развитие получило модульное программирование, основа которого заключается в следующем:
    • функциональная декомпозиция (разбиение) задачи на самостоятельные подзадачи — модули, связанные только входными и выходными данными;
Введение

    • модуль представляет собой «черный ящик», позволяющий разрабатывать части программ одного проекта на разных языках программирования, а затем с помощью компоновочных средств объединять их в единый загрузочный модуль;
    • должно быть ясное понимание назначения всех модулей задачи и их оптимального сочетания;
    • с помощью комментариев должно описываться назначение всех переменных модуля.
    В период 1970—1980-х гг. развитие теоретических исследований оформило программирование как самостоятельную научную дисциплину, занимающуюся методами разработки программного обеспечения (ПО).
    В истории развития промышленного программирования большую роль сыграл программист и бизнесмен Билл Гейтс (Gates William Henry, р. в 1955 г.). Его история очень поучительна для начинающих программистов. В 1972 г. Билл Гейтс и его школьный товарищ Пол Аллен основали компанию по анализу уличного движения «Трэф-О-Дейта» и использовали для обработки данных компьютеры с микропроцессором 8008 — первым из знаменитого ряда микропроцессоров компании «Intel». Будучи студентом Гарвардского университета, в 1975 г. он совместно с Алленом написал для компьютера Altair (фирмы MITS) интерпретатор — программу-переводчик с языка программирования на язык машинных кодов. Они заключили с владельцем фирмы соглашение, по которому их программы распространялись вместе с компьютерами. Товариши основали компанию «Microsoft», в которой Б. Гейтсу принадлежало 60 % акций, П. Аллену — 40 %. В 1976 г. Гейтс ввел в практику продажу лицензий на свои программные продукты непосредственно производителям компьютеров, что позволило «встраивать» их (ОС и трансляторы с языков программирования) в компьютеры. Это было большое достижение в области маркетинга, принесшее фирме огромные доходы. Фирма привлекала таких новых заказчиков, как фирмы «Apple», «Commodor», «Tendi». В 1980 г. фирма IBM предложила «Microsoft», в которой тогда работало около двух десятков человек, создать языки программирования для ее нового персонального компьютера, в дальнейшем известным как IBM PC. В 1981 г. «Microsoft» приобрела у разработчика Т. Патерсона дисковую ОС (DOS), и в августе этого года IBM PC поставлялась вместе c ОС MS DOS. Успех был настолько велик, что, кроме значительных доходов, привел к тому, что и архитектура Intel, и компьютеры IBM, и программы «Microsoft» фактически стали отраслевыми стандартами. В 1988 г. «Microsoft» создала свою ОС Windows c мощным графиче
К покупке доступен более свежий выпуск Перейти