русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Кафедра «Информационные технологии»


Дата добавления: 2014-11-28; просмотров: 581; Нарушение авторских прав


Задания.

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

б). Известна зарплата (массив zar[1..5]) работников (N=5) бригады. Построить диаграмму из вертикальных линий.

в). Условие то же, но диаграмма столбиковая. Замечание. Ширина столбца определяется делением ширины экрана на число рабочих. Однако, если ширина столбца не кратна размеру экрана, крайний столбец будет отображен не полностью. При программировании следует учесть этот фактор, уменьшив ширину столбца.

г). Известна зарплата (массив zar[1..5]) и премия (массив p[1..5]) каждого из N=5 работников бригады. Построить совмещенную столбиковую диаграмму (на столбике зарплаты стоит столбик премии). Премия должна быть заштрихована командой SetFillStyle.

д). Для той же задачи построить секторную диаграмму зарплат. Подсказка. Сначала следует найти сумму всех зарплат s. Затем перевести зарплату каждого работника в градусы его сектора на диаграмме zar[i]/s*360 и запомнить ее в массиве zar[1..5]. Далее вычислить начальный и конечный угол каждого радиуса каждого сектора, нарисовать диаграмму командой PieSlice и раскрасить ее.

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ

МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

ТЕХНОЛОГИЙ И УПРАВЛЕНИЯ

Имени К.Г.Разумовского

Кафедра «Информационные технологии»

 

 

УЧЕБНО-ПРАКТИЧЕСКОЕ

ПОСОБИЕ

С ЛАБОРАТОРНЫМ ПРАКТИКУМОМ

 

Раздел: «Основы алгоритмизации

и программирования»

 

Программирование на

алгоритмическом языке Паскаль

Попов А.А.


Программирование на алгоритмическом языке Турбо Паскаль

с лабораторным практикумом

 

1. ВВЕДЕНИЕ

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



Символы.В Паскале разрешены следующие основные символы: 1. Буквы латинского и русского языков (кириллица используется только в константах). 2. Цифры. 3. Символы: + – * / = > < . , ( ) [ ] ‘ ; ^ : и другие.

Операции. Арифметические: +, , * (умножение), / (вещественное деление). Операции отношений: =, >, <, >= (больше или равно),<= (меньше или равно), <> (не равно). Операции возведения в произвольную степень в Паскале нет.

Кроме перечисленных, имеются еще две арифметические операции над целыми числами:

div – целочисленное деление (дробь отбрасывается, например 14 div 3=4),

mod – целочисленный остаток от деления (пример 14 mod 3=2),

Переменные снабжаются именами, которые могут содержать латинские буквы, цифры и знаки подчеркивания, но начинаться имя должно с буквы. Программист выбирает имена произвольно, но таким образом, чтобы они указывали на смысл переменной. За каждой переменной компьютер закрепляет одну ячейку памяти. Большие и маленькие буквы в именах воспринимаются компьютером одинаково, т.е. буквы W и w обозначают одну и ту же переменную. Примеры имен: Х, y, A24, VES_Netto, MAXIMUM.

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

числовой целый Integer (диапазон от –32768 до +32767)

числовой целый длинный Longint (диапазон от –2147483648 до +2147483647)

числовой вещественный Real(диапазон от 2,9Е-39 до 1,7Е+38)

символ Char (один символ)

строка символов String (до 255 символов)

логический Boolean (имеет два значения true – истина, false – ложь).

Задание типа производится оператором VAR. Например: VAR a,d: INTEGER; x: REAL; d: STRING;.

В разделе констант можно сразу задать и тип и значение переменной CONST b: INTEGER=5; s:STRING=’поле’.Здесь переменным придаются и типы и значения.

Выражения используются для отображения формул и записываются в строку. Вычисления в них реализуются слева направо в общепринятой последовательности: 1. вычисление функций, 2. умножение-деление, 3. сложение-вычитание. Порядок действий может быть изменен скобками. Следующие два примера иллюстрируют правила построения выражений (слева в рамке формулы в обычной записи, справа выражения на Паскале):

è XC+2.5/(6*K) è F4/(B*3)+(C*B/(T–5))*8.4

 

Функции реализуют стандартные действия. Функции всегда содержат скобки (кроме Pi). Ниже показаны важнейшие:

 

Функция Назначение Тип аргумента Тип результата Примеры
abs(x) модуль х целый/вещественный как у аргумента abs(–6)=6
sin(x) синус угла х (аргумент в радианах) вещественный вещественный  
cos(x) косинус угла х (аргумент в радианах)  
arctan(x) арктангенс х (результат в радианах)  
sqrt(x) квадратный корень из х (х≥0) целый/вещественный как у аргумента  
sqr(x) квадрат х  
exp(x) ex вещественный вещественный  
ln(x) логарифм натуральный х (x>0)  
int(x) целая часть числа х int(1.2)=int(1.9)=1
frac(x) дробная часть числа х frac(-2.5)=-0.5
odd(x) выявление нечетности х целый логический odd(3)=true
pi число π=3.14159...   вещественный  
trunc(x) отбрасывает дробную часть х вещественный целый trunc(3.7)=3
round(x) округляет вещественное х до целого вещественный целый round(3.7)=4

Преобразование вещественного типа в целый осуществляется функциями round и trunc. Преобразование в вещественный тип может быть осуществлено простым присваиванием вида вещественная переменная:=целочисленная переменная (например a:=d). Такое преобразование называется неявным.

 

2. ОПЕРАТОРЫ ЯЗЫКА

Оператор – основная единица программы и имеет множество разновидностей. Рассмотрим самые простые.

Оператор присваивания. Общий вид оператора присваивания:

ü переменная:=выражение

Такая запись означает, что выражение, стоящее справа, вычисляется и его результат присваивается переменной, стоящей слева. Примеры операторов: Z:=2, А:=3.5+EXP(8), S:=X*4+Y/2.

Присваивание не является равенством в обычном смысле. Здесь справа и слева от знака равно можно указывать одну и туже переменную. Например, допустимо: М:=М+2, X:=X/3. Эти выражения следует понимать так, что новое содержимое ячейки М будет равно старому, увеличенному на два, и новое Х будет равно старому, деленноу на три. Например, если ранее было М=3 и Х=12, то после вычислений получим М=3+2=5 и Х=12/3=4.

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

ü WRITE(список_выводимых_переменных)

ü WRITELN(список_выводимых_переменных)

Например, оператор: WRITELN(a, m)читается так –“Печатать переменные А, М”.

Различие двух форм оператора заключается в том, что вторая разновидность оператора после вывода данных переводит курсор на новую строку (line). Оператор writeln может использоваться и без аргументов (и без скобок). Тогда при выводе будет формироваться только пустая строка. В оператор могут включаться не только переменные, но и константы и выражения. Например, если Х=12, а Y=100, то применение оператора WRITE('X=', x, 'Y=', y, 'СУММА=', x+y)даст следующий результат: X=12 Y=100 СУММА=112.

С помощью оператора можно указать не только что будет выведено, но и как, т.е. отформатировать вывод. После имени вещественной переменной можно (через двоеточие) задать два числа. Первое из них задаст общую длину вывода числа, второе – размер дробной части. После имени целочисленной переменной нужно задать только одно число. Напри­мер, оператор WRITE(k:6, z:8:2)при выводе отведет для целочисленной переменной K 6 позиций, а для вещественной пе­ре­менной Z – 8, из которых 2 под дробную часть. Лишние позиции, отведенные под целую часть, заместятся пробелами.

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

ü READLN(список_вводимых_переменных)

Встречая такой оператор, компьютер останавливается и ждет вашего ввода. Число вводимых данных по количеству и типу должно соответствовать списку переменных. Если список переменных содержит более одной переменной, действия пользователя зависят от типов, вводимых данных. Числовые значения разделяются нажатием Enter или пробелом, а в конце Enter. Если вводятся данные типа char – символы набирать следует подряд. Данные типа string разделяются пробелом. Оператор может и не иметь аргументов вовсе (readln()). Тогда все, что вы можете сделать, это нажать Enter.

Пример: READLN(r,l).Дословно, оператор интерпретируется так: “Читать в память компьютера, введенные с клавиатуры, переменные R и L”. Пусть в нашей программе R=5 и L=8.4. Тогда пользователь должен ввести 5 и 8.4 через пробел или Enter.

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

Оператор завершения используется для принудительного завершения программы/процедуры в любом ее месте.

ü EXIT

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

ü READKEY

Оператор очисткиосвобождает экран и устанавливает курсор в левый верхний угол.

ü CLRSCR

Этот оператор и оператор readkey находятся в библиотеке CRT Паскаля и, чтобы ими воспользоваться, следует ее подключить оператором USES CRT.

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

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

ü BEGIN...END

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

program Имя программы uses Подсоединение библиотек label Перечисление меток var Описание переменных; type Описание типов const Описание констант; begin Собственно программа end.
Запись операторов.Оператор может занимать любое количество строк и для переноса на другую строку не нужно никаких символов переноса. Все операторы Паскаля завершаются знаком “точка с запятой”. Однако после оператора begin и перед оператором end точку с запятой можно не ставить.

Структура программы на Паскале имеет две части: описательную (пункты

1,2,3) и вычислительную и состоит из следующих элементов (см. рисунок справа):

1. Задается имя программы (необязательно).

2. Присоединяются библиотеки Паскаля.

3. Описываются все участвующие метки, переменные, константы, типы и т.п.

4. Оператором Begin открывается вычислительная часть.

5. Внутри блока помещаются операторы собственно программы.

6. Оператором End (с точкой) завершается вся программа.

Теперь напишем простую программу вычисления площади круга S произвольного радиуса R по известной формуле S=πŸR2. Программу назовем KRUG. Переменные S и R обозначим как вещественные, поскольку они могут иметь дроб­ную часть. Ввод радиуса осуществляется оператором readln(r). Чтобы пользователь понимал, что именно он должен ввести, прежде оператором write(‘радиус=’) на экран выводится слово “радиус=”. В конце программы видим оператор readkey. Он нужен для удобства отладки. Встречая его, компьютер ожидает от пользователя нажатия любой клавиши. В это время он может без спешки осмотреть результаты счета. Если этого не сделать Паскаль сразу же вернет нас в окно редактирования и тогда окно выдачи придется вызывать клавишами Alt+F5, что неудобно. Остальное очевидно. Замечание. В текстах следующих примеров для компактности мы не будем больше вносить команду очистки экрана, оператор задержки readkey, и, в большинстве случаев, операторы-подсказки ввода, однако студент должен это делать.



<== предыдущая лекция | следующая лекция ==>
ГРАФИКА | ОРГАНИЗАЦИЯ ВЕТВЛЕНИЙ


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.314 сек.