- •1.Информатика. Основные понятия
- •1.1. Понятие об информации, информационных процессах, информационных системах и информационных технологиях
- •Ошибка! Закладка не определена.. Информационные технологии
- •1.1.1. Информационные системы
- •1.2. Предмет информатики
- •1.3. Информация, сообщения, знаки и символы
- •1.3.1. Сообщения, сигналы
- •1.3.2. Знаки, коды, символы и слова
- •1.4. Алгоритмы. Основные понятия
- •1.4.1. Определение алгоритма. Запись алгоритма. Свойства алгоритмов
- •1.4.2. Примеры алгоритмов. Способы, используемые при записи алгоритмов: рекурсия, итерация, разбор случаев, иерархическое построение
- •1.4.3. Объекты, типы объектов
- •1.4.4. Псевдокод для записи алгоритмов
- •1.4.5. Неструктурированная форма записи алгоритмов
- •1.4.6. Структурированная форма записи алгоритмов
- •1.4.7. Последовательный оператор
- •1.4.8. Условный оператор
- •1.4.9. Оператор цикла
- •1.5. Общая характеристика процессов сбора, передачи, обработки и накопления информации
- •1.6. Подходы к оценке количества информации
- •2.Основные сведения о компьютерах
- •2.1. Системы счисления
- •2.2. Классификация эвм (компьютеров)
- •2.3. Структура и состав персонального компьютера
- •2.4. Микропроцессоры
- •2.6. Устройства ввода информации Клавиатура
- •Другие устройства ввода информации
- •2.7. Устройства вывода информации Дисплеи
- •Принтеры и графопостроители
- •2.8. Эволюция пк
- •3. Программное обеспечение персональных компьютеров
- •3.1. Классификация программного обеспечения
- •3.2. Операционные системы (ос)
- •3.4. Инструментальные системы
- •3.4.1. Языки и системы программирования
- •3.4.2. Системы управления базами данных
- •3.4.3. Инструментарий искусственного интеллекта
- •3.4.4. Текстовые редакторы
- •3.4.5. Интегрированные системы
- •3.5. Прикладное программное обеспечение
- •4. Операционная система. Основные сведения
- •4.1. Операционные системы и файлы
- •4.2.3. Именование каталогов
- •4.2.4. Файловая структура
- •5. Программирование
- •5.1. Компьютерное решение задач. Основные этапы
- •5.1.1. Математическая формулировка и разработка методов решения задачи
- •5.1.2. Разработка алгоритма решения задачи
- •5.1.3. Разработка программы решения задачи. Отладка и тестирование программы
- •5.1.4. Решение поставленных задач на компьютере и анализ результатов
- •5.2. Алгоритмический язык программирования Basic
- •5.2.1. Основные понятия
- •5.2.2. Данные
- •5.2.3. Типы данных
- •5.2.4. Элементарные типы данных
- •5.2.5. Константы
- •5.2.6. Переменная. Оператор объявления переменных
- •5.2.7. Выражения
- •5.2.8. Арифметические выражения
- •5.2.9. Строковые выражения
- •"КазаньÈкгтуÈим.А.Н.Туполева"
- •5.2.10. Логические выражения
- •5.2.11. Оператор присваивания
- •5.2.12. Составные типы данных
- •5.2.13. Структуры. Оператор описания типа данных. Переменные структурного типа
- •5.2.14. Массивы. Переменные типа массива
- •5.2.15. Оператор вывода данных на экран
- •5.2.16. Операторы управления выводом информации на экран
- •5.2.17. Оператор ввода информации с клавиатуры
- •Input ИмяПерем1, ...., ИмяПеремN
- •123,3.1415E-3,"Казань"
- •5.2.18. Составные операторы, задающие последовательность действий
- •If Условие then
- •5.2.20. Оператор выбора
- •Input "введите номер сотрудника", n
- •5.2.21. Оператор цикла
- •5.2.22. Оператор цикла со счетчиком
3.4. Инструментальные системы
Инструментальной системой будем называть совокупность из программного продукта, обеспечивающего разработку информационно-программного обеспечения, и формальных языков, поддерживаемых этими продуктами.
По функциональному назначению инструментальные системы делятся:
· на системы программирования;
· системы управления базами данных;
· инструментарий искусственного интеллекта;
· текстовые редакторы;
· интегрированные системы.
3.4.1. Языки и системы программирования
В настоящее время насчитываются тысячи различных языков программирования. Такое большое количество языков объясняется их специализацией и значительным разнообразием существующих типов компьютеров. Большинством же разработчиков используется только малая часть из существующих языков.
По уровню удобства для программистов языки программирования делятся на языки низкого уровня и языки высокого уровня.
Языками низкого уровня являются:
· машинный язык - непосредственно понятный компьютеру двоичный язык. Программа на машинном языке, т.е. машинная программа, является последовательностью двоичных цифр. Программирование на машинных языках чрезвычайно трудоемко и поэтому в настоящее время для программирования машинные языки не применяются;
· язык Ассемблера - символьная форма машинного языка. В языке Ассемблера используются символические обозначения операций и объектов в памяти. В сравнении с языками высокого уровня язык Ассемблера позволяет разрабатывать программы с наименьшими размерами необходимой памяти и наименьшими затратами машинного времени. Язык Ассемблера из-за его сложности применяется только системными программистами.
На компьютерах различного типа как машинные языки, так и языки Ассемблера сильно разнятся друг от друга.
Для устранения трудностей программирования на языках низкого уровня были созданы более удобные для человека языки программирования высокого уровня. Они являются в значительной мере машинно-независимыми, что позволяет использовать однажды написанную программу на компьютерах разных типов.
Большинство из языков высокого уровня являются алгоритмическими языками программирования, т.е. искусственными языками, предназначенными для записи алгоритмов. Программа на алгоритмическом языке состоит из последовательности операторов, задающих некоторые действия. Из широко используемых в настоящее время алгоритмических языков высокого уровня упомянем такие языки как Fortran, Cobol, Snobol, Basic, C и C++, Pascal, Modula‑2, Ada, Smalltalk. Алгоритмические языки программирования могут быть как универсальными, пригодными для весьма широких классов задач, так и проблемно-ориентированными, пригодными для описания решения задач некоторого узкого класса. Например, язык Cobol предназначен только для решения экономических задач. Большинство из универсальных языков имеют все-таки ориентацию на решение какого-то своего класса задач. Например:
Fortran наиболее эффективен для решения научно-технических задач с большим объемом вычислений;
C++, Pascal - для разработки системного программного обеспечения;
Snobol для задач обработки текстов;
Modula‑2, Ada - для задач управления устройствами и процессами в реальном режиме времени;
Smalltalk - для задач моделирования дискретных процессов.
Существуют и неалгоритмические языки программирования. Они позволяют давать описание метода решения задачи без точного указания последовательности действий, которые при этом должны выполняться. Например, язык функционального программирования Lisp, язык логического программирования Prolog, язык запросов к базам данных SQL. В таких языках программы не являются алгоритмами. Такие программы задают некоторые соотношения между объектами, используя которые инструментальное программное обеспечение компьютера самостоятельно определяет необходимый алгоритм решения задачи и выполняет его.
Программа, записанная на языке высокого уровня, не может быть непосредственно исполнена на компьютере. Предварительно ее нужно преобразовать в машинные коды. Для этого используется дополнительное программное обеспечение.
Под системой программирования понимают совокупность языка программирования и набора программ, которые на реальном компьютере эмулируют (имитируют) работу виртуального (несуществующего) компьютера. Тем самым ЭВМ с низкоуровневым машинным языком как бы превращается в компьютер с машинным языком высокого уровня.
В системах программирования процессы эмуляции сводятся к процессам перевода программ на машинный язык и процессам выполнения их компьютером. Они могут сочетаться одним из двух способов:
1) способ, называемый компиляцией, состоит в том, что вначале программа на языке высокого уровня полностью переводится в эквивалентную ей программу на машинном языке. Произведенная в результате машинная программа готова к непосредственному выполнению на компьютере. Программа, реализующая процесс компиляции, называется компилятором;
2) способ сочетания процессов перевода и выполнения программы называется интерпретацией. Этот способ заключается в том, что отдельные операторы программы сразу после перевода в машинные коды выполняются. Перевод и выполнение производятся оператором за оператором. При интерпретации машинная программа не производится. Программа, реализующая процесс интерпретации, называется интерпретатором.
Компиляторы в отличие от интерпретаторов обеспечивают в итоге более высокую скорость выполнения программ. Однажды скомпилированная машинная программа может затем многократно выполняться. При интерпретации же, помимо выполнения, каждый раз происходит перевод операторов в машинные коды. В итоге общее время интерпретации программы может превысить в несколько раз суммарное время компиляции и выполнения откомпилированной программы.
Применение интерпретатора удобней на этапе разработки программы. В новой программе неизбежно присутствует масса ошибок, вызывающих неправильную ее работу. Визуальный просмотр программы для определения местонахождения причин ошибок часто не приводит к результату. Наиболее практичный способ состоит в пошаговом наблюдении за процессом выполнения. Пошаговое наблюдение за интерпретацией программы для программиста удобнее, чем при компиляционном способе работы.
Система программирования помимо языка программирования, компилятора или интерпретатора содержит в себе другие средства, нужные для разработки и выполнения программ. К ним относятся:
· программа редактирования текстов, служащая для набора и модификации текстов программ и исходных данных;
· библиотеки стандартных подпрограмм - наборы наиболее часто используемых подпрограмм (автономных частей программ). Использование заранее разработанного профессионалами набора подпрограмм освобождает программиста от необходимости собственной разработки многих стандартных действий. В качестве примера можно назвать математическую библиотеку, содержащую подпрограммы решения наиболее распространенных математических задач;
· отладчик - средство, позволяющее осуществлять контролируемое выполнение программы. С его помощью можно приостанавливать выполнение, наблюдать за программными объектами и их значениями и т.д. Основное назначение отладчика - локализация причин, вызывающих неправильное функционирование программы, т.е. отладка программ. Для систем программирования с компиляционным способом работы отладчик является отдельной программой. При интерпретационном способе работы отладочные средства встраиваются прямо в программу-интерпретатор.
Для каждого широко распространенного языка программирования в настоящее время существует целый ряд непрерывно совершенствующихся систем программирования. При этом большинство из них имеют вид интегрированной среды программирования, объединяющей в единое целое все средства разработки и выполнения программ - текстовый редактор, компилятор или интерпретатор, отладчик и библиотеки стандартных подпрограмм. Интегрированные среды программирования предоставляют наиболее удобную форму в работе.
Профессионалы для разработки, чаще всего, используют системы программирования в виде так называемого комплекса автономных средств. Эти комплексы позволяют разрабатывать наиболее качественные программы, но при этом программисту приходится самому организовывать взаимодействие между отдельными программами, входящими в такую систему программирования.