Файл: Операторы циклов, их виды, особенности и области применения (Понятие языка программирования).pdf

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

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

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

Добавлен: 23.05.2023

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

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

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

СОДЕРЖАНИЕ

Введение

1 ЯЗЫКИ ПРОГРАММИРОВАНИЯ. ОСНОВНЫЕ ПОНЯТИЯ И ТЕРМИНЫ

1.1. Понятие языка программирования

1.2 Классификация языков программирования

1.2.1 Классификация по степени ориентации на возможности ЭВМ

1.2.2 Классификация по типу решаемых задач

1.2.3 Классификация по степени ориентации на класс задач

1.2.4 Классификация по степени детализации алгоритма

1.2.5 Классификация по способу получения результата

1.2.6 Классификация по возможности создания новых типов данных и операций

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

1.3.1 Язык программирования C++

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

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

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

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

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

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

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

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

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

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

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

2.6 Массивы

2.7 Выводы по главе 2

3 РАЗРАБОТКА ПРОГРАММЫ С ИСПОЛЬЗОВАНИЕМ ЦИКЛОВ И МАССИВОВ

3.1 Программа сортировки массива

3.2 Выводы по главе 3

ЗАКЛЮЧЕНИЕ

СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ

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 столбцами выглядит следующим образом:

int two_dimensional_array[8][8];

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

2.7 Выводы по главе 2

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

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

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


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

3 РАЗРАБОТКА ПРОГРАММЫ С ИСПОЛЬЗОВАНИЕМ ЦИКЛОВ И МАССИВОВ

3.1 Программа сортировки массива

В данной курсовой работе была разработана программа, которая сортирует массив с помощью сортировки методом выбора. Программа написана на языке C++ и разработана в среде Microsoft Visual Studio 2017.

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

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

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

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


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

Для сортировки массива от наименьшего до наибольшего элемента методом выбора выполняются следующие шаги:

Начиная с элемента под индексом 0, ищем в массиве наименьшее значение.

Найденное значение меняем местами с нулевым элементом.

Повторяем шаги 1 и 2 уже для следующего индекса в массиве.

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

Вот пример работы этого алгоритма в массиве с 5-ью элементами:

{ 30, 50, 20, 10, 40 }

Сначала ищем наименьший элемент, начиная с индекса 0:

{ 30, 50, 20, 10, 40 }

Затем меняем местами наименьший элемент с элементом под индексом 0:

10, 50, 20, 30, 40 }

Теперь, когда первый элемент отсортирован, мы его игнорируем. Ищем следующий наименьший элемент, но уже начиная с индекса 1:

{ 10, 50, 20, 30, 40 }

И меняем его местами с элементом под индексом 1:

{ 10, 2050, 30, 40 }

Теперь мы можем игнорировать первые два элемента. Ищем следующий наименьший элемент, начиная с индекса 2:

{ 10, 20, 50, 30, 40 }

И меняем его местами с элементом под индексом 2:

{ 10, 20, 3050, 40 }

Ищем следующий наименьший элемент, начиная с индекса 3:

{ 10, 20, 30, 50, 40 }

И меняем его местами с элементом под индексом 3:

{ 10, 20, 30, 4050 }

Ищем следующий наименьший элемент, начиная с индекса 4:

{ 10, 20, 30, 40, 50 }

И меняем его местами с элементов под индексом 4 (самозамена — ничего не делаем):

{ 10, 20, 30, 40 50 }

На этом этапе массив отсортирован.

{ 10, 20, 30, 40, 50 }

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

Исходный код программы представлен ниже:

int main()

{

const int len = 5;

int array[len] = { 30, 50, 20, 10, 40 };

for (int i = 0; i < len - 1; ++i)

{

int smallest = i;

for (int current = i + 1; current < len; ++current)

{

if (array[current] < array[smallest])

smallest = current;

}

std::swap(array[i], array[smallest]);

}

for (int i = 0; i < len; ++i)

std::cout << array[i] << ' ';

getchar();

return 0;

}

Вначале работы программы массиву array присваиваются значения { 30, 50, 20, 10, 40 }.


Далее выполняются два цикла For один из которых вложен в другой.  Внешний цикл перебирает элементы один за другим (по очереди). В каждой итерации внешнего цикла внутренний цикл используется для поиска наименьшего элемента среди элементов, которые остались в массиве (начиная с i + 1). smallest отслеживает индекс наименьшего элемента, найденного внутренним циклом. Затем smallest меняется значением с i. И наконец, внешний цикл передает этот элемент, и процесс повторяется. Результат выполнения программы представлен на рисунке 3

Рисунок3 – Результат выполнения программы SortArray.exe

Как видно из рисунка, программа вывела на экран отсортированный массив. Следует отметить, что подобный метод сортировки не является быстрым или оптимальным. Так, для созданного в данной программе массива из 5 элементов, общее количество операций сравнения в циклах составило 52-1=24.

3.2 Выводы по главе 3

В данной главе была разработана программа по сортировке массива. Программа создана на языке С++ в среде Microsoft Visual Studio 2017. В данной программе выполняется сортировка массива методом выбора. В ней задается массив из пяти чисел и после ее запуска на экране отображается отсортированный массив.

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

ЗАКЛЮЧЕНИЕ

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

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

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

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