Технологии программирования

6.1 АЛГОРИТМИЗАЦИЯ И ЯЗЫКИ ПРОГРАММИРОВАНИЯ

1. Понятие алгоритма. Свойства и способы его описания.

2. Основные алгоритмические конструкции. Базовые алгоритмы.

Само слово «алгоритм» происходит от имени учёного Абу Абдуллах Мухаммеда ибн Муса аль-Хорезми (алгоритм — аль-Хорезми). Около 825 года он написал сочинение, в котором впервые дал описание придуманной в Индии позиционной десятичной системы счисления. В первой половине XII века книга аль-Хорезми в латинском переводе проникла в Европу. Первые строки этой книги «Dixit algorizmi: …» были переведены так: «Сказал Алгоритми. Так имя Аль-Хорезми перешло в Алгоритми, откуда и появилось слово алгоритм.

Определение алгоритма

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

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

Пример:правила сложения,решения алгебраических уравнений,умножения матриц,…

Исполнитель – объект,умеющий выполнять определенный набор действий(человек,животное,компьютер,робот).

Система команд исполнителя(СКИ) – это все команды,которые исполнитель умеет выполнять.

Основные свойства алгоритма

Алгоритм должен обладать следующими свойствами:

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

· определенность - однозначная определенность результатов выполнения каждого шага алгоритма; каждое правило алгоритма должно быть четким, однозначным и не оставлять места для произвола. Благодаря этому свойству выполнение алгоритма носит механический характер. (И результат совпадает независимо от пользователя и применяемых технических средств)

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

· дискретность - алгоритм должен представлять процесс решения задачи как последовательное выполнение некоторых простых шагов (расчленение процесса вычислений на отдельные этапы).

Способы представления:

– Словесное описание(запись на естественном языке);

– Аналитическое (формулой);

– Графическое (блок схема алгоритма).

– Псевдокоды (полуформализованные описания алгоритмов на условном алгоритмическом языке, включающие в себя как элементы языка программирования, так и фразы естественного языка, общепринятые математические обозначения и др.);

– Программа (тексты на языках программирования)

Изображение алгоритма в виде блок-схемы.

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

Типовые структуры вычислительных процессов.

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

Линейный алгоритм – набор команд (указаний), выполняемых последовательно во времени друг за другом.

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

Циклический алгоритм – алгоритм, предусматривающий многократное повторение одного и того же действия (одних и тех же операций) над новыми исходными данными. К циклическим алгоритмам сводится большинство методов вычислений, перебора вариантов.

Линейный алгоритм

Линейный алгоритм - все операции выполняются последовательно одна за другой.

ПРИМЕР: вычислить площадь и периметр треугольника. a, b, c - длины сторон треугольника. Необходимо найти S - площадь треугольника, P - периметр.

технологии программирования - student2.ru

Ветвление

l Базовая структура ветвление. Обеспечивает в зависимости от результата проверки условия (да или нет) выбор одного из альтернативных путей работы алгоритма. Каждый из путей ведет к общему выходу, так что работа алгоритма будет продолжаться независимо от того, какой путь будет выбран.

Структура ветвления существует в 4-х вариантах:

l 1) если-то

если условие то действия конец если.

Если-то-иначе

если условие

то действия 1 иначе действия 2 конец если

• выбор

при условие 1: действия 1

при условие 2: действия 2

. . . . . . . . . . . .

при условие N: действия N

все

l выбор—иначе

при условие 1: действия 1

при условие 2: действия 2

. . . . . . . . . . . .

при условие N: действия N

иначедействия N+1

Все

Циклические вычислительные процессы

l Для решения многих задач характерно многократное повторение отдельных участков вычислений. Для решения таких задач применяются алгоритмы циклической структуры (циклические алгоритмы).

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

Цикл «Для»

l Данный цикл также называют циклом «Для» (for).

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

Цикл «Пока»

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

Цикл «До»

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

Итерационный цикл

l Цикл называется детерминированным, если число повторений операторов тела цикла заранее известно.

l Цикл называется итерационным, если число повторений операторов тела цикла заранее неизвестно. Для его организации используется цикл типа пока . Выход из итерационного цикла осуществляется в случае выполнения заданного условия.

Вложенные циклы

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

технологии программирования - student2.ru

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

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

2. Языки высокого уровня.

3. Трансляторы

4. Этапы решения задачи с помощью ЭВМ

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

машинные;

машинно-оpиентиpованные (ассемблеpы);

машинно-независимые (языки высокого уровня).

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

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

Машинный язык

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

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

Язык ассемблера

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

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

Языки высокого уровня

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

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

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

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

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

Трансляторы

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

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

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

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

Интерпретатор (англ. interpreter — истолкователь, устный переводчик) переводит и выполняет программу строка за строкой.

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

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

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

Этапы решения задачи с помощью ЭВМ:

– Постановка задачи

– Разpаботка математической модели

– Разработка алгоритма

– Пpогpаммиpование

– Тестиpование и отладка

– Анализ результатов решения задачи

6.2 ОБЪЕКТНО ОИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ VISUAL BASIC

1 Интегрированная среда разработки Visual Basic

1.Интегрированная среда разработки (IDE)

2.Приоритет операций в VB

3.Основные компоненты языка

4.Типы данных

5.Операторы

6.Свойства, метод, событие, процедура

Интегрированная среда разработки (IDE)

• IDE- набор меню,панелей инструментов и окон,в совокупности образующих рабочее место программиста. Это среда,в которой разрабатывают приложения.

• IDE содержит 10 компонентов:

1. Главное меню

2. Панели инструментов

– стандартная

– отладка

– правка

– редактор формы

Настройка панелей – Просмотр/Панели инструментов

3. Окно управления приложениями

Ctrl+R или Просмотр-исследователь программы

4. Палитра(панель)элементов управления(Tool Box).

Просмотр/Блок инструментов. Содержит набор наиболее популярных стандартных объектов,применяемых при создании проектов.

5. Окно свойств

В нем отражаются различные атрибуты выделенных объектов

F4 Или просмотр/Свойства окна

6. Окно макета форм

Позволяет увидеть и указывает расположение на экране одной или нескольких форм

Просмотр/Формат окна

7. Окно просмотра объекта

В нем отражаются свойства,события и методы объектов,поставляемых с VB или создаваемых программистом

F2 – Просмотр/Окно просмотра объекта

8. Окно формы

Представляет собой контейнер для элементов управления

Shift+F7 Просмотр/Объект

9. Окно кода программы

Служит для ввода и редактирования кода программы

F7 Двойной щелчок мыши на форме- Просмотр/Код

10. Окно непосредственного выполнения

Используется в процессе отладки программы

Ctrl+Q Просмотр/Непосредственное окно

Приоритет операций в VB:

1 Арифметические операции и конкатенация строк.

а Вычисления в скобках

б Стандартные функции

в Возведение в степень

г Умножение и деление

д Сложение и вычитание

е &(конкатенация строк)

2 Операции сравнения: =, <>,<,>,<=,>=,Like,Is

3 Логические выражения: Not,And,Or и т.д.

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

Наши рекомендации