- •Утверждаю Зам.Директора по учебной работе
- •Основы Алгоритмизации и программирования учебно-методическое пособие
- •220301 Автоматизированные системы обработки информации и правления
- •Введение
- •Основные этапы решения задач на эвм
- •Глава 1 способы записи алгоритма
- •1.1 Алгоритм и его свойства
- •Схемы алгоритма
- •1.2.1 Алгоритм линейной структуры
- •1.2.2 Алгоритм разветвляющейся структуры
- •1.2.3 Алгоритм циклической структуры
- •1.2 Структуры алгоритмов
- •1.2.4 Алгоритм со структурой итерационных циклов
- •1.2.5 Алгоритм со структурой вложенных циклов
- •Глава 2 программа на языке высокого уровня
- •2.1 Системы программирования
- •2.2 Характеристика языка программирования Паскаль
- •2.3 Алфавит и структура программы на Паскале Алфавит программы
- •Структура программы
- •Глава 3 Стандартные типы данных
- •3.1 Данные. Типы
- •3.2 Вещественные типы
- •3.3 Целочисленные типы
- •3.4 Символьный тип
- •3.5 Логический тип
- •4 Представление основных структур программирования: итерация, ветвление, повторение
- •4.1 Линейная структура (следование)
- •Var X,y,f: real;
- •4.2 Разветвляющая структура (ветвление)
- •4.3 Циклическая структура (повторение)
- •4.3.1 Оператор цикла с параметром
- •I : Integrer; {номер числа }
- •4.3.2 Оператор цикла с постусловием
- •I,n: integer;
- •4.3.3 Оператор цикла с предусловием
- •4.3.4 Итерационные циклы
- •Var r,a:real;
- •Приближенное вычисление функций
- •Решение уравнений приближенными методами
- •Метод деления отрезка пополам
- •Xsl, Xpr, a, b, e, y1, y2, Lev, Prav, y: Real;
- •Метод Ньютона
- •Метод прохождения отрезка с переменным шагом
- •Вычисление определенных интегралов
- •1. Метод прямоугольников
- •X: Real;
- •2. Метод трапеций
- •X: Real;
- •Глава 5 Типы данных, определяемые пользователем
- •5.1 Пользовательский тип данных
- •5.1.1 Типизированные константы
- •5.1.2 Перечисляемый тип
- •I:1..6; loto: num;
- •5.2 Массивы
- •I : integer;
- •5.2.1. Работа с одномерными массивами
- •I,sum : integer;
- •Var a: array [1..N] of real;
- •Var I,s,r: integer;
- •I : list;
- •I : integer;
- •X : mass;
- •I, j, p, n, m, k:integer;
- •I, j, k, nd : integer;
- •Xmin : real;
- •X : mass;
- •Var I, j, nd : integer;
- •X : mass;
- •5.2.2 Работа с двумерными массивами( матицы)
- •Var I,j,n : integer;
- •I,j,n,m : integer;
- •5.2.3 Сортировка массивов
- •Сортировка методом "пузырька"
- •X : Array [1..Nmax] Of Real;
- •X : Array [1..Nmax] Of Real;
- •Сортировка выбором
- •Обменная сортировка
- •Var m:array[1..1000] of integer;
- •I,z,n:integer; Key:byte;
- •Сортировка слиянием
- •Var { Описание массивов и переменных}
- •X, y: array[1..1000] of integer;
- •5.3 Строковые типы
- •Var s: string[10];
- •5.3.1 Операции над строками
- •5.3.2 Стандартные процедуры и функции для строк
- •Функция Length
- •Функция Upcase
- •Функция Copy
- •Функция Роs
- •I, n, p: integer;
- •I: integer;
- •I: integer;
- •Insert (word2, text, I);
- •Insert (chr (k-32), t, I);
- •Insert (chr (k-80), t, I);
- •Insert (‘е’, t, I);
- •Глава 6 Процедуры и функции
- •6.1 Процедуры
- •I : Integer;
- •I, n: integer;
- •Input _ mas (k, n);
- •I,n : Integer;
- •I,k : Integer;
- •6.2 Функции
- •I:Integer;
- •2) Массивы;
- •I,n : Integer;
- •I : Integer;
- •I,tn,tk:Real;
- •Глава 7 Программирование рекурсивных алгоритмов
- •7.1 Понятие рекурсии
- •7.2 Техника построения рекурсивных алгоритмов
- •7.3 Формы рекурсий
- •If Prim(I) then
- •7.4 Рекурсия и итерация
- •7.5 Программирование с использованием рекурсии
- •Var p: Integer;
- •Var X, y: Integer; begin
- •Var z: Real; begin
- •Var I:integer; j:real;
- •Глава 8 Файлы
- •8.1 Текстовые файлы
- •I,n : Integer; {Вспомогательные переменные}
- •8.2 Типизированные файлы
- •X,m,s : Real;
- •8.3 Нетипизированные файлы
- •Глава 9 Записи
- •9.1 Описание записи
- •I: integer;
- •9.2 Оператор присоединения
- •I, j, k, m : integer;
- •X: real;
- •9.3 Вложенные записи
- •9.4 Записи с вариантами
- •Information: record
- •I, k, n : integer;
- •Vedom : Array [1..Nmax] Of Stud;
- •I,j : Integer;
- •Vedom : File Of Stud;
- •Vedom : File Of Stud;
- •I,j,kdv,k2 : Integer;
- •If Not Eof (Ftel) Then
- •If Not Eof(Ftel) then
- •If Not Eof(FilComp) then
- •Глава 10 Динамические структуры данных
- •10.1 Распределение памяти при выполнении программ
- •Верхняя граница памяти ms-dos
- •10.2 Ссылочные переменные
- •10.3 Процедуры управления кучей
- •10.4 Использование переменных ссылочного типа
- •I: Integer;
- •I, k : Integer;
- •Val(b, k, code);{Превратили второй символ в ч исло}
- •10.5 Списки
- •Var Ch : Char;
- •Var Ch : Char;
- •10.6 Деревья
- •10.7 Константы ссылочного типа
- •Глава 11. Язык Паскаль. Графический модуль Graph Список используемой литературы Основная
- •Дополнительная
Глава 3 Стандартные типы данных
3.1 Данные. Типы
Одна из характерных особенностей современных ЭВМ состоит в возможности получать, накапливать и хранить большие объемы информации, содержащиё формализованные сведения об окружающем человёка мире. Поступившая в ЭВМ информация может быть обработана с целью извлечения из нее требуемых пользователю сведений в зависимости от его интересов и потребностей практики.
Информация, хранящаяся в памяти ЭВМ и доступная для обработки, состоит из данных. Данные в определенной степени являются приближенным отражением действительности, поскольку в них игнорируются некоторые свойства и характеристики реальных объектов, несущественные для решаемой задачи.
Применение ЭВМ для хранения и обработки данных приводит к разделению данных и их смыслового содержания. ЭВМ, как правило, имеют дело с данными как таковыми, а большая часть интерпретирующей информации в явной форме не фиксируется. Ее должен знать пользователь и применять при анализе данных, полученных от ЭВМ.
Для обработки ЭВМ данные представляются в виде величин и их совокупностей. С понятием величины связаны такая важная характеристика, как ее тип.
Тип определяет:
возможные значения переменных, констант, функций, выражений, принадлежащих к данному типу;
внутреннюю форму представления данных в ЭВМ;
операции и функции, которые могут выполняться над величинами, принадлежащими к данному типу.
В языке Паскаль тип величины задают заранее. Все переменные, используемые в программе, должны быть объявлены в разделе описания с указанием их типа. Обязательное описание типа приводит к избыточности в тексте программ, но такая избыточность является важным вспомогательным средством разработки программ и рассматривается как необходимое свойство современных алгоритмических языков высокого уровня.
Т
ип
однозначно определяет, как будет
интерпретироваться та или иная информация
в результате исключаются
попытки выполнения над ней неприемлемых
операций.
Рисунок 3.1 - Иерархия типов данных
3.2 Вещественные типы
К вещественным типам данных, используемым в языке программирования Turbo Pascal, относятся Real, Single, Double, Extended и Соmр. Они отличаются друг от друга диапазонами допустимых значений (т.е. значений, которые могут принимать переменные этих типов) Для хранения переменных того или иного вещественного типа требуются различные объемы памяти. Соответствующие характеристики вещественных типов представлены в табл. 3.1.
Таблица 3.1. Характеристики вещественных типов, принятых в Turbo Pascal
Вещественный тип
|
Диапазон значений |
Число значащих цифр мантиссы |
Требуемая память (байт) |
Real |
2.9E-39.. 1.7Е38 |
11-12 |
6 |
Single |
1.5Е-45..3.4Е38 |
7-8 |
4 |
Double |
5.0Е-324.. 1.7Е308 |
15-16 |
8 |
Extended |
1.9E-4951.. 1.1Е4932 |
19-20 |
10 |
Comp |
-2E+63+1..2Е+63-1 |
19-20 |
8 |
Вот как выглядят описания переменных вещественных типов.
Var
a:real; b:single; c:double; d:extended; e:comp;
Среди упомянутых выше вещественных типов особого внимания заслуживает Соmр. Данный тип — нечто среднее между вещественным и целочисленным типами; он обладает свойствами одного и другого. Переменные типа Comp могут принимать только целые значения — особенность целочисленных типов. Однако при этом Comp не является порядковым типом, и именно потому его относят к категории вещественных типов.
Применимые операции
К вещественным числам применимы четыре арифметических действия; полученный при этом результат также будет вещественным числом. Речь идет о таких действиях, как сложение (+), вычитание (—), умножение (*) и деление (/). В одном выражении могут присутствовать переменные как одного, так и разных вещественных типов. Например, объявленные выше переменные a, b, с, d и e могут участвовать в следующих выражениях.
a+b+e; c-d; (a*b+c*d)/2; e/(c+d);
Причем, даже если один из операндов, участвующих в операциях сложения, вычитания или умножения, окажется целым числом (это допускается), полученный результат все равно будет вещественным. А если речь идет об операции деления, результат окажется вещественным даже при двух целочисленных операндах.
К вещественным значениям применимы все операции сравнения; эти операции представлены в таблице 3.2.
Таблица 3.2 Операции сравнения
Обозначение |
Операция |
= |
Равно |
<> |
Не равно |
> |
Больше |
< |
Меньше |
>= |
Больше или равно |
<= |
Меньше или равно |
Любая из этих операций даст логический результат.
Применимые стандартные подпрограммы
К переменным и значениям, принадлежащим вещественному типу, применимы все математические функции.
Функция Abs — возвращает абсолютную величину параметра.
Функции Sin, Cos и ArcTan — возвращают соответственно синус, косинус и арктангенс параметра.
Функция Exp — возвращает экспоненту параметра.
Функции Sgr и Sgrt— возвращает соответственно квадрат и квадратный корень параметра.
Функции Int и Frac — возвращают соответственно целую и дробную части параметра.
Функции Ln — возвращает натуральный логарифм параметра.
Функции Pi — возвращает значение Pi (Pi=3.1415926535897932385).
Функция Round —округляет (согласно правилам округления) значение вещественного типа до ближайшего значения целочисленного типа.
Функция Trunc — превращает значение вещественного типа в целочисленное значение путем отбрасывания дробной части.
