|
||||||||||||||||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Перейти к п. 1Форма записи команд не формализуется. В командах помимо слов могут использоваться символы и формулы. Важно лишь то, чтобы каждая команда была понятна исполнителю, точно определяла все его действия и могла бы быть им выполнена. Псевдокоды: Псевдокод представляет собой систему обозначений и правил, предназначенную для единообразной записи алгоритмов. Он занимает промежуточное место между естественным и формальным языком. С одной стороны, он близок к обычному естественному языку, поэтому алгоритмы могут на нем записываться и читаться как обычный текст. С другой стороны, в псевдокоде используются некоторые формальные конструкции и математическая символика, что приближает запись алгоритма к общепринятой математической записи. В качестве примера приведем запись на одном из псевдокодов алгоритма:
Этот алгоритм можно записать проще, но для демонстрации основных возможных конструкций псевдокода приведена именно такая запись. В силу своих особенностей псевдокоды, как и другие описанные выше средства записи алгоритмов, ориентированы на человека. Структурные схемы алгоритмов: Структурные схемы представляют алгоритм в наглядной графической форме. Действия алгоритма помещаются внутрь блоков, соединенных стрелками, показывающими очередность выполнения действий алгоритма. Приняты определенные стандарты графических изображений функциональных блоков: q действия ввода – вывода данных помещают в блоках, имеющих вид параллелограмма, q действия обработки информации помещают в блоках, имеющих вид прямоугольников, q команды проверки условий — в блоках, имеющих вид ромбов, q начало и конец алгоритма обозначают овалом. Структуры алгоритмов Алгоритмы строятся из некоторых основных структур, состоящих из отдельных базовых элементов. Можно выделить три структуры (конструкции): линейная (последовательная), разветвляющаяся и циклическая. Структура, состоящая из последовательности шагов (действий) называется линейной (см. рисунок 1). Каждый функциональный блок этой структуры имеет один вход и один выход.
Рис. 1. Линейная структура алгоритма
Структура, обеспечивающая выбор между двумя альтернативами в зависимости от исходных данных, называется разветвляющейся или условной. Различают полное (см. рисунок 2) и неполное (см. рисунок 3) ветвления. В этой структуре присутствует блок условия, который имеет один вход и два выхода (истина и ложь). После проверки условия на каждой ветви располагается линейная структура.
Рис. 2. Полная форма ветвления Рис. 3. Неполная форма ветвления
Структура, обеспечивающая повторение линейных и условных структур в зависимости от входных данных и условия задачи, называется циклической (или циклом). Различают циклы с предусловием (проверка условия стоит перед началом действий рисунок 4) и циклы с постусловием (проверка условия стоит после выполнения действий рисунок 5).
Рис. 7.4. Цикл с предусловием Рис. 7.5. Цикл с постусловием
Кроме перечисленных структур существуют подчиненные команды или процедуры, предназначенные для выполнения повторяющихся действий с разными входными данными. Пример структурной схемы приведен на рисунке 6.
Рис. 7.6. Пример структурной схемы алгоритма Евклида
Для записи внутри блоков действий используется естественный язык с элементами математической символики. В результате проверки условия возникают два возможных пути для продолжения алгоритма. Эти пути изображаются стрелками со знаками «+» и «-» (иногда пишут также «Да» и «Нет»). Переход по стрелке со знаком «+» происходит, если условие истинно, а переход по стрелке «-», если условие ложно. Схемы алгоритмов обладают большей наглядностью, чем словесная запись алгоритма. Однако эта наглядность быстро теряется при изображении большого алгоритма - в этом случае схема получается плохо обозримой. При составлении алгоритмов следует учитывать начальные значения переменных, в которых будут накапливаться сумма или произведение, а также изменение переменной-индекса, т.е. порядкового номера значений последовательности чисел. 5. Наиболее используемые алгоритмы - суммирования, нахождения произведения (циклические), нахождения корней квадратного уравнения общего вида (условные). Смотреть свои практические работы. 6. Обзор языков программирования, общие структурные элементы, отличие алгоритма от программы. Язык программирования – это формализованный язык, который представляет собой совокупность алфавита, правилнаписанияконструкций (синтаксис) и правилтолкованияконструкций (семантика). В настоящее время насчитывается несколько сотен языков программирования, рассчитанных на разные сферы применения ЭВМ, т. е. на разные классы решаемых с помощью ЭВМ задач. Эти языки классифицируют по разным уровням, учитывая степень зависимости языка от конкретной ЭВМ. Общепринятой и строгой классификации языков программирования (ЯП) не существует. Поэтому в курсе представлена классификация наиболее распространенных языков, сложившаяся исторически: · Низкого уровня; · Высокого уровня. К ЯП низкого уровня относят машинные и машинно-зависимые языки (Ассемблер). К машинно-независимым – относят алгоритмические языки высокого уровня: универсальные, проблемно - ориентированные, объектно - ориентированные, командные языки баз данных, языки создания сценариев в компьютерных сетях. На самом нижнем уровне классификации находится машинный язык, т. е. внутренний язык ЭВМ, на котором в конечном итоге представляется и исполняется программа. Однако непосредственная запись алгоритма на машинном языке требует от разработчика чрезмерной детализации алгоритма, в результате чего запись получается не наглядной и трудной для понимания. Поэтому разработчики алгоритмов используют, как правило, языки программирования более высокого уровня, в которых принята символическая форма записи, близкая к общепринятой математической. Универсальные языки высокого уровня обеспечивают создание различных программ (задач), например Алгол, Си, ПЛ/1, Паскаль и т.д.. Проблемно-ориентированные языки создавались под какие-то конкретные классы задач, например, Фортран – научные расчеты, Кобол - экономические расчеты, Лисп и Пролог – искусственный интеллект и т.д. Объектно-ориентированные языки четвертого поколения (4GL — forth-generation language) и программирование основаны на создании модели системы, как совокупности объектов и использует следующие базовые понятия: класс, объект, событие, свойства объекта, метод обработки, наследование (создание новых классов на основе существующих), полиморфизм (обладание информацией о том, какие методы могут использовать рожденные объекты), модульность. Первым языком программирования этой группы был - Симула-67. В настоящее время к этим языкам относятся - С++, Java. С середины 90-х годов во многих объектно-ориентированных языках появляются системы визуального программирования. К ЯП такого типа относятся Visual Basic, Delphi. Visual С++ и другие современные языки программирования. Командные языки баз данных предназначены длярасширения возможностей среды управления базами данных, для создания собственных функций интерфейса - взаимодействия с пользователем. Языки создания сценариев в компьютерных сетях называются скрипт-языками. Они появились в связи с широким распространением глобальной сети Интернет и, соответственно, оформлением Web-страниц. К ним относятся Java Script, динамический HTML, Perl, VRML (для организации трехмерной графики). Интересна эволюция языка программирования BASIC. Он был задуман как универсальный язык для начинающих (по аналогии с BASIC ENGLISH, — подмножеством английского языка, выделенным для обучения иностранцев). Первые версии (или «диалекты») этого языка содержали небольшое количество самых необходимых команд и предусматривали только режим интерпретации. Однако современные варианты языка BASIC не только не уступают по возможностям многим «грандам» (типа С), но иногда и превосходят их. Например, Visual Basic используется в суперсовременных системах, основанных на так называемой технологии «клиент-сервер». Одновременно BASIC стал своеобразным «эсперанто» в мире информационной технологии. На этом языке часто пишутся примеры программ или их фрагментов в книгах, статьях, инструкциях к программным продуктам. Фирма Microsoft использует Visual Basic для расширения функций своих программных продуктов. В Microsoft Office предусмотрен универсальный язык Visual Basic for Applications (VBA — Visual Basic для приложений). С помощью VBA можно создавать собственные программные модули, собственные интерфейсы для офисных приложений Word, Excel, Access. В данном курсе буде рассматриваться язык программирования VBA для созданния пользовательских функций в офисном приложении Microsoft Excel. Несмотря на существование множества языков программирования, все они, как правило, содержат: Ø средства описания данных; Ø арифметические операторы (подобные с = а+в); Ø средства управления; Ø средства организации циклов; Ø средства ввода и вывода информации. Многие языки пользуются похожими принципами организации программ, но разным синтаксисом. Примерное соответствие структур алгоритмов и операторов языков программирования представлены в таблице 1. Таблица 1 - Структуры алгоритмов и операторы языков программирования
7. Современные технологии программирования. Существует несколько различных технологий программирования: · процедурное программирование; · функциональное программирование; · логическое программирование; · объектно-ориентированное программирование; · параллельное программирование. Процедурное программирование – это технология, основанная на создании алгоритма, как последовательности команд (операторов). Основной командой является оператор присваивания, кроме того, для разветвления используются условные операторы, а для повторения действий – циклы. Функциональное программирование – это технология, основанная на создании программ, в которых единственным действием является вызов функции. Программа и пользовательские функции строятся из совокупности базовых функций. Представитель этого направления язык Lisp (List Processing), работающий со списками. Логическое программирование – это технология, основанная на отношении, поэтому программа – это совокупность аксиом и правил, определяющих отношение между объектами. Представитель этого направления – язык искусственного интеллекта Пролог (Pro gramming in Log ic). Объектно-ориентированное программирование – это технология, основанная на понятии объекта, который объединяет в себе структуры данных и методы их обработки, создании модели системы, как совокупности объектов. Представителями этого направления являются языки программирования С++, Visual Basic, Java Script, Delphi и др. С середины 90-х годов объектно-ориентированные языки стали реализовываться как системы визуального программирования в которых сборка экранной формы производится из готовых объектов-«полуфабрикатов» с помощью мыши. Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.007 сек.) |