Смекни!
smekni.com

Программирование и достижения компьютерной техники (стр. 1 из 7)

Оглавление

Программирование------------------------------------------------------------------3

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

Что могут ЭВМ---------------------------------------------------------------------11

История развитие ЭВМ-----------------------------------------------------------12

Достижения компьютерной техники------------------------------------------15


Программирование

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

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

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

Программист — одна из самых востребованных специальностей в современном обществе.

С 1970—1980-х гг. программирование как новая научная дисциплина занимается методами разработки программных продуктов. Оно включает комплекс вопросов, связанных с написанием специ­фикаций, проектированием, кодированием, тестированием и функ­ционированием программ для ЭВМ. Для разработки программного обеспечения применяются следующие методы: математические, ин­женерных расчетов и управления.

Уровень программирования определяется четырьмя взаимосвя­занными факторами развития: возможностями компьютеров, теори­ей и языками, искусством и технологией программирования.

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

Системным программированием, т. е. разработкой средств сис­темного программного обеспечения (ПО) и системы программирова­ния, занимаются системные программисты. Прикладным програм­мированием, т. е. разработкой прикладных программ, занимаются прикладные программисты. Умение хорошо программировать — ос­новное условие успешной профессиональной деятельности программиста. Научиться этому можно, лишь многократно программируя разные задачи, проходя путь от ее постановки до работающей программы.

Для непосредственного решения задач программист должен:

• осознать задачу;

• составить план общего решения;

• выполнить план, т. е. преобразовать его в определенную по­следовательность действий;

• проверить результат решения, убедиться в его правильности. Чтобы все это выполнить, специалист должен многое знать и

уметь.

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

С глубокой древности известны попытки создать устройства, ус­коряющие и облегчающие процесс вычислений. Еще древние греки и римляне применяли приспособление, подобное счетам, — абак. Такие устройства были известны и в странах Древнего Востока. В XVM в. немецкие ученые В. Шиккард (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-х гг. Дж. фон Нейманом, Г. Гольдстайном и А. В. Берксом. Особый вклад в эту работу внес американский математик Джон фон Нейман, принимавший участие в создании ЭНИАК. Он предложил идею хранения команд управления и данных в машин­ной памяти и сформулировал основные принципы построения современных ЭВМ. ЭВМ с хранимой программой оказались более быстродействующими и гибкими, чем ранее созданные.

В 1951 г. в США было налажено первое серийное производство электронных машин УНИВАК (универсальная автоматическая вы­числительная машина). В это же время фирма IBM начала серий­ный выпуск машины IBM/701.

В СССР первыми авторами ЭВМ, изобретенной в декабре 1948 г., являются И. С. Брук и Б. И. Рамеев. А первая советская ЭВМ с сохраняющейся программой создана в 1951 г. под руково­дством С. А Лебедева (МЭСМ — малая электронная счетная маши­на). В 1953 г. в Советском Союзе начался серийный выпуск машин, первыми их которых были БЭСМ-1, «Стрела».

С появлением цифровых программно-управляемых машин родилась новая область прикладной математики — программирование. Как область науки и профессия она возникла в 1950-х гг. Первона­чально программы составлялись вручную на машинных языках (в машинных кодах). Программы были громоздки, их отладка — очень трудоемка. Для упрощения приемов и методов составления и отладки программ были созданы мнемокоды, по структуре близкие к машинному языку и использующие символьную адресацию. Ассемблеры переводили программу, записанную в мнемокоде, на машинный язык и, расширенные макрокомандами, используются и в настоящее время. Далее были созданы автокоды, которые можно применять на различных машинах, и позволившие обмениваться программами. Автокод — набор псевдокоманд для решения специализиро­ванных задач, например научных или инженерных. Для таких задач имеется развитая библиотека стандартных программ.