Язык программирования высокого уровня Pascal ABC
Курсовая работа, 03 Марта 2015, автор: пользователь скрыл имя
Описание работы
Объектом исследования данной курсовой работы является язык программирования высокого уровня Pascal ABC. Язык программирования Паскаль (Pascal) является одним из первых языков, который отличался строгой типизацией и наличием средств структурного (процедурного) программирования. Этот язык представляет собой процедурный язык, включает в себя множество структур и конструкций наподобие if, then, while, еlsе и так далее.
Файлы: 1 файл
Курсовая.docx
— 4.29 Мб (Скачать файл)Рисунок 10 –Вывод результата.
Тестовый пример 2
- После щелчка по кнопке «Выполнить программу» в среде PascalABC, появляется окно ввода, в которое вводится значение m. (рис. 11):
Рисунок 11 – Программа.
- После щелчка по кнопке Enter появляется результат (рис. 12):
Рисунок 12 –Вывод результата.
Программирование циклических вычислительных
процессов
Цель: Используя оператор цикла for построить таблицу соответствия между мерами.
Задача 6. Перевод значений с 1 страйк = 72.73 л = 1280.46 стопок.
Выполнение
- Разрабатываем алгоритм решения задачи
- Для того чтобы перевести 1 страйк = 72.73 л = 1280.46 стопок..
- Вводим 3-ри переменные: stopok – ввод шага, strike– начальное значение, k- количество строк в таблице.
- Значения вводим с помощью оператора readln.
- Выводим полученный результат на экран с помощью оператора writeln в соответствующем виде.
- Разрабатываем блок - схему решения задачи
Для решения задачи используется среда Pascal ABC.
- Программа имеет вид
program z6;
const
line = '----------------------';
var
strike, litri, stopok : real;
i, k: integer;
begin
write('Введите начальное значение, шаг изменения');
writeln(' и количество значений - строк в таблице ');
readln(strike, stopok, k);
writeln;
writeln(line);
writeln( 'Страйк литры');
writeln(line);
for i := 1 to k do
begin
litri := 72.73 * strike;
writeln(strike:5:2, ' ', litri: 10:4);
strike := strike + stopok ;
end;
writeln(line);
end.
Тестовый пример
- После щелчка по кнопке «Выполнить программу» в среде PascalABC, появляется окно ввода, в которое вводятся значения, соответствующие stopok – ввод шага, strike– начальное значение, k- количество строк в таблице. (рис. 13):
Рисунок 13 – Программа.
- После щелчка по кнопке Enter появляется результат (рис. 14):
Рисунок 14 –Вывод результата.
Цель: Используя оператор While вычисление бесконечных сумм.
Задача 7. Вычислить сумму последовательности аk = sin(x+1)/10k
Выполнение
- Разрабатываем алгоритм решения задачи
- Для того чтобы вычислить сумму последовательности
аk = sin(x+1)/10k, вводим константу e.
- Выводим полученный результат на экран с помощью оператора writeln в соответствующем виде.
- Разрабатываем блок - схему решения задачи
Для решения задачи используется среда Pascal ABC.
- Программа имеет вид
program Summaz;
const e = 0.001;
var
summa, x, a : real;
k : integer;
begin
writeln('Введите число x:');
readln(x);
summa := 0;
k := 1;
a := sin(x+1);
while abs(a) > e do
begin
summa := summa + a;
k := k + 1; {Вычисляем an+i}
a := exp(sin(x+1)) / (k*ln(10*k));
end;
writeln('Сумма =', summa:5:2);
writeln('Количество слагаемых =', k-1);
end.
Тестовый пример
- После щелчка по кнопке «Выполнить программу» в среде PascalABC, появляется окно ввода, в которое вводится значение х.(рис. 15):
Рисунок 15 – Программа.
- После щелчка по кнопке Enter появляется результат (рис. 16):
Рисунок 16 –Вывод результата
Цель: Используя оператор repeat для вычисления табулирования функции и поиска данных.
Задача 8. Вычислить сумму квадратов всех положительных значений функции у. Определить аргумент функции, при котором она принимает минимальное значение.
Выполнение
- Разрабатываем алгоритм решения задачи
- Для того чтобы Вычислить произведение всех значений функции у. определить , при каком значении х функция достигает минимального значения.
- Вводим переменую: i – ввод шага
- Значения вводим с помощью оператора readln.
- Выводим полученные результаты результат на экран с помощью оператора writeln в соответствующем формате.
- Разрабатываем блок - схему решения задачи
Для решения задачи используется среда Pascal ABC.
Программа имеет вид
program Tabulfuncii;
const i = 10;
var x, h, y, max, min , k, s : real;
begin
s:=0;
k:=0;
h:= 0.01*i;
x:= 0;
max:= sin(x+i);
min:= sin(x+i);
writeln (' х у');
repeat
y:= sin(x);
writeln(x:7:2, y:7:2);
if y > max then max:=y;
if y < min then min:=y;
x:= x + h;
until x > i + h/2;
writeln('max =', max:5:2, ' min =', min:5:2);
s:= s + sqr(max);
writeln(' Сумма квадратов положительных значений = ',s:5:2);
end.
Тестовый пример
- После щелчка по кнопке «Выполнить программу» в среде PascalABC, появляется окно вывода, где выводится итоговый результат (рис. 17):
Рисунок 17 – Программа.
2.5 Программирование циклических вычислительных процессов с использованием массивов и матриц
Цель: Провести указанные вычисления с одномерным массивом и произвести сложный поиск.
Задача 9. Максимальный элемент поменять местами со вторым.
Выполнение
- Разрабатываем алгоритм решения задачи
- Для того чтобы поменять элемент в массиве и вывести его индекс, находим мах элемент массива.
- Выводим полученный результат на экран с помощью оператора writeln в соответствующем формате итогового значения 2-х знаков после запятой.
- Разрабатываем блок - схему решения задачи
Для решения задачи используется среда Pascal ABC.
- Программа имеет вид
program DM;
var
y, g, a: array [1..10] of real;
k, n,i: integer;
max,f : real;
begin
n := 0;
for k := 1 to 10 do
begin
y[k] := ln(k) - 3;
if y[k] < 0 then
begin
n := n + 1;
g[n] := y[k];
end;
writeln('y(', k, ')= ', y[k]:7:2);
end;
begin
max := g[1];
k := 1;
for i := 2 to n do
if a[i] > max then
begin
max := g[i];
k := i;
end;
writeln ( 'max=',max:0:2);
{Перестановка второго
f := g[2];
g[2] := g[k];
g[k] := f;
{Вывод массива на экран }
for i := 1 to n do
writeln(g[i]:0:2, ' ');
writeln
end;
end.
Тестовый пример
- После щелчка по кнопке «Выполнить программу» в среде PascalABC появляется итоговый результат (рис. 18):
Рисунок 18 – Программа.
Цель: Провести указанные вычисления с двумерным массивом и организовать простой поиск.
Задача 10.Вычислить произведение тех элементов массива, для которых выполняется неравенство 2< aij<10.
Выполнение
- Разрабатываем алгоритм решения задачи
- Для того чтобы вычислить произведение тех элементов массива, для которых выполняется неравенство 2< aij<10, создаём генератор случайных чисел в интервале от - 20 до 20, двумерный массив (4 х 4).
- Выводим полученный результат на экран с помощью оператора writeln в соответствующем виде.
- Разрабатываем блок - схему решения задачи
Для решения задачи используется среда Pascal ABC.
- Программа имеет вид
program sd;
var
a:array[1..4,1..4] of real;
i,j:integer;
p:real;
begin
p:=1;
for i:=1 to 4 do begin
writeln;
for j:=1 to 4 do begin
a[i,j]:= random (40)-20;
write(a[i,j]:6:1,' ');
if (a[i, j] >2) and (a[i, j] <10) then begin
P:=p*a[i,j];
end; end; end;
writeln;
If p<>1 then writeln('Искомое произведение ',p:6:2)
else
writeln('Таких элементов нет');
end.
Тестовый пример
- После щелчка по кнопке «Выполнить программу» в среде PascalABC, появляется окно вывода, в котором появляются соответствующее элементы массива. (рис. 19):
Рисунок 19 – Программа.
Данные строкового типа
Цель: Выполнить заданные действия над переменными строкового типа, определить длину строки, произвести поиск по заданному условию.
Задача 11. Вывести имя в столбик.
Выполнение:
- Разрабатываем алгоритм решения задачи:
- Для того чтобы вывести имя в столбик используем оператор writeln.
- Выводим полученный результат на экран с помощью оператора writeln в соответствующем.
- Разрабатываем блок - схему решения задачи:
Для решения задачи используется среда Pascal ABC.
- Программа имеет вид
program St;
const rl : string = 'Корвякова Юлия Эдуардовна ';
var
i, k, m, nl,j, n2,kio : integer;
f: string;
begin
m := 0;
k := length(rl); {Определяем длину строки}
writeln('Длина строки k = ', k);
for i := 1 to k do {Перебираем все символы строки}
if rl[i] = ' ' then {и ищем пропуск}
begin
m := m + 1; {Определяем номер первого пропуска}
if m = 1 then nl := i;
if m = 2 then n2 := i{Определяем номер второго пропуска}
end;
for i := nl + 1 to n2 - 1 do writeln(rl[i]); {Выводим второе слово }
kio := 0;
for i := 1 to length(rl) do
if ((rl[i] = 'а') or (rl[i] = 'А')) then
kio :=kio + 1;
Writeln('1)Определить сколько букв «а» есть в строке: ', kio);
end.
Тестовый пример
- После щелчка по кнопке «Выполнить программу» в среде PascalABC, появляется окно ввода, в которое вводится значение, соответствующее количеству минут, которые необходимо перевести в часы (рис. 21):