Язык программирования высокого уровня Pascal ABC
Курсовая работа, 03 Марта 2015, автор: пользователь скрыл имя
Описание работы
Объектом исследования данной курсовой работы является язык программирования высокого уровня Pascal ABC. Язык программирования Паскаль (Pascal) является одним из первых языков, который отличался строгой типизацией и наличием средств структурного (процедурного) программирования. Этот язык представляет собой процедурный язык, включает в себя множество структур и конструкций наподобие if, then, while, еlsе и так далее.
Файлы: 1 файл
Курсовая.docx
— 4.29 Мб (Скачать файл)Синтаксис раздела операторов основной программы:
BEGIN
<оператор 1=""> { Операторы выполняются}
<оператор 2=""> { строго последовательно}
… {друг за другом.}
<оператор n="">
END.
Комментарий.
Это пояснительный текст, который можно записать в любом месте программы, где разрешен пробел. Текст комментария ограничен: слева - '{', справа - '}', и может содержать любые символы. Комментарий игнорируется транслятором, и на программу влияния не оказывает.
Пример использования комментария:
PROGRAM PR;
<разделы>
BEGIN
<оператор 1="">
<оператор 2="">
{< Оператор 3; >
…
<оператор n=""> }
END.
Средства комментария часто используются для отладки. Так в приведенном выше примере, операторы — 3,... N, заключенные в фигурные скобки, временно не выполняются.
Основным средством пунктуации является символ точка с запятой – ';'.
1. Точка с запятой не ставится после слов LABEL, TYPE, CONST, VAR, а ставится
после каждого описания этих разделов.
2. Точка с запятой не ставится после BEGIN и перед END, так как эти слова – операторные скобки.
3. Точка с запятой разделяет операторы, и ее отсутствие вызовет:
А := 333 {ошибка — нет ';'}
В := А/10;;;;; {четыре пустых оператора}
4. Возможна ситуация:
END; следует писать END
END; > END
END; END;
5. Допускается
запись метки на пустом
6. Точка с запятой не ставится после операторов WHILE, REPEAT, DO и перед UNTIL.
7. В условных операторах ';' не ставится после THEN и перед ELSE.
2 ОСНОВНАЯ ЧАСТЬ
2.1 Программирование с использованием встроенных функций ввода/вывода
Цель: Составить программу, которая переводит одни единицы измерения в другие. Исходные данные вводятся с клавиатуры, результаты выводятся на экран.
Задача 1. Перевести литры в кубические сантиметры.
Выполнение
- Разрабатываем алгоритм решения задачи
1. 1 литр равен 1000 кубических сантиметров. Для того чтобы перевести литры в кубические сантиметры, необходимо задать константу, которая будет хранить значение количества минут в одном кубическом сантиметре. Назовём её L_1cm.
2.Вводим две переменные: L – начальное значение, количество литров, которые необходимо перевести в кубические сантиметры; A – итоговое значение, количество кубических сантиметров, соответствующее введенным литрам.
3.Начальное значение L вводим с помощью оператора readln.
4.Выполняем расчёт по формуле:
, (1)
где
A - количество кубических сантиметров;
L - количество литров;
L_1cm – количество литров в одном кубическом сантиметре.
5.Выводим полученный результат на экран с помощью оператора writeln.
- Разрабатываем блок-схему решения задачи
Для решения задачи используется среда Pascal ABC.
- Программа имеет вид
program pd;
const L_1cm=1000;
var
L,A,cm:real;
begin
writeln('Введите количество литров');
readln(L);
A:=L_1cm*L;
writeln('Ответ ',A,' cm^3');
end.
Текстовый пример
- После щелчка по кнопке “Выполнить программу ” в среде PascalABC, появляется окно ввода, в которое вводится значение, соответствующее количеству литров, которые необходимо перевести в кубические сантиметры (рис.1):
Рисунок 1- Ввод количества литров.
- После щелчка по кнопке Enter появляется результат (рис.2):
Рисунок 2 – Вывод результата.
Цель: Составить программу реальной информатики, которая производить вычисления параметров реальных фигур и процессов. Исходные данные вводятся с клавиатуры, результаты выводятся на экран.
Задача 2. . Скорость света 299792 км/с. Какое расстояние проходит свет за один час, сутки?
Выполнение
- Разрабатываем алгоритм решения задачи
- Для того что бы вычислить скорость света в одном часе и в сутках необходимо знать сколько в одном часе секунд.
- Выводим переменную с_cv.
- Выполняем расчеты по формулам:
(2)
(3)
где c_cv_h - скорость света в часе;
с_сv - скорость света;
сh – 1 час в секундах;
с_cv_c – скорость света в сутках;
сt – в сутках 24 часа.
- Выводим полученный результат с помощью оператора writeln.
- Разрабатываем блок – схему решения задачи
Для решения задачи используется среда Pascal ABC.
- Программа имеет вид
program pd;
const
c_cv=299792;
ch=3600;
ct=24;
var
c_cv_h,c_cv_c:real;
begin
writeln(c_cv);
c_cv_h:=c_cv/ch;
c_cv_c:=c_cv_h*ct;
writeln('Скорость света ',c_cv_h,' в часе,' ,c_cv_c,' в сутках');
end.
Тестовый пример
- После щелчка по кнопке «Выполнить» в среде Pascal ABC, появляется окно ввода, и мы видим готовую задачу (рис. 3).
Рисунок 3 – Готовая задача.
- После щелчка по кнопке Enter появляется результат (рис. 4)
Рисунок 4 - Вывод скорости света в часах и сутках.
Программирование линейных и разветвляющихся вычислительных процессов
Цель: Вычислить значение выражения с учетом области допустимых значений.
Задача 3. Вычислить значение выражения.
Выполнение
- Разрабатываем алгоритм решения задачи
- Для того чтобы решить уравнение: вводим три переменных: M, х, у. Значения M, х, у вводим с помощью оператора readln.
- Выполняем расчет по формуле:
(4)
- Выводим полученный результат на экран с помощью оператора writeln в соответствующем формате.
- Разрабатываем блок - схему решения задачи
Для решения задачи используется среда Pascal ABC.
- Программа имеет вид
program reshenie;
var a,x,y,b,c,M:real;
begin
writeln('Введите M,x,y:' );
readln(M,x,y);
a:=sqrt(abs(M*Power(sin(x)/
b:=(3*x/5)*Power(ln(Power(y,-
c:=Power(M,-x);
if c<>0 then
if b>0 then
writeln (a+b*c)
else writeln(' Подлогарифмическое выражение <= 0 ')
end.
Тестовый пример
- После щелчка по кнопке «Выполнить программу» в среде PascalABC, появляется окно ввода, в которое вводятся значения M, x, y, (рис. 5):
Рисунок 5 – Ввод значений.
- После щелчка по кнопке Enter появляется результат (рис. 6):
Рисунок 6 –Вывод результата.
Программирование разветвляющихся вычислительных процессов с использованием операторов if-else и оператора выбора case
Цель: Вычислить значение функции.
Задача 4. Решить уравнение.
Выполнение
- Разрабатываем алгоритм решения задачи
- Вводим переменные: x, y. Значения x,y; вводим с помощью оператора readln.
- Выполняем расчет по формуле:
(5)
- Выводим полученный результат на экран с помощью оператора writeln в соответствующем формате.
- Разрабатываем блок - схему решения задачи
Для решения задачи используется среда Pascal ABC.
- Программа имеет вид
program sm;
var
x,g,y:real;
begin
writeln('Введите значения x,y');
readln(x,y);
if x*y<0 then g:=sqr(x+y)*ln(sqrt(ABS(x)))
else
if x*y=0 then g:=sqr(x)+sqr(y)-exp(2)
else
g:=sqr(x)+sqr(y)-sqrt(x*y);
writeln('g = ' , g:5:3);
end.
Тестовый пример
- После щелчка по кнопке «Выполнить программу» в среде PascalABC, появляется окно ввода, в которое вводятся значения x, y. (рис. 7):
.
Рисунок 7- Программа
- После щелчка по кнопке Enter появляется результат (рис. 8):
Рисунок 8 –Вывод результата.
Цель:. Выбор. Составить программу для решения задачи используя команду позволяющую выбор из списка предоставленных данных.
Задача 5. Ввести номер месяца. Вывести номер квартала.
Выполнение
- Разрабатываем алгоритм решения задачи
- Для того чтобы Ввести номер месяца. Вывести номер квартала.
- Вводим переменную : m . Значения m вводим с помощью оператора readln.
- Выводим полученный результат на экран с помощью оператора writeln в соответствующем формате.
- Разрабатываем блок - схему решения задачи
Для решения задачи используется среда Pascal ABC.
- Программа имеет вид
program mkv;
var m:integer;
kv:string;
begin
writeln ('Введите номер месяца');
readln(m);
case m of
1 : writeln ('1 квартал');
2 : writeln ('1 квартал');
3 : writeln ('1 квартал');
4 : writeln ('2 квартал');
5 : writeln ('2 квартал');
6 : writeln ('2 квартал');
7 : writeln ('3 квартал');
8 : writeln ('3 квартал');
9 : writeln ('3 квартал');
10 : writeln ('4 квартал');
11 : writeln ('4 квартал');
12 : writeln ('4 квартал');
else writeln('нет такого номера месяца');
end;
writeln(kv);
end.
Тестовый пример 1
- После щелчка по кнопке «Выполнить программу» в среде PascalABC, появляется окно ввода, в которое вводится значение m. (рис. 9):
Рисунок 9 – Программа.
- После щелчка по кнопке Enter появляется результат (рис. 10):