Автор работы: Пользователь скрыл имя, 21 Декабря 2013 в 06:23, курсовая работа
В обычной повседневной жизни повторяющиеся действия встречаются довольно часто, выполняя их, мы тратим время, а как то упростить эти действия не получается. В программировании, в отличии от повседневной жизни, существуют циклические алгоритмы, которые обеспечивают выполнение повторяющихся действий. Этим облегчается написание программ и сокращается объем кода. В данной курсовой работе я рассмотрю основные варианты циклических алгоритмов и исследую способы работы с ними.
В мире существует громадное количество языков программирования, но большинство из них различается только синтаксисом и методом компиляции.
Введение________________________________________3
Цели и задачи____________________________________3
Циклические алгоритмы ___________________________4
Цикл FOR_______________________________________5
Цикл WHILE____________________________________10
Цикл DO…WHILE _______________________________14
Специальные функции для циклов___________________18
Массивы________________________________________22
Двумерные массивы ______________________________27
Заключение _____________________________________33
Список литературы_______________________________34
int a[5][3];
Пример инициализации двумерного массива:
int a[5][3] = { {4, 7, 8}, {9, 66, -1}, {5, -5, 0}, {3, -3, 30}, {1, 1, 1} };
В данном массиве 5 строк, 3 столбца. после знака присвоить ставятся общие фигурные скобочки, внутри которых ставится столько пар фигурных скобочек, сколько должно быть строк в двумерном массиве, причём эти скобочки разделяются запятыми. В каждой паре фигурных скобочек записывать через запятую элементы двумерного массива. Во всех фигурных скобочках количество элементов должно совпадать. Так как в массиве пять строк, то и внутренних пар скобочек тоже пять. Во внутренних скобочках записаны по три элемента, так как количество столбцов — три. Графически наш массив будет выглядеть, как двумерная таблица (Рисунок 19).
Рисунок 19 – графическое представление массива
Рассмотрим программу, на обработку двумерного массива, которая называется «Лабиринт». Лабиринт должен быть построен на основе двумерного массива. Размер лабиринта будет 33 строки и 20 символов в строке.
// array2.cpp: определяет точку входа для консольного приложения.
#include <iostream>
using namespace std;
int main()
{
// 1-условно "стенки лабиринта"
// 2-"правильный путь, выход из лабиринта"
// 0-"ложный путь"
char wall=176; //символ для изображения стенки лабиринта
int mas[33][20] = { {1,2,1,1,1,1,1,1,1,1,1,1,1,1,
// инициализация двумерного
{1,2,1,0,0,1,0,1,2,2,2,1,1,1,
{1,2,1,1,0,1,0,1,2,1,2,2,2,2,
{1,2,2,2,2,2,2,1,2,1,1,1,1,2,
{1,1,1,1,1,1,2,1,2,1,0,0,1,2,
{1,0,0,1,0,0,2,2,2,1,1,0,0,2,
{1,0,1,1,0,1,1,1,1,1,0,0,1,2,
{1,0,0,0,0,0,0,0,0,1,1,1,1,2,
{1,1,1,1,1,1,0,1,1,1,2,2,2,2,
{1,1,0,0,0,1,0,0,1,1,2,1,1,1,
{1,0,0,1,0,0,0,0,0,1,2,2,2,2,
{1,1,1,1,1,1,1,1,1,1,1,1,1,2,
{1,2,2,2,2,2,2,2,2,2,2,2,2,2,
{1,2,1,1,0,1,1,1,1,1,1,1,1,1,
{1,2,1,0,0,0,1,2,2,2,1,0,0,0,
{1,2,1,1,1,1,1,2,1,2,1,1,1,0,
{1,2,1,2,2,2,1,2,1,2,2,2,1,1,
{1,2,1,2,1,2,1,2,1,0,1,2,2,2,
{1,2,1,2,1,2,1,2,1,0,1,1,1,1,
{1,2,1,2,1,2,1,2,1,0,0,0,0,0,
{1,2,1,2,1,2,2,2,1,0,1,1,1,1,
{1,2,1,2,1,1,1,1,1,0,0,0,1,0,
{1,2,1,2,2,1,0,0,1,1,1,0,0,0,
{1,2,1,1,2,1,1,0,0,0,0,0,1,0,
{1,2,1,1,2,1,0,0,1,1,1,1,1,1,
{1,2,1,1,2,1,1,0,1,2,2,2,2,2,
{1,2,1,1,2,1,0,0,1,2,1,1,1,1,
{1,2,1,1,2,1,0,1,1,2,1,1,1,1,
{1,2,1,1,2,1,0,0,1,2,1,1,2,2,
{1,2,1,1,2,1,0,1,1,2,1,1,2,1,
{1,2,1,1,2,1,0,0,1,2,1,1,2,1,
{1,2,2,2,2,1,0,1,1,2,2,2,2,0,
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,
// два цикла - внутренний и
внешний, осуществляющие
for (int i = 0; i < 33; i++) //переключение по строкам
{
for (int j = 0; j < 20; j++)// переключение по столбцам
if (mas[i][j] == 1)
{
// вывести два раза символ (номер которого 176 в таблице аски) в консоль
cout << wall;
cout << wall;
} else
cout << " "; // вывести два пробела
cout << endl;
}
return 0;
}
Правильный и ложный пути
можно было бы обозначать одной и
той же цифрой, например, нулём, но для
наглядности правильный путь обозначен
цифрой 2. Инициализация массива
выполнялась вручную, только для
того, что бы упростить программу.
Так как в программе
Рисунок 20 – результат работы программы «лабиринт»
Заключение
В ходе курсовой работы мы выяснили, что использование циклов и массивов значительно ускоряют написание программ и сильно сокращают код необходимый для обработки больших объемов данных. Например, для объявления тысячи переменных одного типа придется написать тысячу строк, в то время как с помощью массива мы можем те же действия выполнить одной стройкой кода.
Обработка массивов
с помощью циклов еще более
сокращает объем написания
Кроме того циклы служат не только для обработки массивов, но и просто для выполнения повторяющихся действий.
В процессе выполнения данной работы мы рассмотрели основные типы циклов и методы их применения. Кроме того рассмотрены специальные функции циклов – break и continue. Исследованы методы применения специальных функций.
Считаю, задачи и цели поставленные перед данной курсовой работой достигнуты в полной мере.
Список используемой литературы
С/С++. Структурное программирование: Практикум/Т.А. Павловская, – СПб.: Питер. 2003.–461с.
Двумерные массивы: стр.71 -88
Информация о работе Создание программы циклической структуры. Работа с массивами