Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







СТАРООСКОЛЬСКИЙ ТЕХНОЛОГИЧЕСКИЙ ИНСТИТУТ





СТАРООСКОЛЬСКИЙ ТЕХНОЛОГИЧЕСКИЙ ИНСТИТУТ

ИМ. А.А. УГАРОВА

(филиал) федерального государственного автономного образовательного учреждения высшего образования

«Национальный исследовательский технологический университет

«МИСиС»

 

Кафедра АИСУ

 

 

Ковтун Н.И.

 

Компьютерное обеспечение специальностИ

Часть 2

 

Методические указания

по выполнению лабораторных работ

для студентов направлений:

220700 – Автоматизация технологических процессов и производств

(для всех форм обучения)

 

 

Одобрено редакционно-издательским советом

 

Старый Оскол

 


УДК 004

ББК 32.973

 

Рецензент: главный конструктор ОАО «СОАТЭ» Калачев И.М.

 

 

Ковтун Н.И. Компьютерное обеспечение специальности. Методические указания по выполнению лабораторных работ. Старый Оскол: СТИ НИТУ

«МИСиС», 2016. – 102 с.

 

 

Методические указания по выполнению лабораторных работ по курсу «Компьютерное обеспечение специальности» для студентов направления 220700 – Автоматизация технологических процессов и производств, для всех форм обучения.

 

Ó Ковтун Н.И.

Ó СТИ НИТУ «МИСиС»


Содержание

Лабораторная работа № 1.. 5

Понятие алгоритма. Схемы алгоритмов. 5

Лабораторная работа № 2.. 18

ПРОГРАММИРОВАНИЕ ЛИНЕЙНЫХ ВЫЧИСЛИТЕЛЬНЫХ ПРОЦЕССОВ.. 18

Лабораторная работа № 3.. 43

ПРОГРАММИРОВАНИЕ ПРОЦЕССОВ с разветвляющейся структурой... 43

Лабораторная работа № 4.. 60

Программирование процессов с циклической структурой... 60

Лабораторная работа № 5.. 79

Обработка одномерных и двумерных массивов. 79

список литературы.... 101


Предисловие

Изучение курса «Компьютерное обеспечение специальностью», часть 2 позволяет студентам освоить основы программирования и алгоритмизации в языках программирования ТР и Си, что позволяет перейти от традиционных ЯП, изучаемых в общеобразовательных учреждениях, к языкам, , используемым в дальнейшем при изучении спецкурсов кафедры, обучиться методологии самостоятельной работы с использованием современной литературы и технической документации в профессиональной деятельности.



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

 

 


Лабораторная работа № 1

Понятие алгоритма. Схемы алгоритмов.

Цель:изучить понятие алгоритма, его свойства, способы представления, основные элементы блок-схем; научиться применять программные средства для построения схем данных

Теоретический материал

 

Алгоритм - точное предписание исполнителю совершить определенную последовательность действий для достижения поставленной цели за конечное число шагов.

Одним из фундаментальных понятий в информатике является понятие алгоритма. Происхождение самого термина «алгоритм» связано с математикой. Это слово происходит от Algorithmi – латинского написания имени Мухаммеда аль-Хорезми (787 – 850) выдающегося математика средневекового Востока. В своей книге "Об индийском счете" он сформулировал правила записи натуральных чисел с помощью арабских цифр и правила действий над ними столбиком. В дальнейшем алгоритмом стали называть точное предписание, определяющее последовательность действий, обеспечивающую получение требуемого результата из исходных данных.

В XII в. был выполнен латинский перевод его математического трактата, из которого европейцы узнали о десятичной позиционной системе счисления и правилах арифметики многозначных чисел. Именно эти правила в то время называли алгоритмами.

Данное выше определение алгоритма нельзя считать строгим – не вполне ясно, что такое «точное предписание» или «последовательность действий, обеспечивающая получение требуемого результата».

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

Такими свойствами являются:

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

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

Результативность (конечность) – алгоритм должен приводить к решению задачи за конечное число шагов.

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

На основании этих свойств иногда дается определение алгоритма, например: “Алгоритм – это последовательность математических, логических или вместе взятых операций, отличающихся детерменированностью, массовостью, направленностью и приводящая к решению всех задач данного класса за конечное число шагов”.

Такая трактовка понятия “алгоритм” является неполной и неточной.

Во-первых, неверно связывать алгоритм с решением какой-либо задачи. Алгоритм вообще может не решать никакой задачи.

Во-вторых, понятие “массовость” относится не к алгоритмам как к таковым, а к математическим методам в целом. Решение поставленных практикой задач математическими методами основано на абстрагировании – мы выделяем ряд существенных признаков, характерных для некоторого круга явлений, и строим на основании этих признаков математическую модель, отбрасывая несущественные признаки каждого конкретного явления. В этом смысле любая математическая модель обладает свойством массовости. Если в рамках построенной модели мы решаем задачу и решение представляем в виде алгоритма, то решение будет “массовым” благодаря природе математических методов, а не благодаря “массовости” алгоритма.

 

Виды алгоритмов

 

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

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

Гибкие алгоритмы, например стохастические, т.е. вероятностные и эвристические:

a) Вероятностный (стохастический) алгоритм дает программу решения задачи несколькими путями или способами, приводящими к вероятному достижению результата.

b) Эвристический алгоритм (от греческого слова “эврика”) – это такой алгоритм, в котором достижение конечного результата программы действий однозначно не предопределено, так же как не обозначена вся последовательность действий, не выявлены все действия исполнителя. К эвристическим алгоритмам относят, например, инструкции и предписания. В этих алгоритмах используются универсальные логические процедуры и способы принятия решений, основанные на аналогиях, ассоциациях и прошлом опыте решения схожих задач.

 

На всех этапах подготовки к алгоритмизации задачи широко используется структурное представление алгоритма.

Схемы данных

Структурная (блок-, граф-) схема алгоритма – графическое изображение алгоритма в виде схемы связанных между собой с помощью стрелок (линий перехода) блоков – графических символов, каждый из которых соответствует одному шагу алгоритма. Внутри блока дается описание соответствующего действия.

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

Можно встретить даже такое утверждение: “Внешне алгоритм представляет собой схему – набор прямоугольников и других символов, внутри которых записывается, что вычисляется, что вводится в машину и что выдается на печать и другие средства отображения информации “. Здесь форма представления алгоритма смешивается с самим алгоритмом.

Конфигурацию, перечень и размеры условных изображений, а также правила построения схем алгоритмов устанавливает ГОСТ 19.701–90 «Схемы алгоритмов, программ, данных и систем».

Алгоритм выражен последовательностью графических символов, выполняющих определенные функции, и наличием связей между ними – линий, стрелок (потоками информации). Основное направление – сверху вниз и слева направо, при этом стрелки, указывающие основные направления, можно не ставить.

Задание на лабораторную работу

 

1. Изучить ГОСТ 19.701–90 «Схемы алгоритмов, программ, данных и систем».

2. Разработать алгоритм и построить схему данных алгоритма в пакете Microsoft Visio (по вариантам).

 

ВАРИАНТЫ

1. Даны гипотенуза и катет прямоугольного треугольника. Найти второй катет и радиус вписанной окружности.

2. Найти площадь кольца, внутренний радиус которого равен R1, а внешний – за - данному числу R2, R2 > R1.

3. Треугольник задан величинами своих углов и радиусом описанной окружности. Найти стороны треугольника.

4. Найти площадь равнобочной трапеции с основаниями A и В и углом α при большем основании.

5. Вычислить расстояние между точками с координатами x 1, y 1 и x 2, y 2.

6. Треугольник задан координатами своих вершин. Найти : а ) периметр треугольника ; б ) площадь треугольника.

7. Даны действительные положительные числа a, b, c, d. Выяснить, можно ли построить четырехугольник с такими длинами сторон.

8. Вычислить площадь поверхности и объем усеченного конуса

9. Вычислить медианы треугольника со сторонами c b a

10. Определить высоту треугольника, если его площадь равна S, а основание больше высоты на величину a.

11. Найти квадрат наибольшего из двух чисел a и b и вывести на печать признак N =1, если наибольшим является a, и N =2, если наибольшим является b.

12. Определить в каком квадранте находится точка с координатами x, y, и вывести на печать номер квадранта.

13. Определить, можно ли из отрезков с длинами a, b, c построить треугольник.

14. Если среди трех чисел x, y, z имеется хотя бы одно четное, то найти максимальное число, иначе − минимальное.

15. Ввести два числа a и b. Меньшее заменить полусуммой, а большее удвоенным произведением.

16. Даны три вещественных положительных числа a, b и c. Найти площадь треугольника, стороны которого равны a, b и c.

17. Даны значения трех действительных переменных a, b и c. Обменять местами их значения так, чтобы a получила бы значение b, b получила значение c, а переменная c получила исходное значение a.

18. Даны значения трех действительных переменных a, b и c. Найти наибольшее значение из a, b и c.

 

 

Контрольные вопросы:

 

1. Дайте определение понятию «алгоритм». Опишите общие свойства алгоритмов.

2. Перечислите основные виды алгоритмов.

3. Назовите базовые алгоритмические конструкции.

4. Какими средствами изображения схем алгоритмов обладает MS Office Word?

5. Как изобразить схему алгоритма средствами рисования MS Office Word?

6. Для чего предназначена программа Microsoft Visio и в чем состоят ее возможности?

7. Как осуществляется запуск программы и выбор необходимых шаблонов?

8. Какие типы файлов используются в программе Microsoft Visio?

9. Определите порядок работы при построении схемы алгоритма с помощью программы Microsoft Visio.

 


Лабораторная работа № 2

Теоретический материал

 

Линейный алгоритм - это такой, в котором все операции выполняются последовательно одна за другой (рис. 1).

Рис. 1 Размещение блоков в линейном алгоритме

 

Рассмотрим несколько примеров линейных алгоритмов.

ПРИМЕР 1. Зная длины трех сторон треугольника, вычислить площадь и периметр треугольника.

Пусть a, b, c - длины сторон треугольника. Необходимо найти S - площадь треугольника, P - периметр.

Для нахождения площади можно воспользоваться формулой Герона:

где r - полупериметр

Входные данные:a, b, c.

Выходные данные:S, P.

Блок-схема алгоритма представлена на рис. 2.

 

Рис. 2. Алгоритм примера 1

Внимание!!!В этих блоках знак "=" означает не математическое равенство, а операцию присваивания. Переменной, стоящей слева от оператора, присваивается значение, указанное справа. Причем это значение может быть уже определено или его необходимо вычислить с помощью выражения. Например, операция r = (a+b+c)/2 - имеет смысл (переменной r присвоить значение r=(a+b+c)/2), а выражение (a+b+c)/2=r - бессмыслица.

 

ПРИМЕР 2. Известны плотность и геометрические размеры цилиндрического слитка, полученного в металлургической лаборатории. Найти объем, массу и площадь основания слитка.

Входные данные:R - радиус основания цилиндра, h - высота цилиндра, ρ- плотность материала слитка.

Выходные данные:m - масса слитка, V - объем, S - площадь основания.

Блок-схема представлена на рис. 3.

Рис. 3. Алгоритм примера 2

ПРИМЕР 3. Заданы длины двух катетов в прямоугольном треугольнике. Найти длину гипотенузы, площадь треугольника и величину его углов.

Входные данные: a, b - длины катетов.

Выходные данные: с - длина гипотенузы, S - площадь треугольника, α, β - углы.

Блок-схема представлена на рис.4.

Рис. 4 Алгоритм примера 3

 

Перед тем как, процессор будет выполнять какое либо действие, он должен получить инструкцию для его выполнения в виде машинных кодов. Набор таких инструкций называется программой. Авторы первых программ писали их в машинном (двоичном) коде. Теперь программы пишутся на каком либо языке высокого уровня (Pascal, Delphi, Cи, C++, C++ Builder, Visual C++). Затем специальная программа, называемая транслятором, переводит их машинный код, который и исполняется процессором. Все трансляторы делятся на два класса:

· интерпретаторы - трансляторы, которые переводят каждый оператор программы в машинный код и по мере перевода операторы выполняются процессором;

· компиляторы переводят всю программу целиком и если перевод всей программы прошел без ошибок, то полученный двоичный код можно запускать на выполнение.

Структура программы на языке Си/С++

Первая версия языка Си была разработана в 1972 году сотрудником фирмы Bell Laboratories Денисом Ритчи. В это время он и Кен Томбсон занимались разработкой ОС UNIX. Целью создания была разработка инструмента для программистов-практиков. На основе языка Си в дальнейшем были разработаны С++ и Java. В 2000 году международной организацией по стандартизации (ISO) и американским институтом национальных стандартов (ANSI) был принят стандарт под именем Си99.

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

Чтобы подчеркнуть достоинства языка Си можно сказать, что многие компиляторы и интерпретаторы других языков программирования (Фортран, APL, Pascal, LISP, Basic) написаны на языке Си.

Программы, написанные на языке Си, применяются для решения физических и инженерных задач, а также для создания анимационных спецэффектов в кинофильмах. Например, с этой целью Си применялся в фильмах "Гладиатор" и "Звездные войны".

ОСНОВНЫЕ КОНСТРУКЦИИ ЯЗЫКА Си/С++

Программа на Си/С++

Программа, написанная на языках Cи/С++, содержит одну или более функций. Все программы должны содержать функцию с именем main() - главная. Эта функция является точкой входа в программу. Открывающая скобка “{” помещается перед первой инструкцией, а закрывающая скобка “}” - после последней. Между скобками помещаются операторы.

Оператор – предложение языка, заканчивающееся точкой с запятой «;». Различают операторы описаний, определяющие типы используемых объектов, и операторы действий, необходимых для реализации алгоритма решаемой задачи. Операторы описаний могут располагаться в любом месте программы, но до первого использования соответствующего объекта.

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

Первые строки программы обычно содержат директивы компилятору на подключение к тексту программы тех или иных заголовочных файлов библиотеки языка C. Это текстовые файлы, содержащие заголовки (прототипы) стандартных функций и имеющие расширение .h , которые обычно располагаются в каталоге INCLUDE. Каждая директива имеет вид

#include <имя заголовочного файла>.

Пример 4. Простейшая программа на языке С++.

Вычислить длину окружности и площадь круга.

1. Входные данные

цел r – радиус

Выходные данные

вещ l – длина, s – площадь

Промежуточные данные

вещ pi=3.14

Алгоритм

Текст программы

#include <iostream.h> // заголовочный файл библиотеки потоков ввода/вывода

void main()

{

/* по введенному значению радиуса круга вычисляется

длина окружности и площадь круга */

const float pi=3.1415926;

int r; float l,s; // считаем, что радиус может принимать только целые значения

cout << “Радиус ? ”; cin>>r; // ввод исходных данных

l=2*pi*r; s=pi*r*r; // вычисления

cout<< ”длина окружности ”<<l<<endl<<”площадь круга ”<<s; // вывод результатов

cin.get(); //пауза до нажатия любой клавиши

}

 

Основные типы данных

Типы данных определяют множество допустимых значений и множество допустимых операций над этими значениями.

В Си/ C++ есть несколько основных типов и несколько способов создавать новые.

Простые типы

Основные типы, непосредственно отвечающие средствам аппаратного обеспечения, такие:

Идентификатор: оператор

 

В программировании высокого уровня goto имеет очень мало применений, но он может быть очень полезен, когда C++ программа генерируется программой, а не пишется непосредственно человеком. Например, операторы goto можно использовать в синтаксическом анализаторе, порождаемом генератором синтаксических анализаторов.

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

Одно из немногих разумных применений состоит в выходе из вложенного цикла или переключателя (break лишь прекращает выполнение самого внутреннего охватывающего его цикла или переключателя).

 

Комментарии

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

Неправильное использование комментариев может серьезно повлиять на удобочитаемость программы, Компилятор не понимает содержание комментария, поэтому он никаким способом не может убедиться в том, что комментарий

1) осмыслен;

2) описывает программу; и

3) не устарел.

Непонятные, двусмысленные и просто неправильные комментарии содержатся в большинстве программ. Плохой комментарий может быть хуже, чем никакой.

Если что-то можно сформулировать средствами самого языка, следует это сделать, а не просто отметить в комментарии. Данное замечание относится к комментариям вроде:

 

// переменная "v" должна быть инициализирована.

// переменная "v" должна использоваться только функцией "f()".

// вызвать функцию init() перед вызовом

// любой другой функции в этом файле.

// вызовите функцию очистки "cleanup()" в конце вашей программы.

// не используйте функцию "wierd()".

// функция "f()" получает два параметра.

 

При правильном использовании C++ подобные комментарии как правило становятся ненужными. Чтобы предыдущие комментарии стали излишними, можно, например, использовать правила компоновки и видимость, инициализацию и правила очистки для классов.

Если что-то было ясно сформулировано на языке, второй раз упоминать это в комментарии не следует. Например:

 

a = b+c; // a становится b+c

count++; // увеличить счетчик

 

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

Предпочтительно:

1) комментарий для каждого исходного файла, сообщающий, для чего в целом предназначены находящиеся в нем комментарии, дающий ссылки на справочники и руководства, общие рекомендации по использованию и т.д.;

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

Например:

 

// tbl.c: Реализация таблицы имен

/*

Гауссовское исключение

См. Ralston: "A first course ..." стр. 411.

*/

// swap() предполагает размещение стека AT&T sB20.

 

Удачно подобранные и хорошо написанные комментарии - существенная часть программы. Написание хороших комментариев может быть столь же сложным, сколь и написание самой программы.

Если в функции используются исключительно комментарии //, то любую часть этой функции можно закомментировать с помощью комментариев /* */, и наоборот.

 

Примеры задач

Пример 5. Напишите программу печатающую:

1. Десятичное целое число с шириной поля, равной количеству цифр.

2. Шестнадцатеричное целое число в форме 8А в поле шириной 4.

3. Число с плавающей точкой в форме 232.346 с шириной поля 10.

4. Число с плавающей точкой в форме 2.33е+002 с шириной поля 12.

5. Строку, выровненную по левому краю, в поле шириной 30 символов.

 

# include <stdio.h>

# include <conio.h>

int main(){

clrscr();

printf("*%d*\n", 324);

printf("*%4X*\n", 247);

printf("*%10.3f*\n", 232.3465);

printf("*%12.2e*\n", 232.65);

printf("*%30-s*\n", "Logitech");

printf("*%30s*\n", "Logitech");

 

}

 

Результат:

 

*324*

* F7*

* 232.346*

* 2.33e+02*

*Logitech *

* Logitech *

 

Пример 6. Сконструируйте операторы, которые выполняют следующие действия:

1. Увеличение значения х на 10.

2. Увеличение значения переменной х на 1.

3. Двойное присваивание суммы а и в переменной с.

4. присваивание а плюс удвоенное значение в переменной с.

5. Уменьшение значения переменной х на 1.

6. присваивание переменной m остатка от деления n на k.

7. Деление q на b минус а и присваивание результата p.

8. присваивание переменной х результата от деления суммы a и b на произведение c и d.

 

# include <stdio.h>

# include <conio.h>

int main(){

int x = 7, a = 11, b = 13, c, n = 15, k = 14, m, p, q = 39, d = 2;

clrscr();

x += 10;

printf("x=%d\n", x);

x ++;

printf("x=%d\n", x);

c = (a + b) * 2;

printf("c=%d\n", c);

a += 2 * c;

printf("a=%d\n", a);

x --;

printf("x=%d\n", x);

m = n % k;

printf("m=%d\n", m);

p = q / b - a;

printf("p=%d\n", p);

x = (a + b) / (c * d);

printf("x=%d\n", x);

}

 

Результат:

 

x=17

x=18

c=48

a=107

x=17

m=1

p=-104

x=1

 

Пример 7. Разработайте программу, которая отображает запрос пользователю на ввод значения температуры, определенного по шкале Фаренгейта. А затем организует вычисление эквивалентных температур по шкалам Цельсия и Кельвина, а затем отображать все три эквивалентных значения температур с точностью до двух знаков после запятой.

 

 

# include <stdio.h>

# include <conio.h>

int main(){

float f, c, k;

clrscr();

printf("Vvedite temperaturu po Farengeytu\n");

scanf("%f", &f);

c = 1.8 * f + 32;

k = c + 273.16;

printf("%+.2f po Farengeytu\n", f);

printf("%+.2f po Celsiyu\n", c);

printf("%+.2f po Kelvinu\n", k);

}

 

Результат:

 

Vvedite temperaturu po Farengeytu

-23

-23.00 po Farengeytu

-9.40 po Celsiyu

+263.76 po Kelvinu

 

 

ОСНОВНЫЕ КОНСТРУКЦИИ ЯЗЫКАTurbo Pascal

 

Язык программирования Pascal был разработан в 1968-1971 гг. Николаусом Виртом в Цюрихском институте информатики (Швейцария). Язык Паскаль был назван в честь французского математика, гуманиста и религиозного фанатика Блеза Паскаля, человека, построившего первую простую вычислительную машину. Паскаль является классическим языком программирования, который первоначально был создан как учебный язык (в настоящее время большинство университетов США пользуются Паскалем для обучения студентов программированию), однако, очень скоро обнаружилась эффективность этого языка в самых разнообразных приложениях, от решения небольших задач численного характера до разработки сложных программных систем компьютеров, баз данных, операционных систем и т.п.

Язык Turbo Pascal – это широко известная реализация языка Pascal фирмы Borland International для персональных IBM. Он является расширением американского стандарта (ANSI Pascal), учитывающим архитектурные особенности операционной системы MS-DOS и снабженным внушительным по объему и разнообразию пакетами стандартных процедур. Принципиальные нововведения облегчают конструирование больших программных систем на основе технологии модульного программирования.

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

 

Алфавит языка Turbo Pascal

 

Состоит из следующих символов:

- заглавные и строчные латинские буквы и символ «подчерк» (в языке Turbo Pascal символ «подчерк» считается буквой);

А,В,С,…,Х,Y,Z, a, b, c,…,x, y,z,_

- десять арабских цифр от 0 до 9:

0,1,2,3,4,5,6,7,8,9

- двадцать два специальных символа:

+ - * / = > < . , :

@ ‘ ( ) [ ] { } # $ ^

 

Данные языка Turbo Pascal

 

Данные языка Turbo Pascal включают в себя константы и переменные.

Константы – это значения, которые не изменяются во время выполнения программы. Числовые константы имеют следующие формы представления:

1) целые. Например, 1; 20; -3; 0;

2) с фиксированной точкой (целая часть числа отделяется от дробной точкой). Например, 75.248; 0.5; -7.65;

3) с плавающей точкой. Используются для представления сильно больших и сильно малых чисел. В этой форме число записывается в виде: ±mE±P (в математике ±m*10+p), где m – мантисса; Е – символ, обозначающий основание десятичной системы счисления; Р – порядок. Знак мантиссы определяет знак числа. Порядок представляет собой однозначное или двузначное число, указывающее, на сколько разрядов вправо (знак «+») или влево (знак «-») нужно переместить точку в мантиссе, чтобы получить фактическое значение представляемой величины. Например:

в математике в Паскале

0.0803*10-2 -0.0803Е-2 или –0.803Е-3

18.943*103 18.943Е+3 или 18.943Е3

107 1Е+7 или 1Е7

Переменная – это величина, к которой обращаются по имени переменной (идентификатору), ее значение может изменяться во время выполнения программы. Идентификаторы служат для обозначения в программе переменных, констант, типов, меток, процедур и функций. Длина идентификатора может быть произвольной, но значимы только первые 63 символа. Большие и маленькие буквы не различаются.

 

Целые типы

 

Эта группа типов обозначает множества целых чисел в различных диапазонах. Имеется 5 целых типов, различающихся допустимым диапазоном значений и размером занимаемой памяти. Целые типы обозначаются идентификаторами Integer, Byte, Shortint, Word, Longint; их характеристики приведены в таблице 1.

 

Вещественные типы

 

Эта группа типов обозначает множества вещественных значений в различных диапазонах. Turbo Pascal поддерживает пять различных вещественных типа. Они именуются идентификаторами Real, Single, Double, Extende, Comp; их характеристики приведены в таблице 2.

 

Таблица 1

Целый тип Диапазон значений Размер памяти
Shortint Integer Longint Byte Word (-128…127) (-32768…32767) (-2147483648…2147483647) (0…255) (0…65535) 1 байт 2 байта 4 байта 1 байт 2 байта

 

Таблица 2

Вещественный тип Диапазон значений Число цифр мантиссы Размер памяти
Real Single Double Extende Comp (2.9Е-39…1.7Е38) (1.5Е-45…3.4Е38) (5.0Е-324…1.7Е308) (3.4Е-4932…1.1Е4931) (-2Е+63…+2Е+62) 11-12 7-8 15-16 19-20 6 байт 4 байта 8 байт 10 байт 8 байт

 

Символьный тип

 

Это тип данных, состоящих из одного символа из множества ASCII (Американский стандартный код для обмена информацией), его характеристики приведены в таблице 3.

В программе значения данных типа char должны быть заключены в апострофы, например, ‘A’, ‘*’.

 

Таблица 3

Символьный тип Диапазон значений Размер памяти
Char Кодовая таблица ПЭВМ 1 байт

 

Булевский (логический) тип

 

Булевский тип обозначается идентификатором Boolean, его характеристики приведены в таблице 4.

 

Таблица 4

Булевский тип Диапазон значений Размер памяти
Boolean True, False 1 байт

 

Состоит из 2-х значений: True (истина), False (ложь). Применяется в логических выражениях и выражениях отношения.

Структура Pascal-программы

 

PROGRAM имя программы

USES список используемых библиотек (модулей);

LABEL список меток;

CONST определение констант программы;

TYPE описание типов;

VAR описание переменных программы;

ОПРЕДЕЛЕНИЕ ПРОЦЕДУР (заголовки и, возможно, тела процедур);

ОПРЕДЕЛЕНИЕ ФУНКЦИЙ (заголовки и, возможно, тела функций);

BEGIN

основной блок программы

END.

Pascal-программа всегда состоит из 2-х основных частей: описания последовательности действий, которые необходимо выполнить; и описания данных, с которыми оперируют действия.

 

Описание меток

 

Формат:

Label <имя 1>, <имя 2>,…

Например:

Label Metka1,A,9999;

Перед любым оператором языка Паскаль можно поставить метку, что позволяет выполнить переход на этот оператор с помощью оператора Goto из любого места программы. Метка состоит из имени и следующего за ним двоеточия. Именем может служить идентификатор или цифра (десятичное число от 0 до 9999). Перед употреблением метка должна быть описана, причем каждая не более 1 раза. Если метка описана, но в разделе операторов не используется, то ошибки при этом не возникает.

 

Описание констант

 

В этом разделе производится присваивание идентификатором констант постоянных значений.

Формат:

Const <идентификатор>=<значение>;

Например:

One=1;

Limit=-One;

Separator=’******’;

High=-1000;

Будучи определенной в программе, любой идентификатор константы может входить во все конструкции, в которых может присутствовать связанное с ним значение, например: Diar:= (x-High)/2+One;

Не допускаются ситуации, когда идентификатору константы предлагается изменить значение, например: High:= (x+y)*2;

Операндами константного выражения могут быть числа, строки, идентификаторы констант, стандартные функции, например:

Const

Min=0; Max=100;

Center= (Max-Min)/2; Message=’ Out of memory’;

Error_Txt=’Error:’+Message+’.’;

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

 

Описание типов

 

Тип данных может быть описан либо в разделе описания типов, либо в разделе описания переменных. Выбор описания типа зависит только от программиста и специфики программы.

Формат:

Type <имя типа>=<значение типа>;

Например:

Type

Positive=word;

Diapason=1..20;

Var

LoopGoup: Positive;

Index: real;

Ind: Diapason;

First_Letter; ‘a’..’z’;

Описание переменных

 

Каждая встречающаяся в программе переменная должна быть описана. Описание обязательно предшествует использованию переменной.

Формат:

Var <идентификатор,…>;<mun>;

Например:

Var

А,B,C : integer;

Result, Summa: real;

Vxod: boolean;

Описание операторов

 

Раздел операторов является основным, т.к. именно в нем с предварительно описанными переменными, константами, значениями функций выполняются действия, позволяющие получить результат.

Формат:

Begin

<оператор;>

<оператор>

End.

Выражения

 

Операции в языке Паскаль подразделяются на арифметические, отношения, логические, строковые и др. Выражения соответственно называются арифметические, отношения, логические и т.д.

 

арифметические операции:

 

«+» сложение;

«-» вычитание;

«*» умножение;

«/» деление;

div целочисленное деление;

mod взятие остатка от целочисленного деления

Например: 9/4=2.25; 9div 4=2; 9 mod 4=1.

Тип результата выражения зависит от типов операндов, участвующих в операции. Операции div и mod допустимы только над значениями целого типа.

 

операции отно









Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2018 zdamsam.ru Размещенные материалы защищены законодательством РФ.