Информатика и программирование лекции. Информатика и программирование. Тезис реализует сам себя. Если какая-то область разработки программного обеспечения вдруг решена строго, то вы можете просто изменить определение разработки ПО, чтобы исключить из него

  • 18.04.2019

Основными задачами обучения информатике в средней школе можно считать следующие:

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

В современных условиях программа курса должна, по мнению автора, удовлетворять следующим основным требованиям:

  • обеспечивать знакомство с фундаментальными понятиями информатики и вычислительной техники на доступном уровне
  • иметь практическую направленность с ориентацией на реальные потребности , соответствующие возрасту ученика;
  • изучение материала должно строиться по принципу спирали (в каждом классе изучаются те же базовые разделы, но на более высоком уровне);
  • должна охватывать как алгоритмическое направление, так и вопросы практического применения компьютеров, то есть, курс ОИВТ должен быть интегрированным ;
  • необходима ориентация на существующий парк вычислительной техники и дополнительные ограничения (в частности, в приведенной ниже программе количество теоретических и практических занятий примерно одинаково, причем они чередуются);
  • допускать возможность варьирования в зависимости от уровня подготовки и интеллектуального уровня учащихся (как группового, так и индивидуального);
  • предусматривать возможность индивидуальной работы с учащимися, чей уровень подготовки отличается от среднего по классу.

Ни одна из программ, предлагаемых Министерством образования РФ (Программы общеобразовательных учреждений. Информатика, М: Просвещение, 2000 ), не удовлетворяет этим требованиям. Это обстоятельство вынудило автора составить свою собственную программу, которая (с ежегодными естественными модификациями) реализуется в 163 школе с 1991-1992 учебного года.

Курс предназначен для классов с углубленным изучением информатики и предусматривает (кроме обязательного базового курса)

  • изучение принципов хранения и обработки данных в компьютерах;
  • глубокое изучение программирования на различных алгоритмических языках, принципов выбора языка программирования для решения конкретной задачи;
  • изучение структуры и принципов работы различных операционных систем, взаимосвязи программных и аппаратных средств;
  • изучение стандартных алгоритмов и численных методов решения задач;
  • знакомство с современными методами программирования (включая основы объектно-ориентированного подхода);
  • овладение практическими навыками программирования в виде выполнения индивидуальных проектов.

На изучение курса отводится 510 часов (1 час в неделю в 5 классе, по 2 часа в неделю в 6-9 классах и по 3 часа в неделю в 10-11 классах). В старших классах дополнительное время на разработку собственных проектов учащимися обеспечивается за счет индивидуальных, факультативных и кружковых занятий. В программе курса предусмотрено примерно равное количество часов, отведенных на теоретические и практические занятия.

Одной из важнейших задач любого школьного курса является формирование навыков самостоятельного поиска информации. Поддержка предлагаемого курса осуществляется с помощью школьного Web-сайта (Интранет), в ходе выполнения работ учащиеся используют его ресурсы для получения дополнительной информации и самостоятельного освоения некоторых тем. Во всех классах, начиная с 6-ого, предусматривается широкое использование глобальной сети Интернет.

Основы информатики

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

Наиболее плодотворной идеей в методике преподавания алгоритмизации является идея перехода от математических объектов и алгоритмов к исполнителям . В предлагаемом курсе для записи алгоритмов используется оригинальный алгоритмический язык, основу которого составляют конструкции языка Си . Синтаксис языка Си был дополнен командами конкретных исполнителей - Черепаха , Робот и Чертежник , а также оператором цикла повтори (repeat ), заимствованным из языка LOGO . Освоение основных алгоритмических конструкций на примерах управления исполнителем дает возможность избежать излишней математизации предмета. Более того, использование исполнителей облегчает восприятие учениками основных алгоритмических конструкций и позволяет изучать их с 5-6 класса.

Компьютерные технологии

Большинство существующих учебников и пособий для средней школы, в которых рассматриваются компьютерные технологии, ориентируются, по мнению автора, на механическое повторение учащимся некоторых предписанных действий. В то же время при изучении технологий чрезвычайно важно добиться не просто механического выполнения действий, а понимания их сущности. Поэтому учащимся никогда не предлагается готовый алгоритм выполнения практических работ. На теоретических занятиях излагаются приемы решения тех или иных промежуточных задач, а практические работы построены так, что каждый учащийся вынужден самостоятельно определить последовательность своих действий. Это особенно важно потому, что во многих случаях нужную операцию можно выполнить по-разному, и каждый имеет возможность выбрать лучший именно для него способ решения задачи.

Результативность

Литература

  1. Шауцукова Л.З. Информатика 10-11 кл. М.: Просвещение, 2002.
  2. Пейперт С. Переворот в сознании: дети, компьютеры и плодотворные идеи. - М.: Педагогика, 1989.
  3. Звенигородский Г.А. Первые уроки программирования (Б-ка "Квант", вып. 41).
  4. Дуванов А., Зайдельман Я., Первин Ю., Гольцман М. Роботландия - курс информатики для младших школьников // Информатика и образование", 1988 - № 1, 5; 1989 - № 4, 5; 1990 - № 1, 2, 3, 4, 6; 1991 - № 1, 4, 5, 6.
  5. Кушниренко А.Г., Лебедев Г. В., Сворень Р.А. Основы информатики и вычислительной техники. - М.: Просвещение, 1991.
  6. Н. Вирт. Алгоритмы и структуры данных. М: Мир, 1989.
  7. Учебник Информатика 9 кл. под ред. Макаровой Н. В. - СПб.: Питер, 1999.
  8. Угринович Н. Информатика и информационные технологии - М.: БИНОМ. Лаборатория знаний, 2003.
  • Программирование
    • Перевод

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

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

    А теперь я работаю с разработкой ПО, и это невыносимо скользкая тема. Ни одна концепция точно не определена. Результаты оцениваются с характеристиками «обычно» или «в целом». Сегодняшние исследования могут или не могут помочь завтрашней работе. Новые подходы часто опровергают предыдущие методы, а сами ярко горят недолгое время, а потом выходят из моды, когда всплывают их ограничения. Мы верили в структурное программирование. Затем начали верить в языки четвёртого поколения, потом в объектно-ориентированные методы, потом в экстремальное программирование, а теперь, может быть, в open source.

    Но программирование - это именно то место, где происходит контакт шины с асфальтом. Мало кого волнует, действительно ли равняется , чисто ради красоты вопроса. Компьютерная область имеет дело с компьютерами. Это написание программ для решения реальных человеческих проблем и работа этих программ на реальных машинах. Согласно тезису Чёрча-Тюринга , всё компьютерное оборудование по существу эквивалентно. Так что пока компьютерная архитектура классная, реальным ограничением в информатике остаётся проблема создания программного обеспечения. Нам нужны программы, которые можно собрать за разумное время и за разумную стоимость, которые работают примерно так, как планировали дизайнеры, и работают без ошибок.

    Имея такую цель, я всегда был озабочен одним вопросом (как и многие другие исследователи): почему программисты не могут получить более строгие результаты, как в других областях информатики? Если спросить иначе, «Какую часть архитектуры и конструкции программ можно сделать формальной и доказумой?» Ответ на этот вопрос находится на рисунке 1.


    Рисунок 1: Яркая линия в информатике

    Темы выше этой линии принадлежат к разработке программного обеспечения. Области исследования ниже этой линии - основные предметы информатики. У последних есть ясные, формальные результаты. Для открытых проблем в этой области мы ожидаем получения новых результатов, которые будут формально сформулированы. Эти темы основаны друг на друге: криптография на сложности, а компиляторы на алгоритмах, например. Более того, мы верим, что доказанные результаты в этих областях останутся таковыми и через 100 лет.

    Так что это за яркая линия, и почему ниже неё нет ни одной из тем программирования? Линия - это качество под названием «прямое человеческое участие». У разработки ПО есть такое качество, а у традиционной информатики его нет. Результаты из дисциплин ниже линии могут быть использованы людьми, но эти результаты напрямую не подвержены влиянию людей.

    У разработки ПО есть неотъемлемый человеческий компонент. Например, эксплуатационная надёжность ПО представляет собой возможность понимания, нахождения и исправления человеком дефектов программной системы. На эксплуатационную надёжность могут влиять некоторые формальные понятия информатики - может быть, цикломатическая сложность графа контроля программного обеспечения. Но эксплуатационная надёжность критически зависит от людей и их способности постигать значение и замысел исходного кода. На вопрос, обладает ли конкретная программная система высокой эксплуатационной надёжностью, невозможно ответить просто механически изучив ПО.

    То же самое с безопасностью. Исследователи использовали некоторые формальные методы, чтобы узнать влияние программной системы на здоровье и собственность людей. Но никакая дискуссия о безопасности программ не может считаться завершённой без обращения к человеческому компоненту изучаемой системы. Аналогично для разработки требований. Мы можем разработать любые техники опроса, чтобы добиться от заинтересованных сторон точных требований, и можем создать различные системы для их записи. Но никакой объём исследований в этой области не изменит того факта, что сбор требований часто предусматривает разговор или наблюдение за людьми. Иногда эти люди сообщают нам правильную информацию, а иногда - нет. Иногда люди лгут, возможно, по уважительным причинам. Иногда люди честно пытаются передать правильную информацию, но не могут этого сделать.

    Это наблюдение приводит к Тезису Коннелла:

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


    Это экстра-математическое утверждение о границах формальных систем. Я не имею никаких доказательств за или против. Но факт в том, что человеческие проблемы остаются центральными вопросами разработки программного обеспечения:
    • Что должна делать эта программа? (требования, юзабилити, безопасность)
    • Как должна выглядеть программа внутри, чтобы её легко было починить и модифицировать? (архитектура, дизайн, масштабируемость, переносимость, расширяемость)
    • Как долго займёт её написание? (оценка)
    • Как мы должны её разрабатывать? (кодирование, тестирование, измерение, конфигурация)
    • Как следует эффективно организовать работу команды? (менеджмент, процесс, документация)
    Все эти проблемы вращаются вокруг людей.

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

    Прежде чем перейти к последствиям моего утверждения, рассмотрим три вероятных возражения:

    Тезис реализует сам себя. Если какая-то область разработки программного обеспечения вдруг решена строго, то вы можете просто изменить определение разработки ПО , чтобы исключить из него эту проблему.


    В чём-то это возражение верное, но не во всём. Я утверждаю, что набор дисциплин, обычно называемый разработкой программного обеспечения, будет и дальше по существу бросать вызов строгому решению. Узкие аспекты некоторых проблем могут поддаваться формальному подходу, но их успех будет лишь на периферии ключевых проблем разработки.

    Статистические результаты в программировании уже опровергают этот тезис.


    Эти методы в целом решают проблему оценки и включают в себя Function Point Counting, COCOMO II , PROBE и другие. Несмотря на свой математический вид, эти методы не являются доказательствами или формальными результатами. Такая статистика - просто попытка квантифицировать субъективный человеческий опыт по прошлым софтверным проектам и экстраполировать его на будущие проекты. Иногда работает. Но внешне строгие формулы в этих схемах - это свинья с губной помадой, если использовать современное выражение. Например, одна из формул в COCOMO II выглядит так: , где , а - это набор из пяти факторов масштабирования , таких как «гибкость разработки» и «сплочённость команды». Сама формула выглядит строго, но в ней доминирует показатель, составленный из человеческих факторов.

    Формальные процессы разработки, такие как метод «чистой комнаты», постепенно находят строгие, доказуемые методы. Они поднимают яркую линию, чтобы перенести под неё ранее размытые темы.


    Действительно, исследователи формальных процессов демонстрируют прогресс в решении разных проблем. Но их можно уличить в нарушении самого первого возражения в этом списке: они слишком узко определяют разработку ПО, чтобы она поддалась строгому решению. Формальные методы просто удобно для себя истолковывают любую проблему, которая основана на человеческом участии и интерпретации. Например, ключевым элементом формальных методов разработки является создание строгих, недвусмысленных спецификаций. Эти спецификации затем используются для проведения (и доказательства) последующих этапов разработки. Конечно, формальный метод может содержать недвусмысленную схему семантической нотации. Но никакой формальный метод не содержит точного рецепта, как перевести в недвусмысленное состояние смутные мысли людей о том, что должна делать программа.

    Вопреки этим возражениям я заявляю, что разработка ПО по существу отличается от традиционной, формальной информатики. Первая зависит от людей, а вторая - нет. Это приводит нас к Заключению Коннелла:

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


    Например, Дэвид Парнас в 1972 году написал замечательную научную статью «О критериях разложения системы на модули ». Она описывает простой эксперимент, который Парнас провёл с альтернативными стратегиями дизайна ПО, одна с сокрытием информации, а другая с глобальной видимостью данных. Затем на основе этого маленького эксперимента он вывел несколько заключений и привёл рекомендации. Ничего в статье не является доказанным, и Парнас не гарантирует, что следуя рекомендациям каждый получит аналогичный результат. Но статья содержит мудрые советы и сильно повлияла на популярность объектно-ориентированных языков программирования.

    Другой пример - это огромная работа Института программной инженерии в Университете Карнеги - Меллон, известная как CMMI . CMMI начиналась как модель процесса разработки ПО, а теперь разрослась и включила в себя также другие типы проектов. Объём CMMI примерно 1000 страниц - не считая примеров, интерпретаций и обучающих материалов - и она представляет более 1000 человеко-лет работы. Многие крупные организации использовали её и добились значительного прогресса в своих процессах разработки ПО и продуктах. Но в CMMI нет ни единого твёрдо доказанного результата. Это просто набор (хорошо проработанных) предложений, как организовать софтверный проект на основе методов, которые были эффективны для других организаций в прошлом. На самом деле Институт программной инженерии констатирует, что CMMI - это даже не процесс, а скорее мета-процесс, детали которого заполняются каждой организацией.

    Другие области исследований в том же духе - это паттерны дизайна, стили архитектуры, рефакторинг на основе сомнительных методов, гибкая методология разработки и визуализация данных. Эти дисциплины могут частично содержать проверенные результаты, но в целом нацелены на системы, которые изначально содержат человеческое участие. Чтобы внести ясность: ключевые темы информатики (ниже яркой линии) - жизненно важные инструменты для любого разработчика. Знания алгоритмов важны при проектировании высокопроизводительных приложений. Теория массового обслуживания помогает проектировать ядро операционной системы. Методология «чистой комнаты» тоже полезна в некоторых ситуациях. Анализ статистики может пригодиться при планировании похожих проектов с похожей группой участников. Но формализм - это просто необходимое, а не достаточное условие для хорошей разработки. Давайте для примера рассмотрим строительство и архитектуру (то есть дома и здания).

    Представьте блестящего инженера-строителя, лучшего в мире эксперта по строительным материалам, зависимости деформаций от напряжений, распределению нагрузок, защите от сдвига ветров и подземных толчков, и т. д. Этот парень занесён в записные книжки архитекторов во всех странах, чтобы звонить ему для консультаций по каждому строительному проекту. Будет ли этот мифический инженер-строитель настолько же хорош в проектировании зданий, которые он анализирует? Совсем нет. Он может теряться в разговорах с клиентами, неспособен проектировать приятные для проживания места, его фантазии не хватает, чтобы придумать решения для новых проблем, и он до чёртиков скучен. Техника строительства полезна для реальных архитекторов, но её недостаточно для хорошего проекта. Удачная архитектура требует креативности, концепции, междисциплинарного мышления и гуманизма.

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

    Выражение признательности
    Благодарю Стива Гомера за дискуссию, которая разожгла мой интерес к этому вопросу.

    1. Алгоритм и его свойства. Изобразительные средства алгоритмов: словесный, формульно-словесный, блок-схемный. Изобразительные средства алгоритмов: структурные диаграммы, псевдокод, языки программирования 3

    2. Структурное программирование. Основные принципы структурной методологии. Нисходящее проектирование, его применение. Модульное программирование. Структурное кодирование. Базовые канонические структуры, используемые при проектировании алгоритмов линейных, разветвляющихся и циклических вычислительных процессов 4

    3. Классификация языков программирования. Общая характеристика языка Паскаль. Структура Паскаль-программы. Прокомментировать назначения разделов. Формат и правила выполнения оператора присваивания. Понятие и применение составного оператора. 6

    4. Понятие процедуры и функции в Паскале. Их назначение, применение, варианты размещения в программе 9

    5. Правила построения процедуры, размещение ее в программе обращение к ней из вызывающей программы. Обмен информацией между процедурой и вызывающей программой: понятие формального и фактического параметра. Технологии передачи параметров – по ссылке и по значению. Применение этих технологий 10

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

    7. Сравнительный анализ возможностей процедуры и функции. Возможности преобразования процедуры в функцию и наоборот. 13

    8. Понятие рекурсии. Рекурсивные процедуры и функции, их применение, достоинства и недостатки 13

    9. Область действия (видимости) имен. Глобальные и локальные переменные. Достоинства и недостатки использования глобальных переменных и параметров при обмене информацией между программами. Рекомендации по применению 14

    10. Запись как тип данных. Работа с записями: описание записи, оператор присоединения, запись с вариантами. Использование записей. 15

    11. Файлы в Паскале. Понятие физического и логического файла, соотношение между ними. Типы файлов и их описание, стандартные процедуры и функции для работы с файлами. Общие характеристики методов доступа к файлам 16

    12. Статическая и динамическая память. Общие сведения об управлении динамической памятью с помощью стандартных процедур и функций (GetMem, FreeMem; New, Dispose). 19

    13. Динамические структуры данных. Динамические массивы (одномерные и двумерные), работа с ними 22

    14. Динамические структуры данных. Списки. Основные виды списков. Действия со списками 24

    15. Однонаправленные (линейные) списки. Описание, создание, просмотр списка, добавление и удаление элементов 28



    16. Двунаправленные, симметричные списки. Описание, создание, просмотр списка, добавление и удаление элементов 31

    17. Кольцевые, циклические списки. Описание, создание, просмотр списка, добавление и удаление элементов 34

    18. Бинарное дерево. Основные определения и понятия. Бинарный поиск по дереву. Формирование бинарного дерева этим методом 36

    19. Бинарное дерево. Основные операции с бинарными деревьями. Способы обхода бинарного дерева. Варианты поиска по бинарному дереву. 38

    20. Рекурсия при работе со списками и деревьями. Очередь, стек, дек как формы работы со списком, действия над ними 40

    21. Тестирование. Понятие и цель тестирования. Правильное и неправильное определение тестирования. Основные определения. Тестирование методом «чёрного ящика». Тестирование методом «белого ящика» 42

    22. Отладка. Общие принципы, методы отладки. Взаимосвязь процессов тестирования и отладки, использование автоматических средств отладки. 44

    23. Основные принципы объектно-ориентированного программирования: инкапсуляция, наследование, полиморфизм. Отличие объектно-ориентированного подхода от модульного при разработке программ 46

    24. Классы и объекты: их определение, соотношение между ними. Роль составляющих класса – полей, свойств, методов. Спецификаторы доступа published, public, private, protected. Конструкторы и деструкторы, их роль. События и их использование в управлении программой. 48

    25. Основные отличия языка Object Pascal (Delphi) от Turbo Pascal. Динамические массивы в Delphi: описание, особенности, применение. 50

    26. Структура модулей в Delphi. Интерфейсная, исполняемая части, инициирующая и завершающая части. Процедуры и функции: особенности в Delphi 51

    27. Работа с файлами и папками в Delphi: стандартные процедуры и функции, дополнительные возможности по сравнению с Паскалем, окна диалогов работы с файлами. 53

    28. Определение термина «сертификация», виды сертификации. Организационная система сертификации 56

    29. Основные функции органа по сертификации. 57

    30. Правовые основы сертификации в Российской Федерации. Требования, предъявляемые к испытательным лабораториям 58

    31. Значение метрологии программных средств для повышения их качества и конкурентоспособности 60

    32. Качество программного средства и его оценка. Показатели качества программных средств 61

    33. Надёжность программных средств и её оценка. Модели надёжности. 63

    34. Проблемы, цели и задачи технико-экономического анализа разработки программных средств. Показатели технико-экономического анализа. 65

    35. Оценка экономической эффективности программных средств. 67

    36. Сертификация, метрология и научно-технический прогресс. 68


    1. Алгоритм и его свойства. Изобразительные средства алгоритмов: словесный, формульно-словесный, блок-схемный. Изобразительные средства алгоритмов: структурные диаграммы, псевдокод, языки программирования

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

    Алгоритм – это точное предписание, определяющее вычислительный процесс, ведущий от варьируемых начальных данных к искомому результату.

    Свойства алгоритма:

    1) детерминированность – точность указаний, исключающая их произвольное толкование;

    2) дискретность – возможность расчленения вычислительного процесса на отдельные элементарные операции, возможность выполнения которых не вызывает сомнений;

    3) результативность – прекращение процесса через определенное число шагов с выдачей искомых результатов или сообщения о невозможности продолжения вычислительного процесса;

    4) массовость – пригодность алгоритма для решения всех задач заданного класса.

    Алгоритмический язык – набор символов и правил образования и истолкования конструкций из этих символов для записи алгоритмов.

    Основными изобразительными средствами алгоритмов являются следующие способы их записи:

    Словесный;

    Формульно-словесный;

    Блок-схемный;

    Псевдокод;

    Структурные диаграммы;

    Языки программирования.

    Словесный – содержание этапов вычислений задается на естественном языке в произвольной форме с требуемой детализацией.

    Формульно-словесный – задание инструкций с использованием математических символов и выражений в сочетании со словесными пояснениями.

    Блок-схемный – это графическое изображение логической структуры алгоритма, в котором каждый этап процесса переработки данных представляется в виде геометрических фигур (блоков), имеющих определенную конфигурацию в зависимости от характера выполняемых операций.

    Псевдокод - позволяет формально изображать логику программы, не заботясь при этом о синтаксических особенностях конкретного языка программирования. Обычно представляет собой смесь операторов языка программирования и естественного языка. Является средством представления логики программы, которое можно применять вместо блок- схемы.

    Структурные диаграммы - могут использоваться в качестве структурных блок-схем, для показа межмодульных связей, для отображения структур данных, программ и систем обработки данных. Существуют различные структурные диаграммы: диаграммы Насси-Шнейдермана, диаграммы Варнье, Джексона, МЭСИД и др.

    Языки программирования - изобразительные средства для непосредственной реализации программы на ЭВМ. Программа – алгоритм, записанный в форме, воспринимаемой ЭВМ.

    В учебном пособии раскрывается содержание методов обработки информации на базе компьютерных технологий, что позволяет получить представление о технологической и программной составляющих информатики. В книгу включены практические задания и контрольные упражнения, выполнение которых позволит познакомиться с основами MS DOS, получить навыки использования программы-оболочки Norton Commander, а также методов работы в графических операционных средах семейства Windows, овладеть приемами составления программ и перейти к самостоятельной подготовке программ. Для этого в пособии изучаются конкретные тексты программных конструкций и даются задания для самостоятельной работы.
    Для студентов университетов и колледжей, обучающихся по специализации "Информационные технологии управления", а также для всех желающих самостоятельно овладеть основами программирования.

    Информатика представляет собой область научно-практического знания, позволяющею управлять различными объектами и системами на основе обработки информации. В этом смысле она обогащает научные исследования и практическую деятельность в различных предметных областях, начиная от управления небольшими коллективами, расширяя все известные формы человеческой деятельности, оказывая существенное влияние на успешное осуществление космических проектов.
    Одним из важных направлений информатики является применение новых методов обработки информации и компьютерных технологий в деле управления организационно-экономическими системами.
    Подготовка специалистов для управления организационными структурами предполагает не только обучение активному использованию информационных технологий (ИТ), но также изучение методов и способов их применения для оптимизации и развития системы управления организацией.

    Оглавление
    Введение
    Предисловие
    Глава 1. Основные компоненты компьютерной технологии
    1.1. Компьютерные технологии и информационное пространство 17
    1.2. Компьютер: структура и параметры 18
    1.2.1. Структурная схема компьютера 19
    1.2.2. Дополнительные устройства ввода-вывода информации 22
    1.2.3. Классификация компьютеров 24
    1.2.4. Сети передачи данных 26
    1.3. Программное обеспечение компьютера 27
    1.3.1. Классификация программного обеспечения 27
    1.3.2. Файловая система хранения информации 29
    1 4 Дисковая операционная система MS DOS .31
    1.4.1. Состав и назначение MS DOS .31
    1.4.2. Распределение памяти в MS DOS 32
    1 4.3. Файловая структура диска 33
    1.4.4. Утилиты MS DOS 34
    1.4.5. Драйверы устройств в MS DOS 39
    1.5. Выполнение команд MS DOS.40
    1.6. Программа-оболочка Norton Commander, Практикум; работа в среде MS DOS. 50
    Глава 2. Графическая операционная система WINDOWS XP 51
    2.1 Рабочий стол операционной системы
    2.1.1. Основные элементы рабочего стола 55
    2.1.2. Оформление рабочего стола 66
    2.1 3. Управление объектами на рабочем столе 70
    2.2. Панель управления 71
    2.3. Форматирование диска 76
    2.4. Настройка панели задач 76
    2.5. Настройка меню кнопки Пуск 77
    2.6. Приложение Проводник 80
    2.7. Приложение Корзина 84
    2.8. Приложение Портфель 85
    2.9. Приложение Блокнот 87
    2.10. Приложения Назначенные задания и Дата и время 87
    2.11. Приложение Paint 89
    2.11.1. Основные элементы графического редактора Paint 90
    2.11.2. Системное меню графического редактора Paint 91
    2.11.3. Инструменты графического редактора Paint 95
    2 11.4. Вставка графических изображений 99
    Практикум: работа в графической операционной системе семейства Windows 100
    Глава 3. Основы программирования на Турбо Паскаль 7.0
    3.1. Процесс программирования 115
    3.2. Интегрированная инструментальная оболочка Турбо Паскаля 118
    3.2.1. Опции главного меню 118
    3.2.2. Назначение функциональных клавиш 125
    3.2.3. Текстовый редактор 127
    3.2.4. Операции 127
    3.3. Язык программирования Турбо Паскаль 7.0 128
    3.3.1. Лексика языка 128
    3.3.2. Грамматика языка 132
    3 4. Операторы 133
    3.4.1. Операторы ввода и вывода данных 134
    3.4.2. Простой оператор перехода Goto 136
    3.4.3. Структурированные операторы 137
    3.5. Типы данных 145
    3.5.1 Простые типы данных 145
    3 5.2. Структурированные типы данных 148
    3.6. Процедуры и функции - 166
    3.7. Модуль в Турбо Паскале 173
    3.7.1. Библиотечный стандартный модуль СП 176
    3.7.2. Библиотечным стандартный модуль Graph 184
    3.7.3. Библиотечный стандартный модуль System 211
    3.8. Разработка информационных систем для деловой практики 215
    Практикум: программирование в Турбо Паскале 226
    Глава 4. Задания для самостоятельной работы
    4.1. Работа в программе Norton Commander 318
    4 2 Работа в графической среде Paint 320
    4.3. Основные команды интегрированной среды Турбо Паскаля 320
    4.4. Оконный интерфейс в программах пользователя 324
    4.5. Программы линейной структуры 324
    4.6. Программы разветвляющейся структуры 325
    4.7. Организация циклов 326
    4.8. Обработка многомерных массивов данных 326
    4.9. Обработка символьных данных 327
    4.10. Обработка строковых данных 327
    4.11. Обработка данных типа Запись» 328
    4.12. Типизированные и текстовые файлы 328
    4.13. Процедуры и функции 329
    4.14. Обработка массивов данных 329
    4.15. Строки и записи 330
    Глава 5. Информационный сервис Интернета 331
    5.1. Структура глобальной сети 331
    5.1.1. Информационные службы сети 331
    5.1.2 Сетевые протоколы 333
    5.2. Программы просмотра документов информационных сетей 335
    5.2.1. Оконный интерфейс браузера Netscape Communicator 336
    5.2.2. Оконный интерфейс браузера MS Internet Explorer 341
    5.3. Электронная почта 346
    5.3.1. Установка почтового ящика 346
    5.3.2. Редактирование файла настроек 350
    5.3.3. Структура электронного письма 350
    5.3.4. Обработка почтовых сообщений 356
    5 3.5. Работа с адресной книгой 359
    Практикум: технология применения электронной почты 361
    5.4. Работа с веб-документами 364
    5.4.1. Методы доступа к веб-документам 364
    5.4.2. Установка страницы поиска 372
    5 4 3. Копирование веб-страниц 372
    5.Ь. Участие в телеконференциях 374
    5.5.1. Структура службы 374
    5.5.2. Чтение новостей 375
    5 5.3. Чтение статей телеконференций 377
    5 5.4. Просмотр документов телеконференций 379
    5 5.5. Отправка документов на телеконференцию 380
    5.6. Поисковые системы и каталоги ресурсов 381
    5 6 1. Желтые страницы российского сегмента Интернета 382
    5 6.2. Наука и техника 384
    5 6 3. Образование 385
    5 6.4. Интернет-магазин 389
    5.6.5. Виртуальные библиотеки 390
    5.7. Интернет-объединение информационных сетей России 392
    5.7.1. Национальные провайдеры Интернета 393
    5.7.2. Информационные ресурсы Интернета 395
    Практикум: поиск и обработка информации в Интернете 395
    Глава 6. HTML - язык гипертекстовой разметки
    6.1. Структура HTML-языка 401
    6.1.1. Обозначение HTML-документа 403
    6.1.2. Заголовок документа 403
    6.1.3. Тело документа 404
    6.2. Запись текста веб-документа 404
    6.2.1. Начало абзаца и конец строки 405
    6.2.2. Стили заголовков 405
    6 2.3. Физические стили 406
    6.2.4. Логические стили 407
    6.2.5. Преформатированный текст 407
    6.2.6. Списки 408
    6.2.7. Специальные символы 409
    6.3. Организация гипертекстовых ссылок 410
    6.3 1. формирование указателей 411
    6 3 2. Создание оглавления с помощью имен указателей 411
    6.3 3. Применение гиперссылок для формирования оглавления текущего веб-документа 412
    Практикум- формирование текста веб-документа 412
    6.4. Цвет текста и фоновые изображения 416
    6 5. Установка табличных элементов 418
    6.5.1 Основные табличные теги 418
    6.5.2. Размещение сложных таблиц 421
    6.5.3. Совмещение текста и таблицы на поле документа 423
    Практикум: списки и таблицы на поле веб-страниц 425
    6.6. Размещение графических элементов 429
    6 6.1 Горизонтальные линии 429
    6 6.2. Графические изображения 430
    6 6.3. Указатели ссылок 433
    6 6.4. Графические элементы на полях таблиц 433
    6 7 Карты-изображения на поле веб-документа 436
    6.8 Организация веб-страниц с использованием фреймов 439
    Практикум: применение графики и фреймов для организации веб-документов
    Словарь терминов 445
    Литература 458