Технология программирования средства решения задач

23) Технология решения задач с использованием языков программирования, системы программирования.

Язы́кпрограмми́рования — формальная знаковая система, предназначенная для записи компьютерных программ. Язык программирования определяет набор лексических,синтаксических и семантических правил, задающих внешний вид программы и действия, которые выполнит исполнитель (компьютер) под её управлением.

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

Создатели языков по-разному толкуют понятие язык программирования. К наиболее распространённым утверждениям, признаваемым большинством разработчиков, относятся следующие:

— Функция: язык программирования предназначен для написания компьютерных программ, которые применяются для передачи компьютеру инструкций по выполнению того или иноговычислительного процесса и организации управления отдельными устройствами.

— Задача: язык программирования отличается от естественных языков тем, что предназначен для передачи команд и данных от человека к компьютеру, в то время как естественные языки используются для общения людей между собой. Можно обобщить определение «языков программирования» — это способ передачи команд, приказов, чёткого руководства к действию; тогда как человеческие языки служат также для обмена информацией.

— Исполнение: язык программирования может использовать специальные конструкции для определения и манипулирования структурами данных и управления процессом вычислений.

Технология решения задач с помощью компьютера (моделирование, формализация, алгоритмизация, программирование).

Рассмотрим процесс решения задачи на конкретном примере:

Тело брошено вертикально вверх с начальной скоростью с некоторой высоты. Определить его местоположение и скорость в заданный момент времени.

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

1) тело мало по сравнению с Землей, поэтому его можно считать материальной точкой; 2) скорость бросания тела мала, поэтому: — ускорение свободного падения считать постоянной величиной; — сопротивлением воздуха можно пренебречь.

На втором этапе создается формализованная модель, т. е. описательная информационная модель записывается с помощью какого-либо формального языка.

Из курса физики известно, что описанное выше движение является равноускоренным. При заданных начальной скорости (V0), начальной высоте (Н0) и ускорении свободного падения (g = 9,8 м/с 2 ) зависимость скорости (V) и высоты (Н) от времени (t) можно описать следующими математическими формулами: V=V0-gt, Y = H0 + Vt-gt 2 /2.

На третьем этапе необходимо формализованную информационную модель преобразовать в компьютерную на понятном для компьютера языке. Существуют два принципиально различных пути построения компьютерной модели: — создание алгоритма решения задачи и его кодирование на одном из языков программирования; — формирование компьютерной модели с использованием одного из приложений (электронных таблиц, СУБД и т. д.).

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

Второй путь требует создания компьютерной модели, которую можно исследовать в электронных таблицах. Для этого следует представить математическую модель в форме таблицы функции зависимости координаты от времени (таблицы функции , H = H0+ Vt-gt 2 /2 ) и таблицы зависимости скорости тела от времени (V = V0 — g • t).

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

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

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

Системы программирования.

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

Составные систем программирования:

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

• интегрированная среда разработки;

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

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

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

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

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

• мощные графические библиотеки; утилиты для работы с библиотеками

• встроенная справочная служба;

• другие специфические особенности.

Turbo Basic, Quick Basic, Turbo Pascal, Turbo C, системы программирования, ориентированные на создание Windows-приложений:

• пакет Borland Delphi (Дельфи) — предоставляющий качественные и очень удобные средства визуальной разработки.

• пакет Microsoft Visual Basic — удобный и популярный инструмент для создания Windows-программ с использованием визуальных средств. Содержит инструментарий для создания диаграмм и презентаций.

• пакет Borland C++ — одно из самых распространённых средств для разработки DOS и Windows приложений.

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

Трансляторы реализуются в виде компиляторов или интерпретаторов. С точки зрения выполнения работы компилятор и интерпретатор существенно различаются.

Компилятор — читает всю программу целиком, делает ее перевод и создает законченный вариант программы на машинном языке, который затем и выполняется.

Интерпретатор — переводит и выполняет программу строка за строкой.

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

Каждый конкретный язык ориентирован либо на компиляцию, либо на интерпретацию — в зависимости от того, для каких целей он создавался.

Источник

Тема 4. Технологии и инструментальные средства программирования

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

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

1 – заказчик на естественном (например, русском) языке объясняет аналитику, какую прикладную задачу он хочет решить. Эта задача из некоторой предметной области, например, задача бухгалтерского учета или зачисления абитуриентов в ВУЗ;

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

3 – программист на основании математической модели или другого формального описания поставленной задачи разрабатывает программу. Он выполняет также отладку программы, используя для этого ЭВМ. Этот этап называется программированием задачи;

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

Как видно, все связи на рисунке двунаправленны. Это означает, что в процессе проектирования программы идет диалог, в ходе которого уточняется и/или корректируется предмет общения.

Источник

Технология программирования Этапы подготовки и решения задач на компьютере

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

1. Постановка задачи состоит в четком изложении условия задачи и определении подзадач.

2. Физический и математический анализ. Анализируется, существует ли

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

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

Расчленение алгоритма на составные части называется структуризацией.

4. Этап программирования.

Выбирается язык и (или) система программирования, и в соответствии с алгоритмом разрабатывается программа на конкретном языке программирования.

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

6. Решение задач на компьютере.

7. Обработка результатов решения задач. Производится анализ результатов, строятся таблицы, графики, делаются выводы.

Дополнительно могут присутствовать такие этапы как описание структуры программы, описание структур данных, оптимизация программы, этап доку- ментирования.

Готовая программа в компьютере проходит следующие стадии (рис. 1).

Рис. 1. Схема выполнения программы в компьютере

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

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

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

Загрузка  пересылка программы с носителя данных в основную память и из основной в регистровую.

Исходный модуль  программа на языке высокого уровня.

Объектный модуль  текст программы после компиляции (в машинных кодах с относительными адресами).

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

Компилятор – программное средство, выполняющее компиляцию программы.

Транслятор  программа или специальное технические средство, выполняющее трансляцию программы.

Редактор связей  программа, предназначенная для построения одного загрузочного модуля из одного или более независимо транслируемых объектных или загрузочных модулей.

Загрузчик  обрабатывающая программа, выполняющая загрузку абсолютного модуля в основную память по установленным адресам.

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

1) компилирующего типа (статистическая подготовка) (СИ, ПАСКАЛЬ);

2) интерпретирующего типа (динамическая подготовка).

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

В системах интерпретирующего типа последовательно читается, транслируется и сразу же выполняется оператор за оператором (БЕЙСИК).

Интерпретатор  вид транслятора, осуществляющего пооператорную (покомандную) обработку и выполнение исходной программы.

Источник

Читайте также:  Полный язык программирования html
Оцените статью