- •Основные понятия и методы теории информатики
- •Введение в информатику
- •Информатика как наука. Предмет цель и задачи дисциплины.
- •Основные направления в информатике
- •Основные сведения об информации
- •Понятия виды и свойства информации.
- •Классификация информации
- •Формы представления информации. Меры и единицы количества и объема информации
- •Системы кодирования информации. Показатели качества информации.
- •Позиционные системы счисления
- •Логические основы эвм
- •3)«Или-не» (nor), она же «стрелка Пирса».
- •Общая характеристика процесса сбора, передачи, обработки и накопления информации.
- •2. Передача информации
- •Технические средства реализации информационных процессов
- •История развития, структура и архитектура эвм
- •История развития эвм. Поколения эвм.
- •Понятие и основные виды архитектуры эвм.
- •Общие принципы работы эвм.
- •3) Устройства ввода и вывода.
- •Состав и назначение основных элементов персонального компьютера
- •Состав и назначение основных элементов пк, их характеристики.
- •Запоминающие устройства эвм: классификация, принцип работы, основные характеристики.
- •Устройства ввода / вывода данных, их разновидности и характеристики.
- •Программные средства реализации информационных процессов.
- •Программное обеспечение.
- •Назначение и классификация программного обеспечения. Эвм.
- •Понятие системного и сервисного программного обеспечения: назначение возможности и классификация
- •Файловая структура операционных систем. Операции с файлами.
- •Прикладное программное обеспечение.
- •Общая характеристика прикладного программного обеспечения. Классификация и назначение наиболее распространённых прикладных программ
- •1 Проблемно-ориентированные ппп
- •3 Ппп общего назначения
- •4 Офисные ппп
- •6 Методо - ориентированные ппп
- •7 Настольные издательские системы и системы подготовки технических документов.
- •8. Ппп аудиов/ идиео
- •Технологии обработки текстовой информации.
- •Создание и использование стилей и шрифтов в ms Word.
- •Создание и форматирование таблиц и форм документов в ms Word
- •Создание и форматирование графических объектов в ms Word
- •Создание шаблонов и форм в текстовом редакторе ms Word
- •1. Подготовка основного документа. Основной документ может быть подготовлен как:
- •2. Подготовка источника данных.
- •3. Объединение.
- •Электронные таблицы.
- •Назначение ms Excel и возможности обработки данных в среде электронных таблиц
- •Применение электронных таблиц для расчетов. Использование встроенных функций в ms Excel.
- •Визуализация табличных данных с помощью диаграмм и графиков
- •Статистическая обработка данных в Excel.
- •3. Рассчитываем показатели описательной статистики для столбца у.
- •4. Для расчёта показателей открываем модуль «Анализ данных» и в его окне выбираем строку «Описательная статистика».
- •6. Рассчитываем показатели для регрессионно-корреляционного анализа.
- •7. Форматирование листа 2.
- •8. Используя режим предварительного просмотра сделать настройку на печать информации на одной странице.
- •9. Записываем уравнение регрессии.
- •10. Оформляем таблицу «Вывод остатка» и строим по ней график.
- •Создание сводных таблиц в ms Excel. Консолидация данных.
- •Математический пакет MathCad
- •Вычислительные возможности программы.
- •Работа с массивами, решение уравнений.
- •Построение графиков.
- •Регрессионный анализ. Решение оптимизационных задач
- •Технологии обработки графической информации.
- •Растровая и векторная графика.
- •Программы для работы с графикой
- •Создание электронных презентаций.
- •Локальные и глобальные сети эвм. Защита информации в сетях
- •Основы компьютерной коммуникации. Принципы организации и основные топологии вычислительных сетей.
- •Сетевой сервис и сетевые стандарты.
- •4) Служба World Wide Web (www).
- •9) Cистема телеконференций Usenet (от Users Network).
- •Защита информации в локальных и глобальных сетях
- •Базы данных.
- •Основы баз данных и знаний. Субд ms Access
- •Понятие баз данных (бд) и баз знаний. Модели бд.
- •1. Иерархические бд
- •2. Сетевые бд
- •3. Реляционные бд
- •5. Объектно-реляционные
- •6. Очень большие базы данных
- •Системы управления базой данных.
- •Реляционные бд.
- •Начение и возможности бд ms Access
- •Виды запросов. Порядок создания.
- •Виды отчётов. Порядок создания.
- •Алгоритмизация и программирование.
- •Алгоритмизация
- •Понятие алгоритма. Свойства алгоритма и способы описания.
- •Основные алгоритмические конструкции. Базовые алгоритмы.
- •Пример вложенных циклов для
- •Пример вложенных циклов пока
- •Технологии программирования.
- •Структурное программирование
- •Модульный принцип программирования
- •Подпрограммы
- •Принцип проектирования программ сверху-вниз и снизу–вверх.
- •Этапы решения задач на эвм
- •Классификация тестирования программного обеспечения:
- •Языки программирования.
- •Общая характеристика и обзор языков и систем программирования.
- •Бейсик. Характеристика Visual Basic (vb).
- •Интегрированная среда разработки Visual Basic.
- •Объектно-ориентированное программирование.
- •Объектно-ориентированное программирование
- •Объектно-ориентированное программирование
- •Взаимосвязь свойств, методов и событий.
- •Проект. Этапы разработки проекта.
- •Объявление и использование переменных.
- •Переменные, имена и типы переменных.
- •Классификация типов данных
- •Способы объявления переменных.
- •Понятие процедуры, оператора, функции.
- •1. Разбиение программного кода на отдельные компактные модули.
- •2. Разбиение программного кода уже внутри модуля на отдельные части — процедуры.
- •Создание приложений.
- •Создание форм и работа с ними
- •Свойства форм (60 свойств)
- •События форм (31)
- •Методы форм(19)
- •Размещение и использование элементов управления.
- •События, свойства и методы элементов управления.
- •Свойства кнопок(44)
- •События кнопок (17)
- •Методы кнопок(7)
- •2) Метка –Lable Метка на форме
- •3) Текстовое поле – TextBox Текстовое поле на форме
- •Свойства текстовых полей (56)
- •События текстовых полей (23)
- •Методы текстовых полей (11)
- •Создание простого вычислительного проекта. Линейный вычислительный процесс.
- •Создание приложений с ветвлением.
- •Создание приложений с использованием циклов.
Языки программирования.
Общая характеристика и обзор языков и систем программирования.
Языки программирования – формальные искусственные языки. Как и естественные языки, они имеют алфавит, словарный запас, грамматику и синтаксис, а также семантику.
Алфавит – разрешенный к использованию набор символов, с помощью которого могут быть образованы слова и величины данного языка.
Синтаксис – система правил, определяющих допустимые конструкции языка программирования из букв алфавита.
Семантика – система правил однозначного толкования каждой языковой конструкции, позволяющих проводить процесс обработки данных. Семантика определяет смысловое значение предложений языка. Являясь системой правил истолкования отдельных языковых конструкций, семантика устанавливает, какие последовательности действий описываются теми или иными фразами языка и, в конечном итоге, какой алгоритм определен данным текстом на алгоритмическом языке.
Взаимодействие синтаксических и семантических правил определяет основные понятия языка, такие как операторы, идентификаторы, константы, переменные, функции, процедуры и т.д. В отличие от естественных, язык программирования имеет ограниченный запас слов (операторов) и строгие правила их написания, а правила грамматики и семантики, как и для любого формального языка, явно однозначно и четко сформулированы.
Обзор языков программирования
Fortran. Это первый компилируемый язык созданный Джимом Бэкусом в 50-е годы.Программисты,разрабатывавшие программы исключительно нп ассемблере,выражали серьезное сомнение в возможности появления высокопроизводительного языка высокого уровня, поэтому основным критерием при разработке компиляторов Фортрана являлась эффективность исполняемого хода. Хотя в Фортране был впервые реализован ряд важнейших понятий программирования, удобство создания программ было принесено в жертву возможности получения эффективного машинного кода. Однако для этого языка было создано огромное количество библиотек ,начиная от статических комплексов и кончая пакетами управления спутниками, поэтому Фортран продолжает активно использоваться во многих организациях, а сейчас ведутся работы над очередным стандартом Фортрана F2k,который появился в 2000 году. Имеется стандартная версия Фортрана HPF(High Perfomance Fortran) для параллельных супер компьютеров со множеством процессоров
Cobol. Это компилируемый язык для применения в экономической области и решения бизнес задач, разработанный в начале 60-х годов. Он отличается большой "многословностью"- его операторы выглядят как обычные английские фразы. В Коболе были реализованы очень мощные средства работы с большими объемами данных ,хранящимися на различных внешних носителях. На этом языке создано очень много различных приложений, которые активно эксплуатируются и сегодня. Достаточно сказать, что наибольшую зарплату в США получают программисты на Коболе.
Algol. Компилируемый язык, созданный в 1960 году. Он был призван заменить Фортран, но из-за более сложной структуры не получил широкого распространения. В 1968 году была создана версия Алгол68,по своим возможностям опережающая и сегодня многие языки программирования,однако из-за отсутствия достаточно эффективных компьютеров для нее не удалось своевременно создать хорошие компиляторы.
Язык программирования С (Си) первоначально был разработан для реализации операционной системы UNIX в начале 70-х годов. В. последующем приобрел высокую популярность среди системных и прикладных программистов. В настоящее время этот язык реализован на большинстве ЭВМ. Данный язык был создан в лаборатории Bell и первоначально не рассматривался как массовый. Он планировался для замены ассемблера, чтобы иметь возможность создавать столь же эффективные и компактные программы, и в то же время не зависеть от конкретного вида процессора
В С сочетаются достоинства современных высокоуровневых языков в части управляющих конструкций и структур данных с возможностями доступа к аппаратным средствам ЭВМ на уровне, который обычно ассоциируется с языком низкого уровня типа языка Ассемблера. Язык С имеет синтаксис, обеспечивающий краткость программы, а компиляторы способны генерировать эффективный объектный код.
Одна из наиболее существенных особенностей С состоит в нивелировании различий между выражениями и операторами, что приближает его к функциональным языкам. В частности, выражение может обладать побочным эффектом присваивания, а также может использоваться в качестве оператора. Нет также четкой границы между процедурами и функциями, более того, понятие процедуры не вводится вообще.
Синтаксис языка затрудняет программирование и восприятие составленных программ. Отсутствует и строгая типизация данных, что предоставляет дополнительные, возможности программисту, но не способствует написанию надежных программ.
Вasic(Бэйсик) (Beginners All-purpose Symbolic Instruction Code) — многоцелевой язык символических инструкций для начинающих) представляет собой простой язык программирования, разработанный в 1964 году для использования новичками. Он был разработан как простейший язык для непосредственного общения человека с вычислительной машиной. Поэтому первоначально работа велась в интерактивном режиме с использованием интерпретаторов. В настоящее время для этого языка имеются также и компиляторы.
Согласно концепциям, заложенным в Basic, этот язык в смысле строгости и стройности является антиподом языка Pascal. В частности, в нем широко распространены различные правила умолчания, что считается плохим тоном в большинстве языков программирования подобного типа.
Basic широко распространен на ЭВМ различных типов и очень популярен в среде программистов, особенно начинающих. Существует множество диалектов этого языка, мало совместимых между собой. Basic активно поглощает многие концепции и новинки из других языков. Поэтому он достаточно динамичен, и нельзя однозначно определить его уровень.
Pascal (Паскаль) является одним из наиболее популярных среди прикладных программистов процедурным языком программирования, особенно для ПЭВМ. Разработанный в 1970 году швейцарским специалистом в области вычислительной техники профессором Н. Виртом, язык назван в честь французского математика и по замыслу автора предназначался для обучения программированию. Однако язык получился настолько удачным, что стал одним из основных инструментов прикладных и системных программистов при решении задач вычислительного и информационно-логического характера. В 1979 году был подготовлен проект описания языка — Британский стандарт языка программирования Pascal BS6192, который стал также и международным стандартом ISO 7185.
В языке Pascal реализован ряд концепний, рассматриваемых как основа «дисциплинированного» программирования и заимствованных впоследствии разработчиками многих языков. Одним из существенных признаков языка Pascal является последовательная и достаточно полная реализация концепции структурного программирования. Причем это осуществляется не только путем упорядочивания связей между фрагментами программы по управлению, но и за счет структуризации данных. Кроме того, в языке реализована концепция определения новых типов данных на основе уже имеющихся. Этот язык, в отличие от языка С, является строго типизированным. Pascal характеризуется: высоким уровнем; широкими возможностями; стройностью, простотой и краткостью; строгостью, способствующей написанию эф4)ективных и надежных программ; высокой эффективностью реализации на ЭВМ.
Pascal реализован на ЭВМ различных типов, но наиболее распространен и развит для ПЭВМ. В настоящее время широко используются такие версии этого языка для ПЭВМ, как Borland Pascal и Turbo Pascal.
Язык C++ был разработан в начале 80-х годов Б. Страуструпом, сотрудником лаборатории Bell корпорации AT&T. Им была создана компактная компилирующая система, в которой за основу был взят язык С, дополненный элементами языков BCPL, Simula-67 и Algol-68. К июлю 1983 года появился язык С с классами, а чуть позднее — C++. К 1990 году была выпущена третья версия языка C++, принятая комитетом ANSI в качестве исходного материала для его стандартизации.
В 1990 году сотрудник корпорации Sun Д. Гослинг на основе расширения C++ разработал объектно-ориентированный язык Oak, основным достоинством которого былообеспечение сетевого взаимодействия различных по типу устройств. Новая интегрируемая в Internet версия языка, получила название Java. Первый броузер, который поддерживал язык Java, разработан программистом корпорации Sun П. Нафтоном и получил название HotJava. С января 1995 года Java получает распространение в Internet.
Java. Этот язык был создан компанией Sun в начале 60-х годов на основе Си++.Он призван упростить разработку приложений на основе Си++ путем исключения из него всех низкоуровневых возможностей. Но главная особенность этого языка -компиляция не в машинный код, а в платформо-независимый байт-код. Этот байт-код может выполнятся с помощью интерпритатора виртуальной машины Javа-машины JVM(Java Virtyal Machine), версии которой созданы сегодня для любых платформ. Благодаря наличию Java-машин программы на Java можно переносить на не только на уровне исходных текстов, но и на уровне обычного байт-кода, поэтому по популярности язык Ява сегодня занимает первое второе с мире после Бейсика
Согласно официальному определению авторов, Java является простым объектно-ориентированным и архитектурно-нейтральным языком интерпретирующего типа, обеспечивающим надежность, безопасность и переносимость, обладающим высокой производительностью в сочетании с многопоточностью и динамичностью.
С точки зрения возможностей собственно объектно-ориентированных средств язык Java обладает рядом преимуществ перед языком C++. Так, язык Java демонстрирует более гибкую и мощную систему инкапсуляции информации. Механизм наследования, реализованный в Java, обязывает к более строгому подходу к программированию, что улучшает надежность и понимаемость кода. Язык же C++ обладает сложной, неадекватной и трудной для понимания системой наследования. Возможности динамического связывания объектов одинаково хорошо представлены в обоих языках, однако, синтаксическая избыточность C++ заставляет и здесь отдать предпочтение языку Java.
В силу своей конструктивности идеи объектно-ориентированного программирования используются во многих универсальных процедурных языках. Так, например, в состав интегрированной системы программирования на языке PASCAL (корпорации Borland International) версии 5.5 входит специальная библиотека объектно-ориентированного программирования Turbo Vision.
Языки программирования, время появления |
|||||||||||
Ранние, 1940-е гг |
Императивные (процедурные), 1950-е гг |
Декларативные, 1960-е гг |
Функциональные, 1960-е гг |
Логические, 1970-е гг |
Объектно-ориентированные, 1970-е гг |
Языки параллельных вычислений, 1980-е гг |
Языки сценариев, 1990-е гг |
||||
Преимущества |
|||||||||||
- высокая вычислительная эффективность. |
-более высокий уровень абстракции; -меньшая машинная зависимость; -более широкая совместимость; -содержательная значимость текстов программ; -унификация программного кода; -повышение производительности программистов. |
- простота верификации и тестирования программ; - строгость математической формализации; - высокая степень абстракции. |
- автоматическое управление памятью ПК («сборка мусора»); - простота повторного использования фрагментов кода; - расширенная поддержка функций с параметрическими аргументами (параметрический полиморфизм); - абстрагирование от машинного представления данных; - прозрачность реализации самоприменяемых (рекурсивных) функций; - удобство символьной обработки данных (списки, деревья). |
- высокий уровень абстракции; - удобство программирования логики поведения; - удобство применения для экспертных систем; - механизм откатов (backtrack). |
- интуитивная близость к произвольной предметной области; - моделирование сколь угодно сложных предметных областей; - событийная ориентированность; - высокий уровень абстракции; - повторное использование описаний; - параметризация методов обработки объектов. |
- высокая вычислительная эффективность для больших программных систем (тысячи одновременно работающих пользователей или компьютеров); - высокая эффективность функционирования в системах реального времени (системы жизнеобеспечения и принятия решений). |
- интуитивная ясность; - близость к предметной области; - высокая степень абстракции; - высокая переносимость; - возможность повторного использования кода; - совместимость с инструментальными средствами автоматизированного проектирования (CASE) и быстрой разработки (RAD) прикладного программного обеспечения. |
||||
Недостатки |
|||||||||||
- существенная зависимость от среды вычислений. |
- большие трудозатраты на обучение; -меньшая эффективность программного кода. |
- сложность эффективной реализации; - необходимость фундаментальных математических знаний |
- нелинейная структура программы; - относительно низкая эффективность. |
- ограниченный круг задач; - нелинейная структура; - недостаточно эффективная реализация. |
- сложность тестирования и верификации программ |
высокая себестоимость разработки относительно небольших программ (сотни строк кода); - узкий спектр применения. |
- сложность тестирования и верификации программ; - множественные побочные эффекты. |
||||
Примеры |
|||||||||||
машинные коды, ассемблеры. |
Fortran, ALGOL, PL/1, APL, BPL, COBOL, Pascal, C, Basic. |
LISP, Common Lisp, Scheme), SML, Haskell, Prolog |
LISP, SML, CaML, Haskell, Miranda, Hope. |
Prolog, Mercury. |
C++, Visual Basic, C#, Eiffel, Oberon. |
Ada, Modula-2, Oz. |
VBScript, PowerScript, LotusScript, JavaScript, Tcl. |