Файл: Основные правила работы с функциями: примеры и ограничения использования функций в различных языках программирования.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 25.04.2023

Просмотров: 181

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

ВВЕДЕНИЕ

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

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

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

Объект исследования – языки программирования высокого уровня.

Предмет исследования – использование функций в языках программирования высокого уровня.

Цель курсовой работы – рассмотреть использование функций в языках программирования Турбо Паскаль и Дельфи, реализацию их применения.

При достижении цели курсовой работы поставлены следующие задачи:

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

При подготовке курсовой работы использованы учебники и учебные пособия по языку Турбо Паскаль таких авторов, как В.В. Фаронов, Ю.А. Шпак, С.А. Немнюгин и многих других, учебно-методическое пособие по модульному программированию авторов С.Б. Сидорова и Е.Н. Приблудовой, учебник для вузов Фаронова В.В. «Delphi. Программирование на языках высокого уровня», книга Осипова Д. «Delphi. Программирование для Windows, OSX, iOS и Android» и другие, а также Интернет-статьи по данным темам.

ГЛАВА 1. ЯЗЫКИ ПРОГРАММИРОВАНИЯ ВЫСОКОГО УРОВНЯ. МОДУЛЬНОЕ ПРОГРАММИРОВАНИЕ


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

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

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

Трансляторы подразделяются на: [27]

  • компиляторы, превращающие текст программы в машинный код, сохраняемый и затем используемый уже без компилятора (к примеру, исполняемые файлы с расширением *. exe).
  • интерпретаторы, превращающие часть программы в машинный код, выполняющие его и затем переходящие к следующей части. Причем использование интерпретатора осуществляется каждый раз при выполнении программы. [28]

Пример языка низкого уровня - ассемблер. Языки низкого уровня ориентируются на конкретный тип процессора с учетом его особенностей, поэтому при переносе программы на ассемблере на другую аппаратную платформу ее нужно почти полностью переписывать. Синтаксис программ для разных компиляторов также различается. Правда, существует практическая совместимость центральных процессоров для компьютеров фирм AMD и Intel, отличия лишь в некоторых специфических командах. А вот специализированные процессоры для других устройств, например, видеокарт, телефонов существенно различаются. [16]

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

Недостатки проявляются в том, что: [27]

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

Языки высокого уровня (ЯВУ). Эти языки позволяют писать программы текстом, похожим на английский язык. Транслятор с языка высокого уровня переводит код на язык низкого уровня, затем Компилятор каждую команду преобразует в машинный код, создавая исполняемый файл. Программы, написанные на ЯВУ, более компактны, легче для понимания, а вероятность появления в них ошибок меньше, процесс отладки (поиска и исправления ошибок) легче. [19] Они позволяют не учитывать особенностей конкретных компьютерных архитектур, благодаря чему возможно легкое перенесение созданных программ на другие компьютеры. В основном достаточна простая перекомпиляция программы в другой компьютерной архитектурной и операционной системе. При этом достигается значительное сокращение времени разработки программ, что особенно важно при разработке больших программных проектов. [19]

К языкам программирования высокого уровня относят: Фортран; Кобол; Алгол; Pascal; Basic; Java; DC, C++, C#; Objective C; Smalltalk; Delphi и другие. Перечислим достоинства языков высокого уровня:

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

Таким образом, языки программирования высокого уровня машинно-независимы и им необходимы соответствующие программы-переводчики (трансляторы) для представления программ на языке машин, на которых они будут выполняться. [28]

Недостаток ЯВУ в большом размере программ по сравнению с программами на языках низкого уровня. Поэтому в основном ЯВУ используют при разработках программного обеспечения компьютеров и устройств, имеющих большой объем памяти. А различные подвиды ассемблера применяют для программирования иных устройств, где имеет значение размер программ. [19]

1.2. Обзор некоторых языков программирования высокого уровня


Язык программирования Паскаль разработал профессор кафедры вычислительной техники Швейцарского Федерального института технологии Николас Вирт в 1968г. как альтернативу существующим и все усложняющимся языкам программирования, таким, как PL/1, Algol, Fortran. Интенсивное развитие Паскаля привело к появлению уже в 1973г. его стандарта, а число трансляторов с этого языка в 1979г. превышало 80. В начале 80-х годов позиции Паскаля еще более упрочились с появлением трансляторов MS-Pascal и Turbo-Pascal для ПЭВМ. С этих времен Паскаль - один из наиболее важных и широко используемых языков программирования. [11]

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

Основные причины популярности Паскаля заключаются в следующем:

- простота языка позволяет быстрое его освоение и создание алгоритмически сложных программ;

- развитыми средствами представления структур данных обеспечивается удобство работы как с числовой, так и с символьной и битовой информацией;

- наличием специальных методик создания трансляторов с Паскаля упрощена их разработка и вызвано широкое распространение языка;

- оптимизирующие свойства трансляторов с Паскаля позволяют создание эффективных программ, что стало одной из причин использования Паскаля в качестве языка системного программирования;

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

Язык Delphi — строго типизированный объектно-ориентированный язык, в основе которого лежит хорошо знакомый программистам Object Pascal. Слово Delphi – это название города в древней Греции, в котором пророчествовали оракулы. Такое название выбрано разработчиками Delphi для того, чтобы подчеркнуть способность программ, создаваемых в Delphi, взаимодействовать с базами данных Oracle. Имя приобрело популярность, и коммерческий продукт под этим же названием был выпущен на рынок. [29]

Версия Delphi 1 была выпущена в феврале 1995 г., Delphi 2 – в марте 1996г., а Delphi 3 – в мае 1997г. затем было решено интегрировать эту платформу программирования с CORBA (Common Object Request Broker Architecture – технология построения объектных приложений, предложенная компанией IBM), быстро развивающейся технологией создания распределенных приложений. Версия Delphi 4 со встроенными средствами CORBA появились на рынке в июне 1998г. Версия Delphi 5 была выпущена в августе 1999г., версия Delphi 6 выпущена в мае 2001г. и обновленная версия Delphi 7 выпущена в 2002 году. Система Delphi – ключевой программный продукт компании Borland. [28]


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

Главное окно всегда присутствует на экране и предназначено для управления процессом создания программы. Основное меню содержит все необходимые средства для управления проектом. Пиктограммы облегчают доступ к наиболее часто применяемым командам основного меню. [25]

Модульное программирование

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

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

Как правило, модуль представляется совокупностью функций и данных, используемых для решения задач определенного класса или реализующих набор операций над некоторым понятием. К примеру, один модуль может обеспечивать ввод-вывод. Другой модуль может содержать функции, выполняющие операции над строками. Третьим модулем поддерживается выполнение операций над геометрическими объектами. А еще одним, к примеру, обеспечивается доступ к информации в некоторой базе данных. [18]

Если при разработке программы нам потребуется выполнение операций над строками и работа с геометрическими объектами, то не нужно писать эти подпрограммы заново. Достаточно подключения соответствующих модулей к программе. Кроме этого, необходимо знать, как надо обращаться к этим модулям для решения задач. [17]

Каждым модулем, входящим в состав программы, решаются задачи из своей области. Поэтому модули должны разрабатываться отдельно друг от друга, что позволяет коллективно разрабатывать программные системы. Отдельными программистами или небольшими коллективами независимо от других разрабатываются свои части программной системы. Таким подходом обеспечена возможность модульной отладки, при которой отлаживается не вся программная система в целом, а отдельные ее компоненты. Такой технологией обеспечивается быстрая локализация и устранение ошибок, что ускоряет разработку программного продукта. [17]