Алгоритм со структурой вложенных циклов 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Алгоритм со структурой вложенных циклов



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

Матрицы - удобный пример для демонстрации алгоритмов со структурой множенных циклов.

Пример 1.8 В матрице [А] М столбцов и N строк. Каждый элемент матрицы определен двумя индексами, которые указывают положение этого элемента. На первом месте вписывается номер строки, на втором - номер столбца. Например а элемент матрицы [А], расположенный во второй строке третьего столбца.

Если необходимо задать значение матрицы, значит нужно задать значения всех ее элементов. Назовем элементами матрицы аij. Для всей матрицы в целом i пробегает значения от 1 до N, a j oт 1 до М.

Каждую строку матрицы можно рассматривать как одномерный массив.

 


Глава 2 ПРОГРАММА НА ЯЗЫКЕ ВЫСОКОГО УРОВНЯ

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

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

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

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

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

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

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

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

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

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

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

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

Двоичный язык является не чем иным, как непосредственно машинным языком. В настоящее время такие языки программистами не применяется.

Шестнадцатеричный язык обеспечивает некоторое; упрощение записи программы на машинном языке путем представления четырех двоичных цифр одной шестнадцатеричной. Этот язык используется в качестве дополнения к языкам высокого уровня, таким как Паскаль или СИ, для программирования критичных к времени выполнения фрагментов алгоритмов.

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

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

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

Краткий перечень наиболее распространенных языков программирования высокого уровня:

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

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

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



Поделиться:


Последнее изменение этой страницы: 2017-02-17; просмотров: 268; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.118.9.7 (0.01 с.)