- •Введение.
- •Лекция 1 Основные понятия информатики
- •1.1. Информация и формы ее представления
- •1.2. История развития информатики
- •1.3. Классификация эвм
- •1.4. Современные технические средства информационной и вычислительной техники (краткий обзор)
- •1.5. Структурная схема эвм
- •1.6. Классификация программного обеспечения.
- •Основная
- •Лекция 2 Основы программирования. Языки и системы программирования
- •2.1. История развития языков программирования.
- •2.2. Понятие алгоритма и программы.
- •2.3. Графическое изображение алгоритмов. Блок – схемы основных вычислительных процессов (линейного, разветвляющегося, циклического).
- •Вопросы для самоконтроля
- •Основная
- •Лекция 3 Язык программирования qbasic
- •3.1. Язык программирования qbasic
- •3.2. Линейный, разветвляющийся и циклический процессы
- •3.4. Некоторые часто встречающиеся алгоритмы
- •Вопросы для самоконтроля
- •Основная
- •Лекция 4 Работа с массивами
- •4.1. Понятие массива. Индексы. Операции с массивами
- •Вопросы для самоконтроля
- •Основная
- •Лекция 5 Арифметические основы эвм
- •5.1. Позиционная система счисления.
- •5.2. Перевод чисел из одной системы счисления в другую.
- •5.3. Арифметические операции в различных системах счисления..
- •5.4. Представление данных в эвм.
- •5.5. Логические основы эвм
- •Вопросы для самоконтроля
- •Основная
- •Лекция 6 Основы работы с операционной системой Windows
- •6.1. Стандартные приложения Windows
- •6.2. Графический редактор paint.
- •Вопросы для самоконтроля
- •Основная
- •Лекция 7 Основы работы с текстовым процессором Word
- •Добавление строк и столбцов в таблицу
- •Изменение ширины столбца таблицы
- •Вопросы для самоконтроля
- •Основная
- •Лекция 8 Назначение и функциональные возможности электронных таблиц Excel
- •8.1. Электронные таблицы Excel. Основные сведения
- •8.2. Пакеты надстроек в ms Excel
- •8.3. Матричные операции в ms Excel
- •Вопросы для самоконтроля
- •Основная
- •Лекция 9 Понятие баз данных
- •9.1. Базы данных.
- •9.2. Реляционные модели, структура и данные
- •9.3. Окно конструктора таблиц. Поля, типы данных ms access, свойства полей. Задание ключевых полей. Режим таблицы.
- •Вопросы для самоконтроля
- •Основная
- •Библиографический список
- •Содержание
- •Вопросы выходного контроля
- •Раздел 1. Операционная система Windows и текстовый процессор word
- •Раздел 2. Электронные таблицы excel
- •Раздел 3. Система управления базами данных access
Основная
Безручко, В.Т. Практикум по курсу «Информатика». Учебное пособие. – 3е изд./ В.Т. Безручко.– М.: Финансы и статистика, 2005. – 544 с.
Симонович, С.В. Информатика: Базовый курс / С.В.Симонович и др./ - СПб: Питер, 2007. - 640 с.
Ляхович, В.Ф. Основы информатики. Учебное пособие. / В.Ф. Ляхович. - Ростов н/д: Феникс, 2006. – 608 с.
Дополнительная литература:
Попов, В.Б. Основы компьютерных технологий, /В.Б. Попов М.: Финансы и статистика, 2002. – 703с.
Лекция 2 Основы программирования. Языки и системы программирования
2.1. История развития языков программирования.
Языки программирования претерпели большие изменения с тех пор, как и 40-х годах XX века началось их использование. Первые языки программирования были очень примитивными и мало чем отличались от формализованных упорядочении двоичных чисел (единиц и пулей), понятных компьютеру. Их называют языками программирования низкого уровня. Использование таких языков было крайне неудобно с точки зрения программиста, так как он должен был знать числовые коды всех машинных команд и собственноручно распределять память под команды программы и данные.
Чтобы упростить общение человека с компьютером, были разработаны языки программирования типа Ассемблер, в которых переменные величины стали изображаться символическими именами, а числовые коды операций были заменены на мнемонические (словесные) обозначения, которые легче запомнить. Язык программирования приблизился к человеческому языку, но удалился от языка машинных команд. Поэтому чтобы компьютер мог работать на языке Ассемблера, понадобился транслятор – программа, переводящая текст программы на Ассемблере в эквивалентные машинные команды. Языки типа Ассемблер являются машино-ориентированными, потому что они настроены на структуру машинных команд конкретного компьютера. Разные компьютеры с разными типами процессоров имеют разный Ассемблер.
В 50-х годах XX века в связи с широким применением компьютеров и различных областях науки и техники возникла серьезная проблема: простые пользователи не могли работать с компьютером из-за сложности языков программирования, а профессиональные программисты были не в состоянии обслужить огромное количество пользователей. Решением данной проблемы явилось создание языков программирования высокого уровня, форма записи программ на которых по сравнению с Ассемблером и машинными языками ближе к традиционной математической форме и разговорному языку. Важным преимуществом языков программирования высокого уровня является машинная независимость, поэтому одна и та же программа на таком языке может быть выполнена на компьютерах различных типов, оснащенных соответствующим транслятором. К недостаткам программ, написанных на языках высокого уровня, относятся большой объем занимаемой памяти и более медленное выполнение, чем у программ на машинных языках или языках Ассемблера. Первыми популярными языками высокого уровня, появившимися в 50-х годах XX века, были Fortran, Cobol и Algol.
В 60-70-х годах XX века появилось огромное количество новых языков программирования. В 1965 году появились два новых важных языка. Для обучения программированию был разработан язык, который являлся упрощенной версией Фортрана и получил название Basic (Beginner's All-purpose Simbolic Instruction Code, многоцелевой код символических команд для начинающих). Basic предоставил пользователю разнообразные средства для диалога с компьютером во время выполнения программы. Вторым языком, появившимся в 1965 году, был PL/1 (Programming Language 1, язык программирования 1). При его создании наследовалась цель создать язык, сочетающий в себе лучшие свойства Algol, Cobol и Fortran, и в конечном итоге заменяющий своих предшественников. Однако этого не произошло, в связи с тем что PL/1 не проявил тех преимуществ, которые оправдали бы переход к нему. К тому же большое количество средств и разнообразие операторов ПЛ/1 привели к сложности в его изучении.
В 1971 году профессор Н. Вирт из института информатики Швейцарской высшей политехнической школы в Цюрихе разработал новый язык, получивший название Pascal (в честь математика XVII века Блеза Паскаля). Язык Pascal основан на Алголе и создавался как учебный язык, в нем строго соблюдена структурная линия программирования. В силу своих достоинств Pascal послужил источником для создания многих современных языков программирования, таких как Ada, С и Modula-2.
Язык С первоначально был разработан для компьютеров, использующих операционную систему UNIX. Он является относительно простым языком, в нем нет операций над символьными строками и списками, но, в отличие от Pascal, в нем заложены возможности непосредственного обращения к некоторым машинным командам, к определенным участкам памяти компьютера. Язык С широко используется как инструментальный язык для разработки операционных систем, трансляторов, баз данных, а также других системных и прикладных программ.
В развитии языков программирования выделяются два основных направления: процедурное и непроцедурное. В процедурных языках программа явно описывает действия, которые необходимо выполнить, а результат задается способом получения его при помощи некоторой процедуры – определенной последовательности действий. Основными средствами, применяемыми в этих языках, являются величины (в том числе и табличные), присваивания, циклы, процедуры. При построении процедурной программы необходимо ясно представлять, какие действия и в какой последовательности будут производиться при ее выполнении. Среди процедурных языков можно, в свою очередь, выделить структурные и операционные языки. В структурных языках одним оператором записываются целые алгоритмические структуры: ветвления, циклы. В операционных языках для этого используется несколько операций. Широкое распространение получили структурные языки Pascal, С, Ada, PL/1 и операционные языки Fortran, Basic, Focal.
Непроцедурное (декларативное) программирование появилось в начале 70-х годов, но его развитие началось в 80-е годы в связи с проектом по созданию компьютеров пятого поколения, целью которого явилась подготовка почвы для создания интеллектуальных машин. К непроцедурному программированию относятся функциональные и логические языки. В функциональных языках программа описывает вычисление некоторой функции. Обычно эта функция задается как композиция других, более простых, те в свою очередь разбиваются на еще более простые, и т.д. Один из основных элементов в функциональных языках – рекурсия, т.е. вычисление значения функции через значение этой же функции от других элементов. Наиболее распространенными среди функциональных языков являются Lisp и Refal. Lisp, являющийся языком обработки списков, давно и активно применяется в системах искусственного интеллекта. Refal, построенный на алгоритмах Маркова, удобен для обработки текстов и является единственным из распространенных в мире языков программирования, разработанным в нашей стране. Промежуточное положение занимает язык Logo, который содержит средства и процедурного, и функционального программирования. На начальном уровне он похож на классический процедурный язык, а при решении сложных задач обработки данных на первый план выходят функциональные методы.
Функциональная программа, как и процедурная, описывает действия, которые надо совершить для достижения результата (вызов функции – это тоже действие), но ее построение требует скорее математического, чем алгоритмического мышления.
В логической традиции программа вообще не описывает действий. Она задает данные и соотношения между ними. После этого можно задавать вопросы. Машина перебирает известные (заданные в программе) данные и находит ответ на вопрос. Порядок перебора не описывается в программе, а неявно задается самим языком. Классическим языком логического программирования считается Prolog, хотя он и содержит некоторые средства управления перебором, т.е. процедурные элементы. Построение логической программы вообще не требует алгоритмического мышления. Здесь нет динамики, нет описания действий, программа описывает статические отношения объектов, а динамика находится в механизме перебора и скрыта от программиста.
Можно выделить еще один класс языков программирования – объектно-ориентированные языки сверхвысокого уровня. На таких языках не описывают подробной последовательности действий для решения задачи, хотя они содержат элементы процедурного программирования. Объектно-ориентированные языки, благодаря богатому пользовательскому интерфейсу, предлагают человеку решить задачу в удобной для него форме. Примером такого языка может служить язык программирования визуального общения SmallTalk. Трудно провести четкую границу между системами программирования сверхвысокого уровня и прикладным программным обеспечением. Как те, так и другие системы позволяют работать с ними неквалифицированному пользователю, не являющемуся программистом.
Языки программирования принято делить на 5 поколений.
1 поколение – это языки созданные в начале 50-х годов прошлого века (первый язык ассемблер, созданный по принципу «одна инструкция – одна строка»).
2 поколение – конец 50-х начало 60-х годов (символический ассемблер, в котором появилось понятие переменной).
3 поколение – 60-е годы, языки высокого уровня BASIC, ADA, Fortran, PASCAL, Algol, Cobol .
4 поколение – начало 70-х до настоящего времени; проблемно-ориентированные языки предназначенные для реализации крупных проектов с помощью понятий узкой предметной области (Prolog, Smalltak(Смолток), Си++, Java, C#(Си Шарп))
5 поколение – середина 90-х годов по настоящее время; языки описания для создания прикладных программ с помощью визуальных средств разработки , без знания программирования (Dbase, Visual BASIC, Delphy[визуальный Паскаль]).