Добавил:
Рыльский филиал МГТУ ГА. Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Теория / Конспект Лекций

.pdf
Скачиваний:
0
Добавлен:
29.03.2024
Размер:
851.63 Кб
Скачать

Рыльский авиационный технический колледж — филиал федерального государственного бюджетного образовательного учреждения высшего образования «Московский государственный технический университет гражданской авиации» (МГТУ ГА)

С.В. Милюкина

Конспект лекций

ОП.09 Основы алгоритмизации и программирования

для специальности 09.02.01 Компьютерные системы и комплексы

Рыльск, 2018 г.

ОП 09 «Основы алгоритмизации и программирования»: Конспект лекций. /Милюкина С.В. / Рыльск, Рыльский АТК – филиал МГТУ ГА, 2018 г. - 51 с.

Конспект лекций предназначен для изучения дисциплины ОП 09 «Основы алгоритмизации и программирования» специальности 09.02.01 Компьютерные системы и комплексы.

Автор: С.В. Милюкина – преподаватель Рыльского АТК ГА – филиал МГТУ ГА

Рецензент: А.С. Жуковский – преподаватель Рыльского АТК – филиала МГТУ ГА

Обсуждено и одобрено на заседании цикловой комиссии ВТ. Протокол № ____________ от «____» __________ 2018 г. Председатель цикловой комиссии ВТ__________С.В. Каплин

Рассмотрено и рекомендовано методическим советом колледжа. Протокол № ____________ от «____»__________ 2018 г. Методист __________________________Л. В. Ковынева

2

Содержание

 

РАЗДЕЛ 1. Основные приёмы программирования .........................................

4

Тема 1.1. Этапы решения задач на ЭВМ ......................................................

4

1.1.1.Общие принципы построения и использования языков

программирования ......................................................................................

4

1.1.2. Процесс создания программ. Компиляция и интерпретация.

. 7

Тема 1.2. Стандартные и нестандартные типы данных .............................

9

1.2.1. Стандарты языков программирования............................................

9

Тема 1.3. Управляющие структуры программирования ...........................

13

1.3.1. Операторы условия, выбора, безусловного перехода. ................

13

1.3.2. Организация циклов........................................................................

17

Тема 1.4. Процедуры и функции .................................................................

20

1.4.1. Сложные типы данных: массивы, записи, множества ................

20

1.4.2. Процедуры и функции. Структура процедур и функций. ..........

24

1.4.3. Файлы: типы файлов, операции с файлами..................................

28

РАЗДЕЛ 2. Объектно - ориентированное программирование .....................

31

Тема 2.1. Основные понятия визуального программирования ................

31

2.1.1. Структурная единица визуального программирования -

 

компонент...................................................................................................

31

2.1.2. Обзор визуальных компонентов....................................................

34

Тема 2.2. Свойства и события ......................................................................

36

2.2.1. Понятие свойства компоненты. Простые, перечислимые и

 

вложенные типы ........................................................................................

36

2.2.2. Понятие события. Реакция компонент на события и способы их

обработки. ..................................................................................................

39

Тема 2.3 Диалоговые и графические компоненты.....................................

41

2.3.1. Модальные и не модальные диалоговые панели. ........................

41

2.3.2. Основные графические компоненты и способы их

 

использования............................................................................................

43

Тема 2.4. Классы и объекты. ........................................................................

47

2.4.1. Основные понятия классов и объектов.........................................

47

Список использованных источников ..............................................................

51

3

 

РАЗДЕЛ 1. Основные приёмы программирования Тема 1.1. Этапы решения задач на ЭВМ

1.1.1. Общие принципы построения и использования языков программирования

Язык программирования - формальный язык, предназначенный для записи компьютерных программ.

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

Языком программирования называют систему обозначений для точного описания алгоритмов для ЭВМ. Эти языки являются искусственными языками со строго определенным синтаксисом (строение предложения и правила сочетания слов) и семантикой (смысловое значение слов и оборотов речи) поэтому они не допускают свободного толкования конструкций, характерного для естественного языка (языка общения между людьми).

Конкретный язык программирования в подавляющем большинстве случаев имеет более одного языка-предка. Многие языки создаются как сочетание элементов различных языков.

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

В 1940-е годы, появились электрические цифровые компьютеры, и был разработан язык, который можно считать первым высокоуровневым языком программирования для ЭВМ - «Plankalkül», созданный немецким инженером К. Цузе в период с 1943 по 1945 годы.

Программисты начала 1950-х годов, при создании программ пользовались непосредственно машинным кодом, запись программы на

4

котором состояла из единиц и нулей и который принято считать языком программирования первого поколения (при этом разные машины разных производителей использовали различные коды, что требовало переписывать программу при переходе на другую ЭВМ).

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

С середины 1950-х начали появляться языки третьего поколения, такие как Фортран, Лисп и Кобол. Языки программирования этого типа более абстрактны (их ещё называют «языками высокого уровня») и универсальны, не имеют жёсткой зависимости от конкретной аппаратной платформы и используемых на ней машинных команд.

Обновлённые версии перечисленных языков до сих пор имеют хождение в разработке программного обеспечения, и каждый из них оказал определенное влияние на последующее развитие языков программирования

Классификация языков программирования

Существует множество критериев, по которым можно классифицировать языки программирования. Частые варианты классификации включают:

По парадигме (декларативные, императивные, структурированные и т.п.)

По системе типов (динамические, статические, сильно и слабо типизированные, не типизированные и т.п.)

По уровню абстракции (высокого, низкого уровня)

По модели исполнения (компилируемые, интерпретируемые)

По «поколению»

Четкой классификации не существует, по той простой причине, что существуют буквально тысячи языков программирования, и в любой категории классификации обнаруживается практически непрерывный спектр.

В группу языков низкого уровня входят машинные языки и языки символического кодирования: (Ассемблер). Операторы этого языка - это те же машинные команды, но записанные мнемоническими кодами, а в качестве операндов используются не конкретные адреса, а символические имена. Все языки низкого уровня ориентированы на определенный тип компьютера, т. е. являются машинно-зависимыми. Машинноориентированные языки - это языки, наборы операторов и изобразительные средства которых существенно зависят от особенностей ЭВМ (внутреннего языка, структуры памяти и т.д.).

5

Следующую, существенно более многочисленную группу составляют языки программирования высокого уровня. Это Фортран, Алгол, Кобол, Паскаль, Бейсик, Си, Пролог и т.д. Эти языки машиннонезависимы, т.к. они ориентированы не на систему команд той или иной ЭВМ, а на систему операндов, характерных для записи определенного класса алгоритмов. Однако программы, написанные на языках высокого уровня, занимают больше памяти и медленнее выполняются, чем программы на машинных языках.

Языки высокого уровня делятся на:

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

-логические (Prolog, Lisp и др.), которые ориентированы не на разработку алгоритма решения задачи, а на систематическое и формализованное описание задачи с тем, чтобы решение следовало из составленного описания;

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

Языки программирования принято делить на пять поколений. Первое поколение - вплоть до конца 50-х годов программирование

сводилось к детальному кодированию длинных последовательностей команд двоичными, восьмеричными или шестнадцатеричными числами.

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

Третье поколение - самое «обширное» поколение языков. Это универсальные языки высокого уровня, с помощью которых удается решать задачи из любых областей.

Четвертое поколение языков - это языки управления программным обеспечением, или, как их еще называют, «генераторы программ». относятся к временному периоду с 1970-х по начало 1990-х.

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

6

Пятое поколение - середина 90-х годов по настоящее время. К этому поколению относятся системы автоматического создания прикладных программ с помощью визуальных средств разработки, без знания программирования. Главная идея, которая закладывается в эти языки, –возможность автоматического формирования результирующего текста на универсальных языках программирования. К пятому поколению относятся языки искусственного интеллекта, экспертных систем, баз знаний (InterLisp, ExpertList, IQLisp, SAIL и др.), а также естественные языки, не требующие освоения какого-либо специального синтаксиса (в настоящее время успешно используются естественные языки с ограниченными возможностями - Clout, Q&A, HAL и др.)

1.1.2. Процесс создания программ. Компиляция и интерпретация.

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

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

Если программа готова, то она переходит от разработчика к команде тестеров. Тестеры анализируют созданное приложение с помощью специальных программ: на удобство использования, наличие ошибок, требовательность к аппаратным ресурсам вычислительной машины, устойчивость к сбоям и т.д. Все недоработки подаются в виде отчета разработчику, которые исправляет «баги».

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

1. Постановка задачи - точное описание исходных данных, условий задачи и целей ее решения.

7

2.Построение модели. На основе словесной формулировки задачи выбираются переменные, подлежащие определению, записываются ограничения, связи между переменными, в совокупности образующие математическую модель решаемой проблемы. Анализируется метод решения.

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

4.Разработка программы. Результатом этапа является представление алгоритма на выбранном языке программирования (создание текста программы).

5.Трансляция программы или перевод разработанного текста на машинный язык с помощью специальной программы-транслятора.

6.Запуск и отладка программы с целью выявления и устранения синтаксических ошибок, допущенных на предыдущих этапах.

7.Тестирование это процесс исполнения программ с целью выявления логических ошибок.

8.Создание документации.

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

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

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

1.Транслятор берет из файла программу на языке высокого уровня и переводит в программу на машинном языке всю целиком, записывая ее в файл с расширением obj. Программу, записанную в такой файл, принято называть объектным модулем, а транслятор, который выполняет такой перевод, называют компилятором.

2.Транслятор берет из файла с программой на языке высокого уровня по одному предписанию (команде), транслирует ее и сразу исполняет эту команду. Такой транслятор называют интерпретатором.

Отладчик, позволяет анализировать работу программы во время ее исполнения. С его помощью можно последовательно выполнять отдельные операторы исходного текста последовательно, наблюдая при этом, как меняются значения различных переменных.

Компоновщик (редактор связей или сборщик), выполняет связывание объектных модулей и машинного кода стандартных функций, находя их в библиотеках, и формирует на выходе работоспособное приложение — исполнимый код для конкретной платформы.

8

Современные интегрированные среды разработки программ

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

Система для разработки новых программ на конкретном языке программирования стандартно имеет:

средства создания и редактирования программ;

компилятор или интерпретатор;

отладочные программы;

многооконный режим работы;

«дружественную» к пользователю диалоговую среду;

библиотеки стандартных программ и функций;

графические библиотеки;

утилиты для работы с библиотеками;

встроенную справочную службу.

Широко известны системы программирования: Microsoft Visual

Basic, Borland Delphi , Borland C++Bulider, Symantec Cafe и т.д.

Тема 1.2. Стандартные и нестандартные типы данных

1.2.1. Стандарты языков программирования

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

Одним из наиболее известных языков программирования является язык Паскаль (Pascal). Первая версия языка программирования Паскаль была разработана на кафедре информатики Стэнфордского университета швейцарским ученым Никлаусом Виртом в 1968. году, и названа в честь французскою ученого Блеза Паскаля.

С момента создания первой версии языка Паскаль прошло много времени и язык значительно преобразился, но тем не менее стандартный Паскаль является основой более поздних версий. Были приняты международный стандарт от ISO и американский от ANSI. На данный

9

момент, выделяют три стандарта: Unextended Pascal (исходный), Extended Pascal (расширенный), Object-Oriented Extensions to Pascal (объектно-

ориентированное расширение Паскаля).

Важным шагом в развитии языка является появление свободных реализаций языка Паскаль Free Pascal и GNU Pascal, которые не только вобрали в себя черты множества других диалектов языка, но и обеспечили чрезвычайно широкую переносимость написанных на нём программ (например GNU Pascal поддерживает более 20 различных платформ, Free Pascal обеспечивает специальные режимы совместимости с различными распространёнными диалектами языка, такими как Turbo Pascal (полная совместимость), Delphi и другими).

Алфавит языка Паскаль содержит латинские буквы, арабские цифры, специальные символы и служебные слова.

Элементы языка - константы, метки, типы, переменные, процедуры, функции, модули, объекты - называют именами (идентификаторами).

Идентификатор - произвольная последовательность букв, цифр или символа подчеркивания, начинающаяся с буквы. Строчные и прописные буквы не различаются (например, NAME, Name и name будет означать одно и то же). Длина идентификатора может быть любой, но значимыми являются только первые 63 символа. В качестве имен не допускается использовать служебные слова.

Числа в языке Паскаль обычно записываются в десятичной системе счисления. Они могут быть целыми и действительными. Положительный знак числа может быть опущен. Целые числа записываются в форме без десятичной точки, например: 217 -45 8954 +483

Действительные числа записываются в форме с десятичной точкой:

28.6 0.65 -0.018 4.0

Программа на языке Паскаль состоит из заголовка, разделов описаний и раздела операторов.

Заголовок программы содержит ключевое слово Program и следующего за ним имени программы с точкой с запятой например:

Program PRIM;

В разделе объявлений и описаний программист сообщает компилятору, какими идентификаторами он обозначает данные, а так ж е определяет собственные типы данных, которые он в дальнейшем намеревается использовать в данной программе.

Раздел описания может содержать разделы с ключевыми словами:

Label – метки;

Const – постоянные величины; Var – переменные величины; Type – собственные типы данных;

Procedure – процедуры; Function – функции.

10

Соседние файлы в папке Теория