Файл: «Операторы циклов, их виды, особенности и области применения».pdf

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

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

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

Добавлен: 22.04.2023

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

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

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

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

Недостатки C++ в какой-то степени унаследованы от языка-предка ‑ языка Си, и вызваны изначально заданным требованием возможно большей совместимости с Си. Это такие недостатки, как:

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

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

1.3.2 Язык программирования C# (Sharp)

C# (произносится си-шарп) - объектно-ориентированный язык программирования. Он был разработан в 1998-2001 годах инженерами компании Microsoft под руководством Андерса Хейлсберга. Его назначением является создание приложений в платформе Microsoft .NET.

Компилятор для C# входит в стандартную установку самой .NET, поэтому программы на нём можно создавать и компилировать даже без инструментальных средств, вроде Visual Studio. Синтаксис языка C# очень похож на синтаксис языка С [6].

1.3.3 Язык программирования PHP

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

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

1.3.4 Язык программирования Perl


Perl - высокоуровневый интерпретируемый язык программирования общего назначения. Основной особенностью языка считаются его богатые возможности для работы с текстом, в том числе реализованные при помощи регулярных выражений. Перл унаследовал много свойств от языков Си, shell script, awk. Perl также знаменит огромной коллекцией дополнительных модулей CPAN [8].

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

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

  1. Постановка задачи. Задача формулируется на уровне понятий проблемной области, к которой она относится, и должна быть понятна исполнителю (пользователю).
  2. Математическая формулировка задачи (формализация задачи). Формализация задачи фактически представляет разработку математической модели решаемой задачи и включает в себя:
    1. описание задачи с помощью формул;
    2. определение перечней исходных данных и получаемых результатов;
    3. задание начальных условий и точности вычислений.
  3. Выбор (поиск) метода решения задачи. В ряде случаев одна и та же задача может быть решена с помощью различных методов.
  4. Разработка алгоритма решения задачи. На данном этапе устанавливается необходимая логическая последовательность вычислений с учетом выбранного метода решения задачи и других действий, с помощью которых будут получены результаты.
  5. Написание программы на одном из имеющихся языков программирования .
  6. Тестирование и отладка программы при различных входных данных.

Обычно последний пункт может занимать значительное время, иногда сравнимое со временем разработки программного продукта. Современные языки высокого уровня вкупе со специальными средами разработки значительно сокращают длительность этого этапа [9-12].

1.5 Выводы по главе 1

В главе 1 была обобщена информация о языках программирования взятая из литературных источников. Описано понятие языка программирования, его назначение и выполняемые функции.

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


Были рассмотрены наиболее популярные на сегодняшний день языки программирования высокого уровня. Язык С++ является наиболее универсальным из них, он позволяет как создавать кроссплатформенные программы с высоким уровнем абстракции от оборудования, так и системные решения вроде драйверов и низкоуровневых программ. Такие языки как Perl и PHP нашли свое широкое применение в создании сайтов сети Интернет. Популярный на сегодняшний день C# создавался на основе языка C для работы с платформой .NET компании Microsoft.

2 ЦИКЛЫ И МАССИВЫ В СОВРЕМЕННЫХ ЯЗЫКАХ ПРОГРАММИРОВАНИЯ

2.1 Циклы в современных языках программирования

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

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

Циклы используются для повторения блока кода. Возможность многократно выполнять свою программу блок кода является одной из самых простых и полезных задач в программировании - многие программы или веб-сайты, которые производят чрезвычайно сложный вывод, хотя в действительности выполняют только одну задачу много раз. Существует три типа циклов: for, while и do..while. Каждый из них имеет свое конкретное применение. Все они изложены ниже.

2.2 Общая информация о цикле For

FOR – один из самых распространенных циклов. Синтаксис цикла for:

for (инициализация переменной; проверка условия выхода из цикла; обновление значения переменной ) {

выполняемый код

}

Инициализация переменных позволяет либо объявить переменную, либо присвоить значение уже существующей переменной. Условие сообщает программе, что, пока условное выражение истинно, цикл должен продолжать повторяться. Обновления переменных является самым простым способом для цикла for обрабатывать изменение переменной. Обратите внимание, что точка с запятой разделяет каждый из этих разделов, что важно. Также обратите внимание, что каждый из разделов может быть пустым, хотя точки с запятой все равно должны быть там. Если условие пустое, оно оценивается как true, и цикл будет повторяться до тех пор, пока что-то не остановит его [14,15].


Рассмотрим пример использования цикла For:

#include <stdio.h>

int main()

{

int x;

for ( x = 0; x < 10; x++ ) {

printf( "%d\n", x );

}

getchar();

}

Результат выполнения программы показан на рисунке 1

Рисунок 1 – Результат работы цикла For

Эта программа является очень простым примером цикла for. Переменная x установлена на ноль, пока x меньше 10, программа вызывает функцию printf для отображения значения переменной x и добавляет 1 к x до тех пор, пока условие не будет выполнено [16].

2.3 Общая информация о цикле While

Синтаксис цикла While очень прост. Его основная структура: while (условие) {Код для выполнения, когда условие истинно}

Истинное условие представляет собой логическое выражение представляет собой любое логическое выражение, результатом которого является логическая true. Это может быть любая комбинация логических операторов, которая является допустимой. Цикл while похож на урезанную версию цикла for - он имеет нет раздела инициализации или обновления. Однако пустое условие не является допустимым для цикла while, как для цикла for.

Рассмотрим пример использования цикла While

#include <stdio.h>

int main()

{

int x = 0;

while ( x < 10 ) { /* While x is less than 10 */

printf( "%d\n", x );

x++;

}

getchar();

}

Этот код генерирует результат аналогичный изображенному на рисунке 1

Этот код длиннее, чем для цикла For. Самый простой способ думать о цикле состоит в том, что, когда он достигает скобки в конце, он возвращается к началу цикла, который снова проверяет условие и решает, будет ли повторять блок с кодом или остановится и перейдет к следующему оператору после блока [17].

2.4 Общая информация о цикле Do…While

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

do {

} while ( условие);

Условие проверяется в конце блока вместо начала, поэтому блок будет выполняться хотя бы один раз. Если условие истинно, мы возвращаемся к началу блока и выполняем его снова. Цикл do..while почти такой же, как цикл while, за исключением того, что тело цикла гарантированно выполняется хотя бы один раз. Рассмотрим пример кода с использованием Do..While

#include <stdio.h>

int main()

{

int x;

x = 0;

do {

printf( "Hello, world!\n" );

} while ( x != 0 );

getchar();

Результат выполнения кода представлен на рисунке 2

Рисунок 2 – Результат работы цикла Do..While


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

2.5 Операторы Break and Continue

Два ключевых слова, которые очень важны при работе с циклами – это Break и Continue. Команда Break приводит к выходу изцикла независимо от значения условия. Break полезен, если мы хотим выйти из цикла при особых обстоятельствах [18].

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

2.6 Массивы

Массив – это упорядоченный и именованный набор элементов одного типа.

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

Один из способов визуализации массива может быть следующим:

[][][][][][]

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

Синтаксис объявления массива следующий:

int examplearray[100];

Это сделает целочисленный массив со 100 слотами (местами, в которых хранятся значения массива). Чтобы получить доступ к определенному элементу детали массива, необходимо записат имя массива и в скобках - номер индекса. Это соответствует определенному элементу массива. Первый номер индекса всегда равен нулю, а последний - числу элементов минус единица. К примеру, индексы для массива из 100 элементов варьируются от 0 до 99.

Многомерные массивы - это массивы, которые имеют более одного индекса: вместо того, чтобы быть только одной линией слотов, многомерные массивы можно рассматривать как имеющие значения, которые распространяются на два или более измерений [20]. Вот простой способ визуализации двумерного массива:

[][][][][]

[][][][][]

[][][][][]

[][][][][]

[][][][][]

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