Основы алгоритмизации и программирования


ҚАЗАҚСТАН РЕСПУБЛИКАСЫНЫҢ БІЛІМ ЖӘНЕ ҒЫЛЫМ МИНИСТРЛІГІ
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РК
КӨКШЕТАУ ГУМАНИТАРЛЫ-ТЕХНИКАЛЫҚ КОЛЛЕДЖІ
КОКШЕТАУСКИЙ ГУМАНИТАРНО-ТЕХНИЧЕСКИЙ КОЛЛЕДЖ
Алгоритмдеу және бағдарламау негіздері пәні бойынша
КУРСТЫҚ ЖОБА
КУРСОВОЙ ПРОЕКТ
тақырыбы: _________________________________ ______
по дисциплине: Основы алгоритмизации и программирования
на тему: _________________________________ __
ОрындадыВыполнил:
(Оқушының аты-жоні, тобыФИО, гр., уч-ся)
ЖетекшісіРуководитель: преподаватель специальных
дисциплин Маметбаков В.В.
Тапсыру күніДата сдачи: _____________20__г.
Қорғау күніДата защиты: ___________20__г.
БағасыОценка:__________
Жетекшінің қолыПодпись руководителя:___________
Көкшетау,2018 ж.г.
СОДЕРЖАНИЕИзм.
Лист
№ докум.
Подпись
Дата
Лист
2
КП.1305000.20.34.№ зачетки
Разраб.
Устинов М.С
Провер.
Ф.И.О.
Реценз.
Ф.И.О.
Н. Контр.
Утверд.
"Массивы в Турбо Паскаль"
Лит.
Листов
28
КГТК
Изм.
Лист
№ докум.
Подпись
Дата
Лист
2
КП.1305000.20.34.№ зачетки
Разраб.
Устинов М.С
Провер.
Ф.И.О.
Реценз.
Ф.И.О.
Н. Контр.
Утверд.
"Массивы в Турбо Паскаль"
Лит.
Листов
28
КГТК
ВВЕДЕНИЕ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
3
1 АЛФАВИТ ЯЗЫКА TURBO PASCAL, ОСНОВНЫЕ ПОНЯТИЯ АЛГОРИТМА ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ... ... ... ..
4
1.1 Основные понятия алгоритмизации и программирования ... ... ... ... ...
5
1.2 Операторы языка Turbo Pascal ... ... ... ... ... ... ... ... ... ... ... ... ... ..
7
1.3 Понятия и виды массивов в Turbo Pascal ... ... ... ... ... ... ... ... ... ... ..
8
1.4 Основные действия с массивами Turbo Pascal ... ... ... ... ... ... ... . ... .
11
2 ИСПОЛЬЗОВАНИЕ МАССИВА ПРИ РЕШЕНИИ ЗАДАЧ В TURBO PASCAL ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
14
ЗАКЛЮЧЕНИЕ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
23
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ ... ... ... ... ... ... . ... ...
26
ПРИЛОЖЕНИЕ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
27
ВВЕДЕНИЕ
Изм.
Лист
№ докум.
Подпись
Дата
Лист
3
КП.1305000.20.34.№ зачетки
Разраб.
Устинов М.С
Провер.
Ф.И.О.
Реценз.
Ф.И.О.
Н. Контр.
Утверд.
"Массивы в Турбо Паскаль"
Лит.
Листов
28
КГТК
Изм.
Лист
№ докум.
Подпись
Дата
Лист
3
КП.1305000.20.34.№ зачетки
Разраб.
Устинов М.С
Провер.
Ф.И.О.
Реценз.
Ф.И.О.
Н. Контр.
Утверд.
"Массивы в Турбо Паскаль"
Лит.
Листов
28
КГТК
Актуализация знаний: с каждым днём программирование становиться всё более популярно среди обычных пользователей, что связано с интенсивным развитием информационных технологий. В начале компьютерной эры программисты были рабами вычислительных машин. Разработчики программного обеспечения должны были писать свои команды на единственном языке, который понимали компьютеры, - в двоичном коде, и программы выглядели как последовательность нулей и единиц. По мере того как время шло, и алгоритмы усложнялись, программирование требовало все больше времени, а внесение изменений в программы и их модернизация становились практически невозможными.
Язык Паскаль относится к процедурно-ориентированным языкам высокого уровня.
Достоинства языка Паскаль:
-относительная простота (т.к. разрабатывался с целью обучения программированию);
-идеология языка Паскаль близка к современным методикам и технологиям программирования, в частности, к структурному программированию и нисходящему проектированию (метод пошаговой детализации) программ. -Паскаль может использоваться для записи программы на различных уровнях ее детализации, не прибегая к помощи схем алгоритмов;
-гибкие возможности в отношении используемых структур данных;
-высокая эффективность программ;
-наличие средств повышения надежности программ, включающих контроль правильности использования данных различных типов и программных элементов на этапах трансляции, редактирования и выполнения.
В связи с этим язык Паскаль в настоящее время находит самое широкое распространение для решения большого круга разнообразных практических и научных задач.
Цель курсового проекта - Изучить работу массивов в Turbo Pascal
Задачи курсового проекта:
- рассказать о теоретических аспектах языка Turbo Pascal
- Показать на примере работу массивов Turbo Pascal
ГЛАВА 1. АЛФАВИТ ЯЗЫКА TURBO PASCAL, ОСНОВНЫЕ ПОНЯТИЯ АЛГОРИТМА
Основой любого языка программирования, как и разговорного языка, является алфавит. Под последним формально подразумевают конечное множество символов, из которых составляются отдельные слова и в целом предложения.
Программа, написанная на алгоритмическом языке, в конечном итоге представляет собой конечную последовательность предложений. Эти предложения принято делить на три класса: директивы -- указания компилятору, операторы -- инструкции центральному процессору и комментарии -- пояснения к программе.
Алфавит языка Turbo Pascal 7.0 включает следующие символы:
1) прописные буквы латинского алфавита: А, В, С, D, Е, F, G, H, J, I, К, L, М, N, О, P, Q, R, S, T, V, U, W, X, Y, Z;
2) строчные буквы латинского алфавита: a, b, с, d, е, f, g, h, j, i, k, 1, m, n, o, p, q, r, Изм.
Лист
№ докум.
Подпись
Дата
Лист
4
КП.1305000.20.34.№ зачетки
Разраб.
Устинов М.С
Провер.
Ф.И.О.
Реценз.
Ф.И.О.
Н. Контр.
Утверд.
"Массивы в Турбо Паскаль"
Лит.
Листов
28
КГТК
Изм.
Лист
№ докум.
Подпись
Дата
Лист
4
КП.1305000.20.34.№ зачетки
Разраб.
Устинов М.С
Провер.
Ф.И.О.
Реценз.
Ф.И.О.
Н. Контр.
Утверд.
"Массивы в Турбо Паскаль"
Лит.
Листов
28
КГТК
s, t, v, u, w, x, y, z;
3) разделители: точка ., запятая ,, точка с запятой ;, двоеточие :, апостроф
4) арабские цифры: 0, 1,2, 3, 4, 5, 6, 7, 8, 9;
5) знаки арифметических операций: плюс +, минус -, умножить *, разделить ;
6) знаки отношений: равно =, меньше , больше , меньше или равно = , больше или равно = , не равно о ;
7) круглые ( ), квадратные [ ], фигурные { } скобки;
8) специальные символы: доллар $, номер #, подчеркивание _, собака @, крыша Л.
На основании перечисленных символов составляются директивы и операторы программы.
Комментарии, как правило, записываются на русском языке, алфавит которого не входит в состав символов языка. Поэтому в директивах и операторах использование русских букв не допускается. Если это правило будет нарушено, то в процессе компиляции программы компилятор выведет на экран монитора сообщение об ошибке, которую придется исправить.
В директивах и операторах используются специальные слова, в какой-то мере поясняющие их смысл и, таким образом, приближающие высказывания на алгоритмическом языке к понятному естественному языку. Это так называемые зарезервированные или служебные слова.
Изм.
Лист
№ докум.
Подпись
Дата
Лист
5
КП.1305000.20.34.№ зачетки
Изм.
Лист
№ докум.
Подпись
Дата
Лист
5
КП.1305000.20.34.№ зачетки
Алгоритмы описывают точную и понятную последовательность вычислительных действий на языке программирования.
Каждый алгоритм обладает следующими свойствами:
- Дискретность (алгоритм должен представлять решение задачи как последовательность некоторых простых шагов);
- Детерминированность (алгоритм должен в каждый конкретный момент времени однозначно определять следующий шаг исходя из состояния системы);
- Понятность (алгоритм должен включать только те команды, которые исполнитель может выполнить);
- Конечность (алгоритм при корректных входных данных должен заканчиваться и выдавать результат);
- Универсальность (алгоритм должен быть применим к разным наборам входных данных);
- Результативность (алгоритм должен завершаться с каким-то результатом);
Главная особенность любого алгоритма - формальное исполнение, позволяющее выполнить заданные действия (команды) не только человеку, но и различным техническим устройствам.
Основные понятия алгоритмизации и программирования
Алгоритм - это конечная последовательность команд (предписаний) исполнителю совершить конечную последовательность действий, которая направлена на достижение определённой цели.
Исполнитель - человек, живое существо или автоматическое устройство, способное к восприятию и выполнению данных команд.
Система команд исполнителя - перечень команд, которые понимает и может исполнить исполнитель.
Выбор средств и методов для записи алгоритма зависит прежде всего от назначения самого алгоритма, а также от того, кто будет исполнять алгоритм.
Алгоритмы записываются в виде:
- словесных правил,
- блок схем,
- программ.
Программа - алгоритм, записанный на языке программирования. Алгоритм, предназначенный для исполнения на компьютере, записывается на языке программирования ( языке, понятном ЭВМ) .
Эффективность - минимум времени выполнения, минимум машинной памяти и других ресурсов компьютера.
Языки программирования - языки для записи программ для компьютеров. Это совокупность средств и правил представления алгоритма в виде, приемлемом для компьютера.
Оператор - выражение обозначающее и описывающее какую-либо операцию.
Транслятор - это комплекс программ, обеспечивающий перевод программы, написанной на символическом языке, в совокупность машинных команд.
Компилятор - это транслятор, обеспечивающий перевод программы, написанной на алгоритмическом языке, в совокупность машинныхИзм.
Лист
№ докум.
Подпись
Дата
Лист
6
КП.1305000.20.34.№ зачетки
Изм.
Лист
№ докум.
Подпись
Дата
Лист
6
КП.1305000.20.34.№ зачетки
команд без ее выполнения в компьютере.
Интерпретатор - это транслятор, обеспечивающий перевод каждой конструкции алгоритмического языка в машинные команды и одновременное выполнение этой конструкции в компьютере.
Типы алгоритмических процессов
По структуре выполнения алгоритмы и программы делятся на три вида:
- линейные;
- ветвящиеся;
- циклические;
Линейный алгоритм (линейная структура) - это такой алгоритм, в котором все действия выполняются последовательно друг за другом и только один раз. Схема представляет собой последовательность блоков, которые располагаются сверху вниз в порядке их выполнения. Первичные и промежуточные данные не оказывают влияния на направление процесса вычисления.
Алгоритмы разветвляющейся структуры
На практике часто встречаются задачи, в которых в зависимости от первоначальных условий или промежуточных результатов необходимо выполнить вычисления по одним или другим формулам.
Такие задачи можно описать с помощью алгоритмов разветвляющейся структуры. В таких алгоритмах выбор направления продолжения вычисления осуществляется по итогам проверки заданного условия. Ветвящиеся процессы описываются оператором IF (условие).
Циклические вычислительные процессы
Для решения многих задач характерно многократное повторение отдельных участков вычислений. Для решения таких задач применяются алгоритмы циклической структуры (циклические алгоритмы). Цикл - последовательность команд, которая повторяется до тех пор, пока не будет выполнено заданное условие. Циклическое описание многократно повторяемых процессов значительно снижает трудоемкость написания программ.
Операторы языка Turbo Pascal
Простыми являются те операторы, которые не содержат в себе других операторов. К ним относятся: Изм.
Лист
№ докум.
Подпись
Дата
Лист
7
КП.1305000.20.34.№ зачетки
Изм.
Лист
№ докум.
Подпись
Дата
Лист
7
КП.1305000.20.34.№ зачетки
- оператор присваивания;
- обращение к процедуре;
- оператор безусловного перехода GOTO;
- пустой оператор.
Оператор присваивания
С помощью этого оператора переменной или функции присваивается значение выражения. Для этого используется знак присваивания := , слева от которого записывается имя переменной или функции, которой присваивается значение, а справа - выражение, значение которого вычисляется перед присваиванием. Допустимо присваивание значений переменным и функциям любого типа, за исключением типа файл. Тип выражения и тип переменной (или функции) должны быть совместимы для присваивания.
Оператор безусловного перехода GOTO. Использование меток
Оператор GOTO позволяет изменить стандартный последовательный порядок выполнения операторов и перейти к выполнению заданного оператора. Оператор, на который происходит переход, должен быть помечен меткой. Эта же метка должна быть указана и в операторе GOTO. Метки, используемые в Turbo Pascal, могут быть двух типов:
- целым числом в пределах от 0 до 9999;
- обычным идентификатором.
Структурированными являются такие операторы, которые включают в себя другие операторы. К структурированным операторам относятся:
- составной оператор;
- условный оператор IF;
- условный оператор CASE;
- оператор цикла REPEAT;
- оператор цикла WHILE;
- оператор цикла FOR;
-оператор над записями WITH.
Составной оператор представляет собой совокупность последовательно выполняемых операторов, заключенных в операторные скобки begin и end.
Условный оператор IF. Оператор IF реализует алгоритмическую конструкцию РАЗВИЛКА и изменяет порядок выполнения операторов в зависимости от истинности или ложности некоторого условия.
Условный оператор CASE. С помощью этого оператора можно выбрать вариант из любого количества вариантов.
Оператор цикла REPEAT организует выполнение цикла, состоящего из любого числа операторов, с неизвестным заранее числом повторений. Тело цикла выполняется хотя бы один раз. Выход из цикла осуществляется при истинности некоторого логического выражения.
Оператор цикла WHILE организует выполнение одного оператора неизвестное заранее число раз. Выход из цикла осуществляется, если некоторое логическое выражение окажется ложным. Так как истинность логического выражения проверяется в начале каждой итерации (т е раньше, чем выполняетсяИзм.
Лист
№ докум.
Подпись
Дата
Лист
8
КП.1305000.20.34.№ зачетки
Изм.
Лист
№ докум.
Подпись
Дата
Лист
8
КП.1305000.20.34.№ зачетки
тело), тело цикла может не выполняться ни разу.
Оператор цикла FOR организует выполнение одного оператора заранее известное число раз.
Использование стандартных процедур Break и Continue в операторах циклов
REPEAT, WHILE и FOR
В циклах REPEAT, WHILE и FOR можно использовать две стандартные процедуры:
- Break и Continue. Процедура Break позволяет досрочно выйти из цикла, не дожидаясь выполнения условия выхода. Процедура Continue позволяет начать новую итерацию цикла, даже если предыдущая не завершена.
Понятия и виды массивов в Turbo Pascal
Массив -- это пронумерованная последовательность величин одинакового типа, обозначаемая одним именем. Элементы массива располагаются в последовательных ячейках памяти, обозначаются именем массива и индексом. Каждое из значений, составляющих массив, называется его компонентой (или элементом массива).
Массив данных в программе рассматривается как переменная структурированного типа. Массиву присваивается имя, посредством которого
можно ссылаться как на массив данных в целом, так и на любую из его компонент.
Вообще, массив - однородный, упорядоченный структурированный тип данных с прямым доступом к элементам.
Переменные, представляющие компоненты массивов, называются переменными с индексами в отличие от простых переменных, представляющих в программе элементарные данные. Индекс в обозначении компонент массивов может быть константой, переменной или выражением порядкового типа (целочисленный, логический, символьный, перечислимый, диапазон).
Если за каждым элементом массива закреплен только один его порядковый номер, то такой массив называется линейным. Вообще количество индексов элементов массива определяет размерность массива. По этом признаИзм.
Лист
№ докум.
Подпись
Дата
Лист
9
КП.1305000.20.34.№ зачетки
Изм.
Лист
№ докум.
Подпись
Дата
Лист
9
КП.1305000.20.34.№ зачетки
ку массивы делятся на одномерные (линейные), двумерные, трёхмерные и т.д.
Одномерный массив -- это фиксированное количество элементов одного и того же типа, объединенных одним именем, где каждый элемент имеет свой номер. Обращение к элементам массива осуществляется с помощью указания имени массива и номеров элементов.Рисунок 1. - Изображение одномерного массива
Двумерный массив (прямоугольная таблица (матрица, набор векторов)) - это пример массива, в котором элементы нумеруются двумя индексами.
В качестве номера (индекса) элемента массива используется выражение порядкового типа (чаще integer).
Двумерным массивом называется таблица, состоящая из строк и столбцов. Для описания массива используются два индекса.
Изм.
Лист
№ докум.
Подпись
Дата
Лист
10
КП.1305000.20.34.№ зачетки
Изм.
Лист
№ докум.
Подпись
Дата
Лист
10
КП.1305000.20.34.№ зачетки
Рисунок 2. - Изображение двумерного массива
Рисунок 3. - Изображение трехмерного массива
Квадратной называется такая матрица, в которой количество строк равно количеству столбцов. Выделяют следующие элементы квадратной матрицы:
- главная диагональ;
- побочная диагональ;
- элементы, расположенные выше главной диагонали;
- элементы, расположенные ниже главной диагонали;
- элементы, расположенные выше побочной диагонали;
- элементы, расположенные ниже побочной диагонали;
Основные действия с массивами Turbo Pascal
Ввод одномерного массива Turbo Pascal. Для того чтобы ввести значения элементов массива, необходимо последовательно изменять значение индекса, начиная с первого до последнего, и вводить соответствующий элемент. Для реализации этих действий удобно использовать цикл с заданным числом повторений, т.е. простой арифметический цикл, где параметром цикла будет выступать переменная - индекс массива Паскаля. Значения элементов могут быть введены с клавиатуры или определены с помощью оператора присваивания.
Вывод одномерного массива в Паскале осуществляется также поэлементно, в цикле, где параметром выступает индекс массива, принимая последовательно все значения от первого до последнего.
Для последовательного ввода элементов одномерного массива мы использовали цикл for, в котором изменяли значение индекса с 1-го до последнего. Но положение элемента в двумерном массиве Паскаля определяется двумя индексами: номером строки и номером столбца. Это значит, что нам нужно будет последовательно изменять номер строки с 1-й до последней и в каждой строке перебирать элементы столбцов с 1-го до последнего. Значит, нам потребуется два цикла for, причем один из них будет вложен в другой. Изм.
Лист
№ докум.
Подпись
Дата
Лист
11
КП.1305000.20.34.№ зачетки
Изм.
Лист
№ докум.
Подпись
Дата
Лист
11
КП.1305000.20.34.№ зачетки
Рисунок 4. - Пример вывода двумерного массива
Вывод элементов двумерного массива Паскаля также осуществляется последовательно, необходимо напечатать элементы каждой строки и каждого столбца. При этом хотелось бы, чтобы элементы, стоящие в одной строке, печатались рядом, т.е. в строку, а элементы столбца располагались один под другим. Для этого необходимо выполнить следующую последовательность действий изображенной на рисунке 4.
Обработка массивов. Часто требуется вычислить сумму элементов массива, их среднее арифметическое значение или найти значения и номера максимального и ... продолжение
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РК
КӨКШЕТАУ ГУМАНИТАРЛЫ-ТЕХНИКАЛЫҚ КОЛЛЕДЖІ
КОКШЕТАУСКИЙ ГУМАНИТАРНО-ТЕХНИЧЕСКИЙ КОЛЛЕДЖ
Алгоритмдеу және бағдарламау негіздері пәні бойынша
КУРСТЫҚ ЖОБА
КУРСОВОЙ ПРОЕКТ
тақырыбы: _________________________________ ______
по дисциплине: Основы алгоритмизации и программирования
на тему: _________________________________ __
ОрындадыВыполнил:
(Оқушының аты-жоні, тобыФИО, гр., уч-ся)
ЖетекшісіРуководитель: преподаватель специальных
дисциплин Маметбаков В.В.
Тапсыру күніДата сдачи: _____________20__г.
Қорғау күніДата защиты: ___________20__г.
БағасыОценка:__________
Жетекшінің қолыПодпись руководителя:___________
Көкшетау,2018 ж.г.
СОДЕРЖАНИЕИзм.
Лист
№ докум.
Подпись
Дата
Лист
2
КП.1305000.20.34.№ зачетки
Разраб.
Устинов М.С
Провер.
Ф.И.О.
Реценз.
Ф.И.О.
Н. Контр.
Утверд.
"Массивы в Турбо Паскаль"
Лит.
Листов
28
КГТК
Изм.
Лист
№ докум.
Подпись
Дата
Лист
2
КП.1305000.20.34.№ зачетки
Разраб.
Устинов М.С
Провер.
Ф.И.О.
Реценз.
Ф.И.О.
Н. Контр.
Утверд.
"Массивы в Турбо Паскаль"
Лит.
Листов
28
КГТК
ВВЕДЕНИЕ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
3
1 АЛФАВИТ ЯЗЫКА TURBO PASCAL, ОСНОВНЫЕ ПОНЯТИЯ АЛГОРИТМА ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ... ... ... ..
4
1.1 Основные понятия алгоритмизации и программирования ... ... ... ... ...
5
1.2 Операторы языка Turbo Pascal ... ... ... ... ... ... ... ... ... ... ... ... ... ..
7
1.3 Понятия и виды массивов в Turbo Pascal ... ... ... ... ... ... ... ... ... ... ..
8
1.4 Основные действия с массивами Turbo Pascal ... ... ... ... ... ... ... . ... .
11
2 ИСПОЛЬЗОВАНИЕ МАССИВА ПРИ РЕШЕНИИ ЗАДАЧ В TURBO PASCAL ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
14
ЗАКЛЮЧЕНИЕ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
23
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ ... ... ... ... ... ... . ... ...
26
ПРИЛОЖЕНИЕ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
27
ВВЕДЕНИЕ
Изм.
Лист
№ докум.
Подпись
Дата
Лист
3
КП.1305000.20.34.№ зачетки
Разраб.
Устинов М.С
Провер.
Ф.И.О.
Реценз.
Ф.И.О.
Н. Контр.
Утверд.
"Массивы в Турбо Паскаль"
Лит.
Листов
28
КГТК
Изм.
Лист
№ докум.
Подпись
Дата
Лист
3
КП.1305000.20.34.№ зачетки
Разраб.
Устинов М.С
Провер.
Ф.И.О.
Реценз.
Ф.И.О.
Н. Контр.
Утверд.
"Массивы в Турбо Паскаль"
Лит.
Листов
28
КГТК
Актуализация знаний: с каждым днём программирование становиться всё более популярно среди обычных пользователей, что связано с интенсивным развитием информационных технологий. В начале компьютерной эры программисты были рабами вычислительных машин. Разработчики программного обеспечения должны были писать свои команды на единственном языке, который понимали компьютеры, - в двоичном коде, и программы выглядели как последовательность нулей и единиц. По мере того как время шло, и алгоритмы усложнялись, программирование требовало все больше времени, а внесение изменений в программы и их модернизация становились практически невозможными.
Язык Паскаль относится к процедурно-ориентированным языкам высокого уровня.
Достоинства языка Паскаль:
-относительная простота (т.к. разрабатывался с целью обучения программированию);
-идеология языка Паскаль близка к современным методикам и технологиям программирования, в частности, к структурному программированию и нисходящему проектированию (метод пошаговой детализации) программ. -Паскаль может использоваться для записи программы на различных уровнях ее детализации, не прибегая к помощи схем алгоритмов;
-гибкие возможности в отношении используемых структур данных;
-высокая эффективность программ;
-наличие средств повышения надежности программ, включающих контроль правильности использования данных различных типов и программных элементов на этапах трансляции, редактирования и выполнения.
В связи с этим язык Паскаль в настоящее время находит самое широкое распространение для решения большого круга разнообразных практических и научных задач.
Цель курсового проекта - Изучить работу массивов в Turbo Pascal
Задачи курсового проекта:
- рассказать о теоретических аспектах языка Turbo Pascal
- Показать на примере работу массивов Turbo Pascal
ГЛАВА 1. АЛФАВИТ ЯЗЫКА TURBO PASCAL, ОСНОВНЫЕ ПОНЯТИЯ АЛГОРИТМА
Основой любого языка программирования, как и разговорного языка, является алфавит. Под последним формально подразумевают конечное множество символов, из которых составляются отдельные слова и в целом предложения.
Программа, написанная на алгоритмическом языке, в конечном итоге представляет собой конечную последовательность предложений. Эти предложения принято делить на три класса: директивы -- указания компилятору, операторы -- инструкции центральному процессору и комментарии -- пояснения к программе.
Алфавит языка Turbo Pascal 7.0 включает следующие символы:
1) прописные буквы латинского алфавита: А, В, С, D, Е, F, G, H, J, I, К, L, М, N, О, P, Q, R, S, T, V, U, W, X, Y, Z;
2) строчные буквы латинского алфавита: a, b, с, d, е, f, g, h, j, i, k, 1, m, n, o, p, q, r, Изм.
Лист
№ докум.
Подпись
Дата
Лист
4
КП.1305000.20.34.№ зачетки
Разраб.
Устинов М.С
Провер.
Ф.И.О.
Реценз.
Ф.И.О.
Н. Контр.
Утверд.
"Массивы в Турбо Паскаль"
Лит.
Листов
28
КГТК
Изм.
Лист
№ докум.
Подпись
Дата
Лист
4
КП.1305000.20.34.№ зачетки
Разраб.
Устинов М.С
Провер.
Ф.И.О.
Реценз.
Ф.И.О.
Н. Контр.
Утверд.
"Массивы в Турбо Паскаль"
Лит.
Листов
28
КГТК
s, t, v, u, w, x, y, z;
3) разделители: точка ., запятая ,, точка с запятой ;, двоеточие :, апостроф
4) арабские цифры: 0, 1,2, 3, 4, 5, 6, 7, 8, 9;
5) знаки арифметических операций: плюс +, минус -, умножить *, разделить ;
6) знаки отношений: равно =, меньше , больше , меньше или равно = , больше или равно = , не равно о ;
7) круглые ( ), квадратные [ ], фигурные { } скобки;
8) специальные символы: доллар $, номер #, подчеркивание _, собака @, крыша Л.
На основании перечисленных символов составляются директивы и операторы программы.
Комментарии, как правило, записываются на русском языке, алфавит которого не входит в состав символов языка. Поэтому в директивах и операторах использование русских букв не допускается. Если это правило будет нарушено, то в процессе компиляции программы компилятор выведет на экран монитора сообщение об ошибке, которую придется исправить.
В директивах и операторах используются специальные слова, в какой-то мере поясняющие их смысл и, таким образом, приближающие высказывания на алгоритмическом языке к понятному естественному языку. Это так называемые зарезервированные или служебные слова.
Изм.
Лист
№ докум.
Подпись
Дата
Лист
5
КП.1305000.20.34.№ зачетки
Изм.
Лист
№ докум.
Подпись
Дата
Лист
5
КП.1305000.20.34.№ зачетки
Алгоритмы описывают точную и понятную последовательность вычислительных действий на языке программирования.
Каждый алгоритм обладает следующими свойствами:
- Дискретность (алгоритм должен представлять решение задачи как последовательность некоторых простых шагов);
- Детерминированность (алгоритм должен в каждый конкретный момент времени однозначно определять следующий шаг исходя из состояния системы);
- Понятность (алгоритм должен включать только те команды, которые исполнитель может выполнить);
- Конечность (алгоритм при корректных входных данных должен заканчиваться и выдавать результат);
- Универсальность (алгоритм должен быть применим к разным наборам входных данных);
- Результативность (алгоритм должен завершаться с каким-то результатом);
Главная особенность любого алгоритма - формальное исполнение, позволяющее выполнить заданные действия (команды) не только человеку, но и различным техническим устройствам.
Основные понятия алгоритмизации и программирования
Алгоритм - это конечная последовательность команд (предписаний) исполнителю совершить конечную последовательность действий, которая направлена на достижение определённой цели.
Исполнитель - человек, живое существо или автоматическое устройство, способное к восприятию и выполнению данных команд.
Система команд исполнителя - перечень команд, которые понимает и может исполнить исполнитель.
Выбор средств и методов для записи алгоритма зависит прежде всего от назначения самого алгоритма, а также от того, кто будет исполнять алгоритм.
Алгоритмы записываются в виде:
- словесных правил,
- блок схем,
- программ.
Программа - алгоритм, записанный на языке программирования. Алгоритм, предназначенный для исполнения на компьютере, записывается на языке программирования ( языке, понятном ЭВМ) .
Эффективность - минимум времени выполнения, минимум машинной памяти и других ресурсов компьютера.
Языки программирования - языки для записи программ для компьютеров. Это совокупность средств и правил представления алгоритма в виде, приемлемом для компьютера.
Оператор - выражение обозначающее и описывающее какую-либо операцию.
Транслятор - это комплекс программ, обеспечивающий перевод программы, написанной на символическом языке, в совокупность машинных команд.
Компилятор - это транслятор, обеспечивающий перевод программы, написанной на алгоритмическом языке, в совокупность машинныхИзм.
Лист
№ докум.
Подпись
Дата
Лист
6
КП.1305000.20.34.№ зачетки
Изм.
Лист
№ докум.
Подпись
Дата
Лист
6
КП.1305000.20.34.№ зачетки
команд без ее выполнения в компьютере.
Интерпретатор - это транслятор, обеспечивающий перевод каждой конструкции алгоритмического языка в машинные команды и одновременное выполнение этой конструкции в компьютере.
Типы алгоритмических процессов
По структуре выполнения алгоритмы и программы делятся на три вида:
- линейные;
- ветвящиеся;
- циклические;
Линейный алгоритм (линейная структура) - это такой алгоритм, в котором все действия выполняются последовательно друг за другом и только один раз. Схема представляет собой последовательность блоков, которые располагаются сверху вниз в порядке их выполнения. Первичные и промежуточные данные не оказывают влияния на направление процесса вычисления.
Алгоритмы разветвляющейся структуры
На практике часто встречаются задачи, в которых в зависимости от первоначальных условий или промежуточных результатов необходимо выполнить вычисления по одним или другим формулам.
Такие задачи можно описать с помощью алгоритмов разветвляющейся структуры. В таких алгоритмах выбор направления продолжения вычисления осуществляется по итогам проверки заданного условия. Ветвящиеся процессы описываются оператором IF (условие).
Циклические вычислительные процессы
Для решения многих задач характерно многократное повторение отдельных участков вычислений. Для решения таких задач применяются алгоритмы циклической структуры (циклические алгоритмы). Цикл - последовательность команд, которая повторяется до тех пор, пока не будет выполнено заданное условие. Циклическое описание многократно повторяемых процессов значительно снижает трудоемкость написания программ.
Операторы языка Turbo Pascal
Простыми являются те операторы, которые не содержат в себе других операторов. К ним относятся: Изм.
Лист
№ докум.
Подпись
Дата
Лист
7
КП.1305000.20.34.№ зачетки
Изм.
Лист
№ докум.
Подпись
Дата
Лист
7
КП.1305000.20.34.№ зачетки
- оператор присваивания;
- обращение к процедуре;
- оператор безусловного перехода GOTO;
- пустой оператор.
Оператор присваивания
С помощью этого оператора переменной или функции присваивается значение выражения. Для этого используется знак присваивания := , слева от которого записывается имя переменной или функции, которой присваивается значение, а справа - выражение, значение которого вычисляется перед присваиванием. Допустимо присваивание значений переменным и функциям любого типа, за исключением типа файл. Тип выражения и тип переменной (или функции) должны быть совместимы для присваивания.
Оператор безусловного перехода GOTO. Использование меток
Оператор GOTO позволяет изменить стандартный последовательный порядок выполнения операторов и перейти к выполнению заданного оператора. Оператор, на который происходит переход, должен быть помечен меткой. Эта же метка должна быть указана и в операторе GOTO. Метки, используемые в Turbo Pascal, могут быть двух типов:
- целым числом в пределах от 0 до 9999;
- обычным идентификатором.
Структурированными являются такие операторы, которые включают в себя другие операторы. К структурированным операторам относятся:
- составной оператор;
- условный оператор IF;
- условный оператор CASE;
- оператор цикла REPEAT;
- оператор цикла WHILE;
- оператор цикла FOR;
-оператор над записями WITH.
Составной оператор представляет собой совокупность последовательно выполняемых операторов, заключенных в операторные скобки begin и end.
Условный оператор IF. Оператор IF реализует алгоритмическую конструкцию РАЗВИЛКА и изменяет порядок выполнения операторов в зависимости от истинности или ложности некоторого условия.
Условный оператор CASE. С помощью этого оператора можно выбрать вариант из любого количества вариантов.
Оператор цикла REPEAT организует выполнение цикла, состоящего из любого числа операторов, с неизвестным заранее числом повторений. Тело цикла выполняется хотя бы один раз. Выход из цикла осуществляется при истинности некоторого логического выражения.
Оператор цикла WHILE организует выполнение одного оператора неизвестное заранее число раз. Выход из цикла осуществляется, если некоторое логическое выражение окажется ложным. Так как истинность логического выражения проверяется в начале каждой итерации (т е раньше, чем выполняетсяИзм.
Лист
№ докум.
Подпись
Дата
Лист
8
КП.1305000.20.34.№ зачетки
Изм.
Лист
№ докум.
Подпись
Дата
Лист
8
КП.1305000.20.34.№ зачетки
тело), тело цикла может не выполняться ни разу.
Оператор цикла FOR организует выполнение одного оператора заранее известное число раз.
Использование стандартных процедур Break и Continue в операторах циклов
REPEAT, WHILE и FOR
В циклах REPEAT, WHILE и FOR можно использовать две стандартные процедуры:
- Break и Continue. Процедура Break позволяет досрочно выйти из цикла, не дожидаясь выполнения условия выхода. Процедура Continue позволяет начать новую итерацию цикла, даже если предыдущая не завершена.
Понятия и виды массивов в Turbo Pascal
Массив -- это пронумерованная последовательность величин одинакового типа, обозначаемая одним именем. Элементы массива располагаются в последовательных ячейках памяти, обозначаются именем массива и индексом. Каждое из значений, составляющих массив, называется его компонентой (или элементом массива).
Массив данных в программе рассматривается как переменная структурированного типа. Массиву присваивается имя, посредством которого
можно ссылаться как на массив данных в целом, так и на любую из его компонент.
Вообще, массив - однородный, упорядоченный структурированный тип данных с прямым доступом к элементам.
Переменные, представляющие компоненты массивов, называются переменными с индексами в отличие от простых переменных, представляющих в программе элементарные данные. Индекс в обозначении компонент массивов может быть константой, переменной или выражением порядкового типа (целочисленный, логический, символьный, перечислимый, диапазон).
Если за каждым элементом массива закреплен только один его порядковый номер, то такой массив называется линейным. Вообще количество индексов элементов массива определяет размерность массива. По этом признаИзм.
Лист
№ докум.
Подпись
Дата
Лист
9
КП.1305000.20.34.№ зачетки
Изм.
Лист
№ докум.
Подпись
Дата
Лист
9
КП.1305000.20.34.№ зачетки
ку массивы делятся на одномерные (линейные), двумерные, трёхмерные и т.д.
Одномерный массив -- это фиксированное количество элементов одного и того же типа, объединенных одним именем, где каждый элемент имеет свой номер. Обращение к элементам массива осуществляется с помощью указания имени массива и номеров элементов.Рисунок 1. - Изображение одномерного массива
Двумерный массив (прямоугольная таблица (матрица, набор векторов)) - это пример массива, в котором элементы нумеруются двумя индексами.
В качестве номера (индекса) элемента массива используется выражение порядкового типа (чаще integer).
Двумерным массивом называется таблица, состоящая из строк и столбцов. Для описания массива используются два индекса.
Изм.
Лист
№ докум.
Подпись
Дата
Лист
10
КП.1305000.20.34.№ зачетки
Изм.
Лист
№ докум.
Подпись
Дата
Лист
10
КП.1305000.20.34.№ зачетки
Рисунок 2. - Изображение двумерного массива
Рисунок 3. - Изображение трехмерного массива
Квадратной называется такая матрица, в которой количество строк равно количеству столбцов. Выделяют следующие элементы квадратной матрицы:
- главная диагональ;
- побочная диагональ;
- элементы, расположенные выше главной диагонали;
- элементы, расположенные ниже главной диагонали;
- элементы, расположенные выше побочной диагонали;
- элементы, расположенные ниже побочной диагонали;
Основные действия с массивами Turbo Pascal
Ввод одномерного массива Turbo Pascal. Для того чтобы ввести значения элементов массива, необходимо последовательно изменять значение индекса, начиная с первого до последнего, и вводить соответствующий элемент. Для реализации этих действий удобно использовать цикл с заданным числом повторений, т.е. простой арифметический цикл, где параметром цикла будет выступать переменная - индекс массива Паскаля. Значения элементов могут быть введены с клавиатуры или определены с помощью оператора присваивания.
Вывод одномерного массива в Паскале осуществляется также поэлементно, в цикле, где параметром выступает индекс массива, принимая последовательно все значения от первого до последнего.
Для последовательного ввода элементов одномерного массива мы использовали цикл for, в котором изменяли значение индекса с 1-го до последнего. Но положение элемента в двумерном массиве Паскаля определяется двумя индексами: номером строки и номером столбца. Это значит, что нам нужно будет последовательно изменять номер строки с 1-й до последней и в каждой строке перебирать элементы столбцов с 1-го до последнего. Значит, нам потребуется два цикла for, причем один из них будет вложен в другой. Изм.
Лист
№ докум.
Подпись
Дата
Лист
11
КП.1305000.20.34.№ зачетки
Изм.
Лист
№ докум.
Подпись
Дата
Лист
11
КП.1305000.20.34.№ зачетки
Рисунок 4. - Пример вывода двумерного массива
Вывод элементов двумерного массива Паскаля также осуществляется последовательно, необходимо напечатать элементы каждой строки и каждого столбца. При этом хотелось бы, чтобы элементы, стоящие в одной строке, печатались рядом, т.е. в строку, а элементы столбца располагались один под другим. Для этого необходимо выполнить следующую последовательность действий изображенной на рисунке 4.
Обработка массивов. Часто требуется вычислить сумму элементов массива, их среднее арифметическое значение или найти значения и номера максимального и ... продолжение
Похожие работы
Дисциплины
- Информатика
- Банковское дело
- Оценка бизнеса
- Бухгалтерское дело
- Валеология
- География
- Геология, Геофизика, Геодезия
- Религия
- Общая история
- Журналистика
- Таможенное дело
- История Казахстана
- Финансы
- Законодательство и Право, Криминалистика
- Маркетинг
- Культурология
- Медицина
- Менеджмент
- Нефть, Газ
- Искуство, музыка
- Педагогика
- Психология
- Страхование
- Налоги
- Политология
- Сертификация, стандартизация
- Социология, Демография
- Статистика
- Туризм
- Физика
- Философия
- Химия
- Делопроизводсто
- Экология, Охрана природы, Природопользование
- Экономика
- Литература
- Биология
- Мясо, молочно, вино-водочные продукты
- Земельный кадастр, Недвижимость
- Математика, Геометрия
- Государственное управление
- Архивное дело
- Полиграфия
- Горное дело
- Языковедение, Филология
- Исторические личности
- Автоматизация, Техника
- Экономическая география
- Международные отношения
- ОБЖ (Основы безопасности жизнедеятельности), Защита труда