Типы данных. Матрица
Язык Паскаль как разработка для обучения практике совершенного программирования: разветвлённая структура типов данных. Обзор элементов языка программирования: основные типы. Строка как последовательность символов кодовой таблицы персонального компьютера.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 25.12.2010 |
Размер файла | 218,8 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
28
Министерство образования и науки Республики Казахстан
Многопрофильный колледж «Рауан»
Курсовая работа
По предмету: «Основы алгоритмизации и программирования»
На тему: «Типы данных. Матрица»
Учащийся III курса
Дневного отделения группы П-31
Кутюк Ирины
Специальность «3706002»
Руководитель: Косымбаева М.О
Актобе 2010г.
Содержание
Введение
I. Глава
1.1 Общая часть
1.2 Обзор элементов языка программирования
1.3 Специальная часть
1.4 Общая постановка задачи
2. Глава
2.1 Описание программ комплекса
2.2 Блок схема комплекса
2.3 Описание наборов данных
Заключение
Приложение
Введение
Языки программирования развивались одновременно с развитием ЭВМ. С начала 50-х годов это были низкоуровневые языки (машинные и ассемблеры). В 1956 году появился язык Фортран, а в 1960 -- Алгол-60. Это языки компилирующего типа, существенно уменьшившие трудоемкость программирования. Языки ориентированы на выполнение математических вычислений. В дальнейшем возникло большое количество различных языков, претендовавших на универсальность (PL/1) или для решения конкретных задач (COBOL -- для деловых задач, ЛОГО -- для обучения, Пролог -- для разработки систем искусственного интеллекта). С середины 60-х до начала 80-х разработаны и получили распространение языки Pascal, Basic, Си, Ада и другие. Для разработки информации на «ЭВМ» для начала нужен алгоритм- программа, написанная на машинном языке. Программирование- это можно сказать искусство получения ответа у машины. Основная цель научиться программированию, на языке Паскаль. Поскольку основные трудности при создании программ связаны с разработкой алгоритмов, т.е. методов их решения, особое внимание уделяется рассмотрению структур алгоритмов. Язык Паскаль считается самым популярным и удобным. Он был создан профессором Виртом директором института информатики Шведской высшей политехнической школы и был назван в честь Французского математика Блез Паскаля. Язык паскаль разработан для обучения практике совершенного программировании, описание структуры языка состоит из возможности среды программирования.
1. Глава
1.1 Общая часть
ТИПЫ ДАННЫХ
Любые данные, т.е. константы, переменные, значения функций или выражения, в Турбо Паскале характеризуются своими типами. Тип определяет множество допустимых значений, которые может тот или иной объект, а также множество допустимых операций, которые применимы к нему. Кроме того, тип определяет формат внутреннего представления данных в памяти ПК. Турбо Паскаль характеризуется разветвлённой структурой типов данных.
типы
Простые типы |
|
Структурированные |
|
Указатели |
|
Порядковые |
|
Вещественные |
|
Целые |
Логический
Символьный |
|
Перечисляемый |
1.2 Обзор элементов языка программирования
ПРОСТЫЕ ТИПЫ
К простым типам относятся порядковые и вещественные типы. Порядковые типы отличаются тем, что каждый из них имеет конечное число возможных значений. Эти значения можно определённым образом упорядочить (отсюда - название типов) и, следовательно, с каждым из них можно сопоставить некоторое целое число - порядковый номер значения. Вещественные типы тоже имеют конечное число значений, которое определяется форматом внутреннего представления вещественного числа. Однако количество возможных значений вещественных типов настолько велико, что сопоставить с каждым из них целое число (его номер) не представляется возможным.
ПОРЯДКОВЫЕ ТИПЫ
К порядковым типам относятся целые, логический, символьный, перечисляемый и тип-диапазон. Целые типы. Диапазон возможных значений целых типов зависит от их внутреннего представления, которое может занимать один, два или четыре байта
ЦЕЛЫЕ ТИПЫ |
|||
НАЗВАНИЕ |
Длина, байт |
Диапазон значений |
|
Byte |
1 |
0…255 |
|
ShortInt |
1 |
-128…+127 |
|
Word |
2 |
0…65535 |
|
Integer |
2 |
-32768…+32767 |
|
LongInt |
4 |
-2 147 483 648…+2 147 483 647 |
При использовании процедур и функций с целочисленными параметрами следует руководствоваться «вложенностью» типов, т.е. везде, где может использоваться Word, допускается использование Byte (но не наоборот), в LongInt “входит” Integer, который, в свою очередь, включает в себя ShortInt.
При действии с целыми числами тип результата будет соответствовать типу операндов, если операнды относятся к различным целым типам,- типу того операнда, который имеет максимальную мощность (максимальный диапазон значений). Возможное переполнение никак не контролируется, что может привести к недоразумениям.
Логический тип
ЛОГИЧЕСКИЕ ТИПЫ |
||||
Название |
Длина, Байт |
OS |
Значение |
|
BOOLEAN |
1 |
Linux, DOS |
False, True |
|
BYTEBOOL |
1 |
Совместим с С |
False, True |
|
WORDBOOL |
2 |
Win |
False, True |
|
LONGBOOL |
4 |
Win |
False, True |
Значениями логического типа может быть одна из предварительно объявленных констант FALSE (ложь) или TRUE (истина). Поскольку логический тип относится к порядковым типам, его можно использовать в операторе счётного типа. Символьный тип. CHAR - занимает 1 байт. Значением символьного типа является множество всех символов ПК. Каждому символу присваивается целое число в диапазоне 0…255. Это число служит кодом внутреннего представления символа.
Для кодировки используется код ASCII (American Standart Code for Information Interchange - американский стандартный код для обмена информацией). Это 7-битный код, т.е. с его помощью можно закодировать лишь 128 символов в диапазоне от 0 до 127. В то же время в 8-битном байте, отведенном для хранения символа в Турбо Паскале, можно закодировать в два раза больше символов в диапазоне от 0 до 255. Первая половина символов ПК с кодами 0…127 соответствует стандарту ASCII. Вторая половина символов с кодами 128ююю255 не ограничена жёсткими рамками стандарта и может манятся на ПК разных типов. Символы с кодами 0…31 относятся к служебным кодам. Если эти коды использовать в символьном тексте программы, они считаются пробелами. Перечисляемый тип. Перечисляемый тип задаётся перечислением тех значений, которые он может получать. Каждое значение именуется некоторым идентификатором и располагается в списке, обрамлённом круглыми скобками,
Например:
Type
Colors = (red, white, blue);
Применение перечисляемых типов делает программы нагляднее. Соответствие между значениями перечисляемого типа и порядковыми номерами этих значений устанавливается порядком перечисления: первое значение списке получает порядковый номер 0, второе - 1 и т.д. максимальная мощность перечисляемого типа составляет 65536 значений, поэтому фактически перечисляемый тип задаёт некоторое подмножество целого типа WORD и может рассматриваться как компактное объявление сразу группы целочисленных констант со значениями 0,1 и т.д.
Использование перечисляемых типов повышает надёжность программы, благодаря возможности контроля тех значений, которые получают соответствующие переменные. Тип-диапазон. Тип-диапазон есть подмножество своего базового типа, в качестве которого может выступать любой порядковый тип, кроме типа-диапазона. Тип-диапазон задаётся границами своих значений внутри базового типа:
<мин.знач.>..<макс.знач.>
Здесь <мин.знач.> - минимальное значение типа-диапазона.
<макс.знач.> - максимальное его значение.
Type
Digit = `0' ..'9';
Dig2 = 48.. 57;
При определении типа-диапазона нужно руководствоваться следующими правилами:
1. два символа «..» рассматриваются как один символ, поэтому между ними недопустимы пробелы.
2. левая граница диапазона не должна превышать его правую границу.
Тип-диапазон наследует все свойства базового типа, но с ограничениями, связанными с его меньшей мощностью.
1.3 Специальная часть
ВЕЩЕСТВЕННЫЕ ТИПЫ
В отличие от порядковых типов, значения которых всегда сопоставляются с рядом целых чисел и, следовательно, представляется в ПК абсолютно точно, значения вещественных типов определяют произвольное число лишь с некоторой конечной точностью, зависящей от внутреннего формата вещественного числа.
Длина, байт |
Название |
Количество значащих цифр |
Диапазон десятичного порядка |
|
6 |
Real |
11…12 |
-39…+38 |
|
4 |
Single |
7…8 |
-45…+38 |
|
8 |
Double |
15…16 |
-324…+308 |
|
10 |
Extended |
19…20 |
-4951…+4932 |
|
8 |
comp |
19…20 |
-2*1063+1…+2*1063-1 |
Функционирование любой программы связано с обработкой данных. Данные, предназначенные для обработки, называются исходными и задаются обычно в начале программы. Программа по ходу выполнения может запрашивать недостающие исходные данные. В процессе выполнения программы исходные данные преобразуются в результаты. Каждый элемент данных, используемый в программе, является константой или переменной.
Константами называются элементы данных, значения которых в процессе выполнения программы не изменяются. В языке Turbo Pascal используются константы следующих видов: числовые, логические (булевские), символьные и строковые.
Числовые константы предназначены для представления числовых данных (целых и вещественных). Булевские константы используются для представления данных, имеющих смысл логических высказываний (да - нет, истина - ложь, 1 - 0). Символьные и строковые константы - это отдельные символы и их последовательности. Переменные, в отличие от констант, могут менять свои значения при выполнении программы. В программировании переменную можно трактовать как одну или несколько ячеек оперативной памяти компьютера, которым присвоено определенное имя (идентификатор). Содержимое этих ячеек может меняться, но имя переменной остается неизменным. Каждое новое значение, записанное в ячейку памяти, “затирает” предыдущее значение, поэтому в любой момент времени переменная имеет только одно, текущее, значение. Обычно переменные используются для хранения исходных данных, результатов программы, а также промежуточных данных, которые образуются по ходу выполнения алгоритма. В математике значение переменной в рамках определенной задачи неизменно, поэтому математик сочтет это высказывание неверным. Для программиста это абсолютно правильная конструкция, которая задает вычисление суммы содержимого ячейки а и числовой константы 1 и занесение полученного результата в ту же ячейку а. После выполнения этого действия старое значение переменной, а будет потеряно, т.к. одна ячейка памяти не может вместить сразу несколько значений. Это очень важный момент в программировании. Именование констант и переменных в программировании очень похоже на использование символических выражений в алгебре, однако, для того чтобы компилятор смог их обрабатывать, нужно снабдить его некоторой дополнительной информацией - выполнить описание. В этой информации сообщается о типе каждой именованной величины. Для описания множества допустимых значений величины и совокупности операций, в которых может участвовать данная величина, используется указание ее типа данных. Тип данных (data type) - множество величин, объединенных определенной совокупностью допустимых операций. Каждый тип имеет свой диапазон значений и специальное зарезервированное слово для описания. Все типы данных можно разделить на две группы: скалярные и структурированные (составные). Скалярные типы, в свою очередь, делятся на стандартные и пользовательские. Перечень типов данных в языке Турбо Паскаль можно представить в виде следующей схемы: К скалярным (scalar - простые) типам данных относят, типы данных таких величин, значения которых не содержат составных частей. Все простые данные имеют два характерных свойства: неделимость и упорядоченность их значений. Вещественные типы данных представляют собой вещественные значения, которые могут использоваться в арифметических выражениях и занимать в памяти от 4 до 6 байт. Паскаль допускает представление вещественных значений и с плавающей запятой, и с фиксированной точкой. Вещественные значения могут изображаться в форме с фиксированной точкой, например 7.32, 456.721 или 0.015, а также в форме с плавающей точкой, т.е. парой чисел вида <мантисса>Е<порядок> (7.32Е+00, 4.56721Е+02, 1.5Е-02).
Литерный (символьный) тип
Литерный (символьный) тип char определяется множеством значений кодовой таблицы ПЭВМ. Каждому символу приписывается целое число в диапазоне от 0 до 255. Для размещения в памяти переменной литерного типа требуется один байт.
1.4 Общая постановка задачи
язык паскаль программирование строка
Булевский тип
Булевским типом называют тип данных, представляемый двумя значениями true (истина) и false (ложь). Он широко применяется в логических выражениях и выражениях отношения. Для размещения в памяти переменной булевского типа требуется 1 байт.
Пользовательские типы
Кроме стандартных типов данных Паскаль поддерживает скалярные типы, определенные самим пользователем. К ним относятся перечисляемый и интервальный типы. Данные этих типов занимают в памяти один байт, поэтому скалярные пользовательские типы не могут содержать более 256 элементов. Их применение значительно улучшает наглядность программы, делает более легким поиск ошибок, экономит память.
Интервальный тип (диапазон)
Интервальный тип позволяет задавать две константы, определяющие границы диапазона значений для данной переменной. Компилятор при каждой операции с переменной интервального типа генерирует подпрограммы проверки, определяющие, остается ли значение переменной внутри установленного для нее диапазона. Обе константы должны принадлежать одному из стандартных типов (тип real недопустим). Значение первой константы должно быть значительно меньше значения второй.
Например: 1..12 (номер месяца может принимать значения от 1 до 12) или `а'..'я' (буквы русского алфавита - от а до я)
Перечисляемый тип
Перечисляемый тип (enumerated type) - тип данных, заданных списком принадлежащих ему значений. Объявление перечисляемого типа описывает множество идентификаторов, которые являются возможными значениями перечисляемого типа. Идентификаторы в описании типа представляют собой константы. Отдельные значения указываются через запятую, а весь список заключается в круглые скобки. Перечисляемый тип ограничен больше чем интервальный, он задается перечислением своих значений. Например, в виде строковых констант: color=(red, blue, green, black). В приведенном примере создается новый (нестандартный) тип данных color. Переменные этого типа могут принимать всего 4 значения: red, blue, green, black. Такая возможность создания новых пользовательских типов данных имеется в языке Turbo Pascal.
Строки
Строка (string) - это последовательность символов кодовой таблицы персонального компьютера. Количество символов в строке может изменяться от 0 до 255.
Массивы
Простые типы определяют различные множества неразделимых значений. В отличие от них структурированные типы задают множества сложных значений, каждое из которых образует совокупность нескольких значений другого типа. В структурных типах выделяют регулярный тип (массивы - array). Название регулярный тип (или ряды) массивы получили за то, что в них объединены однотипные элементы, упорядоченные (урегулированные) по индексам, определяющим положение каждого элемента в массиве.
Множества
Множество (set) - это структурированный тип данных, представляющий собой набор взаимосвязанных по какому-либо признаку или группе признаков объектов, которые можно рассматривать как единое целое. Каждый объект в множестве называется элементом множества. Все элементы множества должны принадлежать одному из скалярных типов, кроме вещественного.
Записи
Для записи комбинации объектов разных типов в Паскале применяется комбинированный тип данных - запись (record). Например, товар на складе описывается следующими величинами: наименование, количество, цена, наличие сертификата качества и т.д. В этом примере наименование - величина типа string, количество - integer, цена - real, наличие сертификата - boolean. Запись представляет собой наиболее общий и гибкий структурированный тип данных, так как она может быть образована из не однотипных компонентов и в ней явным образом выражена связь между элементами данных, характеризующими реальный объект.
Файлы
Большие совокупности данных удобно иметь записанными во внешней памяти в виде последовательности сигналов. В Паскале для этих целей предусмотрены специальные объекты - файлы (file). Файлом называется совокупность данных, записанная во внешней памяти под определенным именем. Рассмотри задачи на объявление переменных и констант скалярного типа.
Приступая к решению задач на объявление данных скалярного типа, следует помнить, что:
· каждая переменная программы должна быть объявлена;
· объявление переменных помещают в раздел, который начинается словом var; константы помещают в раздел, который начинается словом const; переменные пользовательских типов (перечисляемые и интервальные) объявляют по особой схеме;
В имени переменной можно использовать буквы латинского алфавита и цифры (первым символом должна быть буква);
· после инструкции объявления данных рекомендуется указывать назначение переменной или константы;
· инструкция объявления констант выглядит так: Имя Константы = значение константы;
Структура данных Структурированные типы данных
Структурированные типы данных определяют упорядоченную совокупность скалярных переменных и характеризуются типом своих компонентов.
Структурированные типы данных в отличие от простых задают множества сложных значений с одним общим именем. Можно сказать, что структурные типы определяют некоторый способ образования новых типов из уже имеющихся.
Существует несколько методов структурирования. По способу организации и типу компонентов в сложных типах данных выделяют следующие разновидности: регулярный тип (массивы); комбинированный тип (записи); файловый тип (файлы); множественный тип (множества); строковый тип (строки); в языке Турбо Паскаль версии 6.0 и старше введен объектный тип (объекты).В отличие от простых типов данных, данные структурированного типа характеризуются множественностью образующих этот тип элементов, т.е. переменная или константа структурированного типа всегда имеет несколько компонентов. Каждый компонент в свою очередь может принадлежать структурированному типу, т.е. возможна вложенность типов. Все структурированные типы данных требуют отдельного рассмотрения и будут подробно изучены нами в дальнейшем, а сегодня мы только их определим
СТРУКТУРИРОВАННЫЕ ТИПЫ
Любой из структурированных типов характеризуется множественностью образующих этот тип элементов, т.е. переменная или константа структурированного типа всегда имеет несколько компонентов. Каждый компонент, в свою очередь, может принадлежать структурированному типу, что позволяет говорить о возможной вложенности типов. В Турбо Паскале допускается произвольная глубина вложенности типов, однако суммарная длина любого из них во внутреннем представлении не должна превышать 65520 байт.
МАССИВЫ
Массивы в Турбо Паскале во многом схожи с аналогичными типами данных в других языках программирования. Отличительная особенность массивов заключается в том, что все их компоненты суть данные одного типа (возможно структурированного). Эти компоненты можно легко упорядочить и обеспечить доступ к любому из них простым указанием порядкового номера.
Описание массива задаётся следующим образом:
<имя типа> = array [<сп.инд.типов>] of <тип>
Здесь <имя типа> - правильный индификатор;
Array, of - зарезирвированые слова (массив, из);
<сп.инд.типов> - список из одного или нескольких индексных типов, разделённых запятыми; квадратные скобки, обрамляющие список, - требование синтаксиса;
<тип> - любой тип Турбо Паскаля.
В качестве индексных типов в Турбо Паскале можно использовать любые порядковые типы, кроме LongInt и типов-диапазонов с базовым типом LongInt.Глубина вложенности структурированных типов вообще, а следовательно, и массивов - произвольная, поэтому количество элементов в списке индексов типов (размерность массива) не ограничено, однако суммарная длина внутреннего представления любого массива не может быть больше 65520 байт.
ЗАПИСИ
Запись - это структура данных, состоящая из фиксированного числа компонентов, называемых полями записи. В отличие от массива, компоненты (поля) записи могут быть различного типа. Чтобы можно было ссылаться на тот или иной компонент записи, поля именуются.
Структура объявления типа записи такова:
<имя типа> = RECORD <спюполей> END
Здесь <имя типа> - правильный индификатор;
RECORD, END - зарезервированные слова (запись, конец);
<сп.полей> - список полей; представляет собой последовательность разделов записи, между которыми ставится точка с запятой.
МНОЖЕСТВА
Множества - это набор однотипных логически связанных друг с другом объектов. Характер связей между объектами лишь подразумевается программистом и никак не контролируется Турбо Паскалем. количество элементов, входящих в множество, может меняется в пределах от 0до 256 (множество, не содержащее элементов, называется пустым).именно непостоянством количества своих элементов множества отличаются от массивов и записей. Два множества считаются эквивалентными тогда и только тогда, когда все их элементы одинаковы, причём порядок следования элементов множества безразличен. Если все элементы одного множества входят также и в другое, говорят о включении первого множества во второе.
Описание типа множества имеет вид:
<имя типа> = SET OF <баз.тип>
Здесь <имя типа> - правильный индификатор;
SET, OF - зарезервированные слова (множество, из);
<баз.тип> - базовый тип элементов множества, в качестве которого может использоваться любой порядковый тип, кроме WORD, INTEGER и LONGINT.
Для задания множества используется так называемый конструктор множества: список спецификаций элементов множества, отделяемых друг от друга запятыми; список обрамляется квадратными скобками. Спецификациями элементов могут быть константы или выражения базового типа, а также - тип-диапазон того же базового типа.
СТРОКИ
Тип STRING (строка) в Турбо Паскале широко используется для обработки текстов. Он во многом похож на одномерный массив символов ARRAY [0..N] OF CHAR, однако, в отличие от последнего, количество символов в строке - переменной может, меняется от 0 до N, где N - максимальное количество символов в строке. Значение N определяется объявлением типа STRING[N] N и может быть любой константой порядкового типа, но не больше 255. Турбо Паскаль разрешает не указывать N, в том случае длина строки принимается максимально возможной, а именно N=255.
Строка в Турбо Паскале трактуется как цепочка символов. К любому символу в строке можно обратиться точно так же, как к элементу одномерного массива ARRAY [0..N] OF CHAR.
ФАЙЛЫ
Под файлом понимается либо именованная область внешней памяти ПК, либо логическое устройство - потенциальный источник или приёмник информации. Любой файл имеет три характерные особенности. Во-первых, у него есть имя, что даёт возможность программе работать одновременно с несколькими файлами. Во-вторых, он содержит компоненты одного типа. Типом компонентов может быть любой тип Турбо Паскаля, кроме файлов. Иными словами, нельзя создать «файл файлов». В-третьих, длина вновь создаваемого файла никак не оговаривается при его объявлении и ограничивается только ёмкостью устройств внешней памяти. Файловый тип или переменную файлового типа можно задать одним из трёх способов:
<имя>= FILE OF <тип>;
<имя>=TEXT;
<имя> = FILE;
Здесь <имя> - имя файлового типа (правильный индификатор);
FILE, OF - зарезервированные слова (файл, из);
TEXT - имя стандартного типа текстовых файлов;
<тип> - любой тип Турбо Паскаля, кроме файлов.
В зависимости от способа объявления можно выделить три вида файлов:
? типизированные файлы (задаются предложением FILE OF…);
? текстовые файлы (определяются типом TEXT);
? не типизированные файлы (определяются типом FILE).
ПРОЦЕДУРНЫЕ ТИПЫ
Процедурные типы -- это нововведение фирмы Borland (в стандартном Паскале таких типов нет). Основное назначение этих типов --дать программисту гибкие средства передачи функций и процедур в качестве фактических параметров обращения к другим процедурам и функциям.
Для объявления процедурного типа используется заголовок процедуры (функции), в котором опускается её имя, например:
type
Proc = procedure;
Proc1 = procedure (var X, Y: Integer);
StrProc = procedure (S: String);
MathFunc = function (X: Real): Real:
DeviceFunc = function (var F: Text): Integer;
MaxFunc = function (A, B: Real; F: MathFunc): Real;
Как видно из приведённых примеров существует два вида процедурных типов: тип-роцедура и тип-функция.
В программе могут быть объявлены переменные процедурных типов, например, так:
Var
P1: Proc1;
F1, f2: MathFunc;
Ap: array [1..N] of Proc1
Переменным процедурных типов допускается присваивать в качестве значений имена соответствующих подпрограмм. После такого присваивания имя переменной становится синонимом имени подпрограммы.
ТИП ОБЪЕКТ
Тип объект -- это структура, состоящая из фиксированного числа компонент. Каждая компонента -- это или поле, которое содержит данные определенного типа, или метод, который производит операции над объектом. Аналогично объявлению переменных, объявление поля, указывает тип данных поля и идентификатор имени этого поля; и аналогично объявлению процедуры или функции объявление метода указывает заголовок процедуры, функции, конструктора или деструктора. Тип объект может наследовать компоненты от другого типа объекта. Сфера действия типа объекта состоит из него самого и всех его порожденных типов. В отличие от других типов, тип объект может быть объявлен в части объявления типов в самой внешней части программы или модуля. Так, тип объекта не может быть объявлен в части объявления переменных или внутри процедуры, функции или метода.
ТИП УКАЗАТЕЛЬ
Тип указатель (ссылочный тип) определяет множество значений, которые указывают на динамические переменные определенного типа, называемого базовым типом. Переменная с типом указатель содержит адрес динамической переменной в памяти. Если базовый тип является еще не описанным идентификатором, то он должен быть описан в той же самой части описания типов, что и тип указатель. Переменной-указателю можно присвоить значение с помощью процедуры New, операции @ или функции Ptr. Процедура New отводит новую область памяти в динамически распределяемой области для динамических переменных и сохраняет адрес этой области в переменной указателя. Операция @ ориентирует переменную указателя на область памяти, содержащую существующую переменную, включая и те переменные, которые имеют идентификаторы. Функция Ptr ориентирует переменную указателя на определенный адрес в памяти. Зарезервированное слово nil обозначает константу со значением указателя, которая ни на что не указывает. Встроенный указатель типа обозначает не типизованный указатель, то есть указатель, который не указывает ни на какой определенный тип. Переменные типа Pointer могут быть разименованы; указание символа ^ после такой переменной вызывает появление ошибки. Как и значение, обозначаемое словом nil, значения типа Pointer совместимы со всеми другими типами указателей.
2. Глава
2.1 Описание программ комплекса
Сумма матрицы
Массив -- упорядоченный набор данных, для хранения данных одного типа, идентифицируемых с помощью одного или нескольких индексов. В простейшем случае массив имеет постоянную длину и хранит единицы данных одного и того же типа.
Количество используемых индексов массива может быть различным. Массивы с одним индексом называют одномерными, с двумя -- двумерными и т. д. Одномерный массив нестрого соответствует вектору в математике, двумерный -- матрице. Чаще всего применяются массивы с одним или двумя индексами, реже -- с тремя, ещё большее количество индексов встречается крайне редко.
Задача программы Задана матрица {aij} размерности N*N. Вычислить сумму:
Cкриншот работы программы
Необходимо сложить элементы каждой строки матрицы, выделить из них квадратные корни и сложить эти радикалы.
Сумма матрицы
sum=s=0;
for(i=0;i < n;i++)
{
s=0;
for(j=0;j < n;j++)
s+=a[i][j];
sum+=sqrt(s);
2.2 Блок схема комплекса
2.3 Описание наборов данных
Любые данные, то есть константы, переменные, свойства, значения функций или выражений характеризуются своими типами. Тип определяет множество допустимых значений, которые можно иметь тот или иной объект, а также множество допустимых операций, которые применимы к нему. Кроме того, тип определяет также и формат внутреннего представления данных в памяти ПК.
К простым типам относятся порядковые и вещественные типы, а также тип дата-время.
Порядковые типы отличаются тем, что каждый из них имеет конечное количество возможных значений. Эти значения можно определенным образом упорядочить (отсюда - название типов) и, следовательно, с каждым из них можно сопоставить некоторое целое число - порядковый номер значения.
Вещественные типы, тоже имеют конечное количество значений, которое определяется форматом внутреннего представления вещественного числа. Однако это количество настолько велико, что сопоставить с каждым из них целое число (его номер) не представляется возможным.
Тип дата-время предназначен для хранения даты и времени. Фактически для этих целей он использует вещественный формат.
К порядковым типам относятся целые, логические, символьный, перечисленный и тип-диапазон. К любому из них применима функция Ord (X), которая возвращает порядковый номер значения выражения Х.
Целые типы. Диапазон возможных значений целых типов зависит от их внутреннего представления, которое может занимать 1, 2, 4 или 8 байтов.
При действиях с целыми числами тип результата будет соответствовать типу операндов, а если операнды относятся к различным целым типам, - общему типу, который включает в себя два операнда. При стандартной настройке компилятор не вырабатывает код, осуществляющий контроль за возможной проверкой выхода значения из допустимого диапазона, что может привести к недоразумениям.
Логические типы. В стандартном языке Паскаль определен тип Boolean. Значениями логического типа может быть одна из предварительно объявленных констант False (ложь) или True (истина). Для них справедливы правила:
Ord (False) = 0
Ord (True) <> 0
Succ (False) = True
Pred (True) = False
Поскольку логический тип относится к порядковым типам, его можно использовать в операторе цикла счетного типа.
Символьный тип. Значениями символьного типа является множество всех символов клавиатуры компьютера. Каждому символу приписывается целое число в диапазоне 0…255. Это число служит кодом внутреннего представления символа, его возвращает функция Ord.
Перечисленный тип. Перечисленный тип задается перечислением тех значений, которые он может получать. Каждое значение именуется некоторым идентификатором и располагается в списке, обрамленном круглыми скобками.
Соответствие между значениями перечисленного типа и порядковыми номерами этих значений устанавливается очередностью перечисления: первое значение в списке получает порядковый номер 0, второе - 1 и т.д. Максимальная мощность перечисленного типа составляет 65536 значений, поэтому фактически перечисленный тип задает некоторое подмножество целого типа Word и может рассматриваться как компактное объявление сразу группы целочисленных констант со значениями 0, 1, и т.д.
Использование перечисленных типов повышает надежность программ благодаря возможности контроля, тех значений, которые получают соответствующие переменные.
Тип-диапазон. Тип-диапазон есть подмножество своего базового типа, в качестве которого может выступать любой порядковый тип, кроме типа-диапазона.
Тип-диапазон задается границами своих значений внутри базового типа:
<мин. знач.>..<макс. знач.>
Здесь <мин. знач.> - минимальное значение типа-диапазона, <макс. знач.> - максимальное его значение.
Тип-диапазон необязательно описывать в разделе type, а можно указывать непосредственно при объявлении переменной.
В отличие от порядковых типов, значения которых всегда сопоставляются с рядом целых чисел и, следовательно, представляются в ПК абсолютно точно, значения вещественных типов определяют произвольное число лишь с некоторой конечной точностью, зависящей от внутреннего формата вещественного числа.
Вещественное число занимает от 4 до 10 смежных байтов и имеет следующую структуру в памяти компьютера:
s |
e |
m |
Здесь s - знаковый разряд числа; e - экспоненциальная часть; содержит двоичный порядок; m - мантисса числа.
Мантисса m имеет длину от 23 до 63 двоичных разрядов, что и обеспечивает точность десятичных цифр. Десятичная точка (запятая) подразумевается перед левым (старшим) разрядом мантиссы, но при действиях с числом ее положение сдвигается влево или вправо в соответствии с двоичным порядком числа, хранящимся в экспоненциальной части, поэтому действия над вещественными числами называют арифметикой с плавающей точкой (запятой).
Арифметический сопроцессор всегда обрабатывает числа в формате Extended, а три других вещественных типа в этом случае получаются простым усечением результатов до нужных размеров и применяются в основном для экономии памяти
Заключение
В процессе выполнения программы исходные данные преобразуются в результаты. Каждый элемент данных, используемый в программе, является константой или переменной Для описания множества допустимых значений величины и совокупности операций, в которых может участвовать данная величина, используется указание ее типа данных. Тип данных (data type) - множество величин, объединенных определенной совокупностью допустимых операций. Каждый тип имеет свой диапазон значений и специальное зарезервированное слово для описания. Все типы данных можно разделить на две группы: скалярные и структурированные (составные). Скалярные типы, в свою очередь, делятся на стандартные и пользовательские. Перечень типов данных в языке Турбо Паскаль можно представить в виде схемы. Основная цель научиться программированию, на языке Паскаль. По сколку основные трудности при создании программ связаны с разработкой алгоритмов, т.е. методов их решения, особое внимание уделяется рассмотрению структур алгоритмов. Язык Паскаль считается самым популярным и удобным. Он был создан профессором Виртом директором института информатики Шведской высшей политехнической школы и был назван в честь Французского математика Блез Паскаля. Язык паскаль разработан для обучения практике совершенного программировании, описание структуры языка состоит из возможности среды программирования.
Приложение
Методы процедурного программирования (книга )
Онлайн Библиотека.
www.bibliotheca.ru
www.bibliography.ru
Размещено на Allbest.ru
Подобные документы
Общая характеристика языков программирования. Описание языка Паскаль: основные субъекты языка; структура Паскаль-программы; типизация и объявление данных. Операторы присваивания и выражения. Структурные операторы, организация ветвлений и циклов.
дипломная работа [276,6 K], добавлен 26.01.2011Цель информационного программирования; алгоритмический язык как система обозначений и правил для единообразной и точной записи алгоритмов и их исполнения. Языки программирования низкого и высокого уровня; классификация и использование структуры данных.
реферат [383,1 K], добавлен 07.01.2012Сущность понятия "тип данных". Объектно-ориентированный стиль программирования. Простые типы данных в языке Паскаль: порядковые, вещественные, дата-время. Булевский (логический) тип. Синтаксис определения ограниченного типа. Регулярные типы (массивы).
реферат [24,1 K], добавлен 01.12.2009Основные понятия и назначение языка программирования СИ. Скалярные типы данных. Арифметические, логические и битовые операции над переменными целочисленного, вещественного, символьного, перечислимого типов. Примеры программ, выполняющие операции над ними.
презентация [269,9 K], добавлен 26.07.2013Изучение символьных и строковых типов данных, алгоритма задачи на языке программирования Паскаль. Описания получения и установки отдельного символа строки, изменения регистра символов. Анализ создания и просмотра файла, поиска и сортировки информации.
курсовая работа [440,7 K], добавлен 13.06.2011Логические конструкции в системе программирования Паскаль. Команды языка программирования, использование функций, процедур. Постановка и решение задач механики в среде системы Паскаль. Задачи статики, кинематики, динамики решаемые с помощью языка Паскаль.
курсовая работа [290,9 K], добавлен 05.12.2008Лингвистическая концепция языка Паскаль. Интегрированная инструментальная оболочка. Основы построения программ на ТП 7.0. Алфавит языка и специфика использования символов. Простые типы данных: константы и переменные. Циклические конструкции и операции.
курсовая работа [284,6 K], добавлен 02.07.2011Создание простого непроцедурного языка, которым может воспользоваться любой пользователь. Разработка языка запросов. Стандартный язык реляционных баз данных. Вопросы практического программирования. Фиксированный исполняемый код SQL и типы команд SQL.
доклад [1,9 M], добавлен 12.01.2011Сравнительный анализ языков программирования высокого уровня Си и Паскаль: структура программы, типы данных, арифметические операции, операторы ветвления и циклы. Создание программы поиска подпоследовательностей одинаковых элементов в множественном виде.
курсовая работа [78,9 K], добавлен 28.12.2012Особенности способов описания языков программирования. Язык программирования как способ записи программ на ЭВМ в понятной для компьютера форме. Характеристика языка Паскаль, анализ стандартных его функций. Анализ примеров записи арифметических выражений.
курсовая работа [292,0 K], добавлен 18.03.2013