понедельник, 20 апреля 2015 г.

§ 32. Что такое программирование. Конспект

Кто такие программисты

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

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

Специалисты, профессионально занимающиеся программированием, называются программистами. Люди, работающие на компьютерах, разделились на пользователей и программистов.

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

Что такое язык программирования

Язык программирования — это фиксированная система обозначений для описания алгоритмов и структур данных (популярными языками программирования сегодня являются Паскаль, Бейсик, Си, Фортран и др.).


Что такое система программирования

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


табл.1.Языки программирования


Название языка
Создатель языка
Когда был создан язык (г.)
Где используется
Фортран
Джон Бэкуса
1957
Широко используется для научных и инженерных вычислений.
Кобол
Грейс Хоппер, Вильям Селден, Гертруда Тирни, Говард Бромберг, Говард Дискаунт, Вернон Ривз, Жан Е. Саммет
1959
Используется для решения экономических, информационных и других задач, для написания крупных бизнес-приложений, ориентированных на работу с файлами.
Паскаль
Никлаус Вирт
1970
Используется для обучения программированию в старших классах и на первых курсах вузов
Java
Oracle (до 2010 - Sun Microsystems)
1995
Активно используется для создания мобильных приложений под операционную систему Android;
Си
Деннис Ритчи,Кен Томпсон
1972
Используется при составлении программ для микроконтроллеров, для обучения программированию
Бейсик
Томас Курц, Джон Кемени
1964
Используется как самостоятельный язык для разработки прикладных программ, главным образом, работающих под управлением ОС Windows различных версий.Также широко распространён в качестве встроенного языка прикладных программных систем различного назначения и в качестве языка для программируемых калькуляторов.
C++
Бьерн Страйструп
1983
Широко используется для разработки программного обеспечения, являясь одним из самых популярных языков программирования. Область его применения включает создание операционных систем, разнообразных прикладных программ, драйверов устройств, приложений для встраиваемых систем, высокопроизводительных серверов, а также развлекательных приложений (игр).
Smalltalk
Алан Кей, Адель Голдберг, Дэн Ингаллс, Xerox PARC
Разработка начата в 1969 г., стал доступен для широкого использования в 1980
Часто используется в деловых приложениях, но он так же используется для приложений с большей инженерной ориентацией. Texas Instruments использует Smalltalk контроля \potom, добавляя расширение позволяющие использовать распределённые объекты. Hewlett-Packard создаёт Distributed Smalltalk, расширение ParcPlace's VisualWorks, который позволяет объектам взаимодействовать через сеть. В восьмидесятых годах, Tektronix начал использовать Smalltalk для запуска их \potom.
Objective-C
Бред Кокс
1983
Используется в первую очередь для Mac OS X (Cocoa) и GNUstep — реализаций объектно-ориентированного интерфейса OpenStep. Также язык используется для iOS (Cocoa Touch).



Транслятор - программ ЭВМ, предназначенная для автоматического перевода описания алгоритма с одного языка программирования на другой, в частности на машинный язык.

Виды трансляторов:
   1) компиляторы
   2) интерпретаторы

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

понедельник, 13 апреля 2015 г.

Конспект

§ 25. Управление и кибернетика

Возникновение кибернетики

Версия судьбы " Тайны XX века

1948 г.- публикация книги Ноберта Винера "Кибернетика, или управление и связь в животном и машине".
  • Кибернетика — наука об общих свойствах процессов управления в живых и неживых системах.





Что такое управление?

Управление - это целенаправленное воздействие одних объектов, которые являются управляющими, на другие объекты - управляемые.



Схема системы управления без обратной связи


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


Алгоритм управления 


 В простейшем случае цель может быть достигнута после выполнения одной команды. Для достижения более сложной цели бывает необходимо выполнить последовательность (серию) команд.


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


В таком случае объект управления - исполнителем управляющего алгоритма. 
С точки зрения кибернетики взаимодействие между управляющим и управляемым объектами рассматривается как информационный процесс. 

§ 26. Управление с обратной связью


Линейный алгоритм 

Линейный (или последовательный) алгоритм– описание действий, которые выполняются однократно в заданном порядке.

Обратная связь 

 Обратная связь — это процесс передачи информации о состоянии объекта управления управляющему объекту.

Модель управления с обратной связью :

Схема системы управления с обратной связью

Циклы и ветвления в алгоритмах

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

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

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

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

Системы с программным управлением 

Системы, в которых роль управляющего объекта поручается компьютеру, называются автоматическими системами с программным управлением

  

Вопроспроанализируйте систему "государственный орган управления - народ" как систему управления. Кто здесь управляющий объект, кто- объект управления? Какие действуют механизмы прямой и обратной связи?

Ответ :
1. Государственный орган управления - это управляющий объект; народ - это объект управления 
2. Государственный орган управления  издает юридические акты (прямая связь)
Народ -  выполняет нормативно правовые акты  и задает вопросы по интересующим (или непонятным) темам. (обратная связь)