
- •Часть 1
- •Предмет и задачи информатики
- •История эвм
- •Состав вычислительной системы
- •Аппаратное обеспечение
- •Программное обеспечение
- •Операционная система
- •Кодирование Двоичный код
- •Кодирование чисел
- •Кодирование текстовых данных
- •Кодирование графических данных
- •Представление цвета в машинной графике
- •Кодирование звуковой информации
- •Прикладное программное обеспечение Системы обработки текстов
- •Интегрированный пакет Microsoft Office
- •Текстовый процессорWord
- •Создание в документе листа Microsoft Excel
- •О рисунках и других графических объектах
- •Закрепление областей листа
- •Скрытие и отображение столбцов и строк
- •Выделение фрагментов документа
- •Ввод данных с клавиатуры
- •Ввод текста
- •Ввод чисел
- •Ввод формул с клавиатуры
- •Установка границ ячеек
- •Работа с диаграммами
- •Работа с базами данных Основные понятия
- •Объекты базы данных
- •Запросы
- •Страницы
- •Макросы и модули
- •Безопасность баз данных
- •Технологии программирования
- •Алгоритм, программа
- •Интегрированная среда разработки приложений в Delphi
- •Стандарт и диалекты языка
- •Основы Паскаля
- •Основные понятия языка Алфавит
- •Имена и идентификаторы
- •Программные элементы
- •Описания
- •Раздел констант
- •Типизированные константы
- •Переменные
- •Функции и процедуры
- •Правила записи текста программы
- •Концепция данных
- •Основные типы данных Целые типы
- •Битовые операции
- •Вещественные типы
- •Тип дата-время
- •Символьные типы
- •Логические типы
- •Выражения
- •Оператор присваивания
- •Составной оператор
- •Раздел меток
- •Оператор перехода
- •Пустой оператор
- •Раздел типов
- •Условный оператор
- •Перечислимые типы (перечни)
- •Оператор варианта
- •Ограниченные типы
- •Операторы цикла
- •Операторы цикла с параметром
- •Оператор цикла с постусловием
- •Оператор цикла с предусловием
- •Регулярные типы (массивы)
- •Многомерные массивы
- •Комбинированные типы (записи)
- •Оператор присоединения
- •Подпрограммы
- •Подпрограммы-процедуры
- •Подпрограммы-функции
- •Формальные и фактические параметры
- •Параметры-значения
- •Параметры-переменные
- •Параметры-константы
- •ПроцедураExit
- •Процедурные типы
- •Множественные типы
- •Оглавление
- •Часть 1
Технологии программирования
Компьютер сам по себе не может решить ни одной задачи. Для того чтобы это стало возможным, нужно разработать алгоритм и написать соответствующую программу. Алгоритм, алгоритмический язык, программирование – центральные понятия информатики. Раздел информатики, посвященный методам и приемам составления программ для компьютеров, называется программированием.
Этот раздел очень важен, и изучение информатики обязательно включает в себя освоение программирования, так как, в конечном счете, именно программа позволяет применить компьютер для решения конкретной задачи.
Алгоритм, программа
Понятие алгоритма является одним из центральных понятий информатики. Слово «алгоритм» является синонимом слов способ, рецепт. Можно говорить в этом смысле об алгоритме нахождения корней квадратного уравнения, заданного своими коэффициентами, или об алгоритме разложения натурального числа на простые множители. В основе этих алгоритмов лежат простейшие математические и логические операции. Такие алгоритмы называются численными.
Довольно часто рассматриваются и нечисленные алгоритмы. Например, в роли данных могут выступать последовательности символов, а в роли операций – замена по некоторой таблице одних символов на другие. Примером такого алгоритма является алгоритм преобразования текста в его код Морзе.
Алгоритм – это описанный со всеми подробностями способ получения удовлетворяющих поставленному условию результатов по исходным данным.
Поиски и разработка алгоритмов всегда входили в круг важнейших задач во все времена существования науки. За 300 лет интенсивного развития науки накоплено большое количество алгоритмов, однако многие из них для решения практически интересных задач требуют колоссального объема операций, что делает их практическое использование весьма затруднительным. Наличие современных компьютеров с производительностью млн. и более оп/с кардинально изменило положение и позволило существенно расширить круг практически решаемых задач.
Компьютерная программа – это алгоритм, записанный в специальных, понятных компьютеру, обозначениях.Соответствующую систему обозначений называют языком программирования. Точнее,язык программирования – это совокупность средств и правил представления алгоритма в виде, приемлемом для компьютера.
В настоящее время число языков программирования превышает 3000 и продолжает расти. Обилие языков программирования объясняется рядом причин, важнейшая из которых – широкий спектр решаемых задач. Теоретически, для решения большинства задач можно использовать любой алгоритмический язык, однако на практике оказывается, что на одних языках написать программу для конкретной задачи гораздо легче, чем на других. Это связано с тем, что в языках программирования способ выражения тех или иных понятий приспособлен к потребностям конкретного образа мыслей и конкретной сферы приложений. Рассмотрим ряд наиболее распространенных языков программирования.
ФОРТРАН(FORTRAN– FORmula TRANslator – переводчик формул) – разработан в середине 50-тых годов программистами фирмы IBM. В основном он используется для решения естественнонаучных задач и математических расчетов.
КОБОЛ(COBOL– Common Business Oriented Language – общий язык, ориентированный на деловые задачи) – детище Пентагона. Разработан в 1960г. совместными усилиями федерального правительства и производителей ЭВМ. Основной целью было создание языка, который могли бы легко понимать деловые люди, профессионально не связанные с программированием. Структура и словарь этого языка весьма близки к обычному английскому. КОБОЛ является основным языком для обработки данных в таких учреждениях, как банки и страховые компании.
БЕЙСИК(BASIC– Beginner All-Purpose Symbolic Code – универсальный символический код для начинающих) – разработан в середине 60-тых годов профессором Дартмутского колледжа Джоном Кемени и Томасом Курцем. В следующее десятилетие он завоевал всеобщее признание вследствие компактности и пригодности для первых ПК с ограниченным объемом памяти.
ПАСКАЛЬ(PASCAL) – получил название в честь французского математика XYII века Блеза Паскаля. Этот язык разработан швейцарским ученым Никлаусом Виртом. Язык Паскаль считается важнейшим инструментом для обучения методам структурного программирования, и с 1983г. этот язык введен в учебные курсы в средних школах США для учащихся, которые специализируются в области информатики.
Среди других наиболее распространенных алгоритмических языков можно отметить АЛГОЛ,ЛИСП,СИ,АДА,МОДУЛА,ФОРТи др.
При выборе языка, наиболее подходящего для решения конкретной задачи, следует учитывать ряд факторов, в том числе степень квалификации программиста, размер будущей программы, условия эксплуатации и сопровождения.
Каждый язык программирования имеет свой набор ключевых слов, состоящий из слов, букв, чисел или других символов. Ключевые словасоответствуют операциям или последовательностям операций, которые должен произвести компьютер. Ключевые слова связываются друг с другом в соответствии с синтаксическими правилами, образуя предложения языка программирования.
Было бы удобно давать компьютеру задания на естественном языке – русском, английском или любом другом, но на данном этапе развития науки и вычислительной техники это невозможно. Компьютер не в состоянии понимать тонкости человеческого общения. Люди в разговорах сопровождают свои слова жестами и мимикой, используют подтекст, метафоры, недомолвки и другие приемы риторики, которые позволяют им говорить одно, а сообщать при этом нечто иное. Люди употребляют слова неоднозначного смысла, используя контекст, интонацию и другие факторы, уточняющие смысл сказанного.
Человеческий разум способен разобраться в головоломках естественного языка, но компьютер понимает пока только строгую, математически точную систему общения. В такой системе каждый символ или группа символов должна всегда означать одно и то же, а каждое предложение обязано пониматься буквально.
Компьютер может обрабатывать только команды и данные, представленые в машинном коде, т.е. выраженые на языке нулей и единиц, непосредственно связанном с электронной «начинкой» компьютера. Однако написание программы в машинных кодах утомительно и требует особой тщательности, т.к. замена в какой-либо позиции1на0или наоборот может привести к самым неожиданным последствиям.
Дело несколько упрощается, если воспользоваться языком программирования низкого уровня – языком ассемблера, который разрешает вместо двоичных кодов использовать мнемонические коды. Перевод ассемблерных программ в машинный код осуществляется с помощью программы, называемой ассемблером. Язык ассемблера, как и машинный код, учитывает специфику конкретного типа компьютера, и поэтому оба эти языка позволяют программисту максимально эффективно использовать аппаратные особенности машины.
Большинство программистов предпочитают пользоваться языками высокого уровня, поскольку они гораздо ближе к естественному человеческому языку. Перевод конструкций алгоритмического языка в машинный код осуществляется с помощью транслятора– компилятора или интерпретатора.
Транслятор – это специальная программа, которая рассчитана на конкретный язык и на конкретный тип компьютера. С точки зрения выполнения работы, компилятор и интерпретатор существенно различаются.Компиляторчитает всю программу целиком, делает ее перевод и создает законченный вариант программы на машинном языке, который затем загружается в компьютер и выполняется.Интерпретаторпереводит и выполняет программу строка за строкой.
После того, как исходная программа откомпилирована, ни она, ни компилятор больше не нужны. Откомпилированные программы работают быстрее, а интерпретируемые проще исправить и модифицировать. Часто для одного языка имеется и компилятор и интерпретатор. В этом случае при разработке и тестировании программы можно воспользоваться интерпретатором, а затем отлаженную программу откомпилировать, чтобы повысить скорость ее выполнения.
Языки высокого уровняявляютсяпроцедурными– в них логика программы строится на использовании функций и процедур, которые можно вызвать из любого места программы. Затем появилисьобъектные языки программирования. В них логика программы строится на объектах, каждый из которых имеет собственные свойства, методы и события, которые могут быть унаследованы потомками. При этом создание программ многократно облегчается – вместо того, чтобы написать десяток страниц кода, достаточно просто объявить объект. Такие языки стали называтьобъектно-ориентированными(ООП – Объектно-Ориентированное Программирование).
Последним звеном эволюции языков программирования стали визуальные среды разработки программ. Вы просто выбираете объект-компонент, перетаскиваете его на форму, и уже в процессе разработки программы видите то, что должно получиться в результате. Примерно так же при редактировании текста в редакторе MS Word вы сразу видите то, что должно получиться при печати этого текста на лист бумаги. Среда разработки программ взяла на себя почти всю «черновую» работу по созданию кода. Программирование перестало быть трудоемким и превратилось в творческий процесс.
За удобство создания программ мы расплачиваемся увеличением размера исполняемого программного файла, которое особенно заметно при создании небольших программ, и практически незаметно при создании сложных программных комплексов. Современные компьютеры имеют быстрый процессор, память и жесткие диски больших размеров, так что на это неудобство можно уже не обращать внимания. Разумеется, бывают исключения – если при создании программного кода критическими являются размер исполняемого файла и скорость его исполнения, то лучше использовать Assembler или C. Такая необходимость возникает при написании операционных систем и драйверов. На современном рынке программного обеспечения, однако, более востребовано прикладное программирование. Утилиты, программы общего назначения, программы для работы с базами данных. И здесь Delphi является бесспорным лидером среди визуальных сред разработки программ.
История Delphi начинается с 60-х годов, когда профессор Н.Вирт разработал язык высокого уровня Pascal. Это был лучший язык для изучения программирования, и для создания программ для операционной системы MS-DOS. Затем, в 1983 году, А. Хейлсберг совместно с другими программистами, которые только что организовали компанию Borland, разработал компилятор Turbo Pascal, который стал следующим шагом в эволюции Delphi. Затем появился Object Pascal, который уже использовал Объектно-Ориентированный подход к программированию. Когда появилась первая версия Windows – Windows 3.10, программисты Borland создали Delphi 1. Это уже была объектно-ориентированная среда для визуальной разработки программ, основанная на языке Object Pascal.
С появлением Windows 95 появилась Delphi 2, 3, 4, 5. Язык программирования Object Pascal, который являлся стержнем Delphi, претерпел такие существенные изменения, что с появлением Delphi 6 компания Borland, которая уже превратилась в корпорацию, официально объявила о переименовании Object Pascal в Delphi. Поэтому правы те, кто говорит, что Delphi – это визуальная среда разработки программ. Но правы и те, кто утверждает, что Delphi – это один из языков программирования.
Мы будем изучать Delphi 7, наиболее стабильную версию языка программирования для 32-разрядных версий Windows.