Язык программирования высокого уровня Pascal ABC

Автор работы: Пользователь скрыл имя, 03 Марта 2015 в 12:13, курсовая работа

Описание работы

Объектом исследования данной курсовой работы является язык программирования высокого уровня Pascal ABC. Язык программирования Паскаль (Pascal) является одним из первых языков, который отличался строгой типизацией и наличием средств структурного (процедурного) программирования. Этот язык представляет собой процедурный язык, включает в себя множество структур и конструкций наподобие if, then, while, еlsе и так далее.

Файлы: 1 файл

Курсовая.docx

— 4.29 Мб (Скачать файл)

Рисунок 10 –Вывод результата.

Тестовый пример 2

  1. После щелчка по кнопке «Выполнить программу» в среде PascalABC, появляется окно ввода, в которое вводится значение m. (рис. 11):

Рисунок 11 – Программа.

  1. После щелчка по кнопке Enter появляется результат (рис. 12):

Рисунок 12 –Вывод результата.

 

    1. Программирование циклических вычислительных  
      процессов

Цель: Используя оператор цикла for построить таблицу соответствия между мерами.

Задача 6. Перевод значений с 1 страйк = 72.73 л = 1280.46 стопок.

Выполнение

  1. Разрабатываем алгоритм решения задачи
  1. Для того чтобы перевести 1 страйк = 72.73 л = 1280.46 стопок..
  1. Вводим 3-ри переменные: stopok – ввод шага, strike– начальное значение, k- количество строк в таблице.
  2. Значения вводим с помощью оператора readln.
  3. Выводим полученный результат на экран с помощью оператора writeln в соответствующем виде.
  1. Разрабатываем блок - схему решения задачи

Для решения задачи используется среда Pascal ABC.

  1. Программа имеет вид

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.

Тестовый пример

  1. После щелчка по кнопке «Выполнить программу» в среде PascalABC, появляется окно ввода, в которое вводятся значения, соответствующие stopok – ввод шага, strike– начальное значение, k- количество строк в таблице. (рис. 13):

Рисунок 13 – Программа.

 

  1. После щелчка по кнопке Enter появляется результат (рис. 14):

Рисунок 14 –Вывод результата.

 

Цель: Используя оператор While   вычисление бесконечных сумм.

Задача 7. Вычислить сумму последовательности аk = sin(x+1)/10k

Выполнение

  1. Разрабатываем алгоритм решения задачи
  1. Для того чтобы вычислить сумму последовательности  
    аk = sin(x+1)/10k, вводим константу e.
  1. Выводим полученный результат на экран с помощью оператора writeln в соответствующем виде.
  1. Разрабатываем блок - схему решения задачи

Для решения задачи используется среда Pascal ABC.

  1. Программа имеет вид

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.

Тестовый пример

  1. После щелчка по кнопке «Выполнить программу» в среде PascalABC, появляется окно ввода, в которое вводится значение х.(рис. 15):

Рисунок 15 – Программа.

  1. После щелчка по кнопке Enter появляется результат (рис. 16):

Рисунок 16 –Вывод результата

Цель: Используя оператор repeat для вычисления табулирования функции и поиска данных.

Задача 8. Вычислить сумму квадратов всех положительных значений функции у. Определить аргумент функции, при котором она принимает минимальное значение.

Выполнение

  1. Разрабатываем алгоритм решения задачи
  1. Для того чтобы Вычислить произведение всех значений функции у. определить , при каком значении х функция достигает минимального значения.
  1. Вводим переменую: i – ввод шага
  2. Значения вводим с помощью оператора readln.
  3. Выводим полученные результаты результат на экран с помощью оператора writeln в соответствующем формате.
  1. Разрабатываем блок - схему решения задачи

Для решения задачи используется среда 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.

Тестовый пример

  1. После щелчка по кнопке «Выполнить программу» в среде PascalABC, появляется окно вывода, где выводится итоговый результат (рис. 17):

 

Рисунок 17 – Программа.

 

2.5 Программирование циклических вычислительных процессов с использованием массивов и матриц

Цель: Провести указанные вычисления с одномерным массивом и произвести сложный поиск.

Задача 9. Максимальный элемент поменять местами со вторым.

Выполнение

  1. Разрабатываем алгоритм решения задачи
  1. Для того чтобы поменять элемент в массиве и вывести его индекс, находим мах элемент массива.
  1. Выводим полученный результат на экран с помощью оператора writeln в соответствующем формате итогового значения 2-х знаков после запятой.
  1. Разрабатываем блок - схему решения задачи

Для решения задачи используется среда Pascal ABC.

  1. Программа имеет вид

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.

Тестовый пример

  1. После щелчка по кнопке «Выполнить программу» в среде PascalABC появляется итоговый результат (рис. 18):

Рисунок 18 – Программа.

 

Цель: Провести указанные вычисления с двумерным массивом и организовать  простой поиск.

Задача 10.Вычислить произведение тех элементов массива, для которых выполняется неравенство 2< aij<10.

Выполнение

  1. Разрабатываем алгоритм решения задачи
  1. Для того чтобы вычислить произведение тех элементов массива, для которых выполняется неравенство 2< aij<10, создаём генератор случайных чисел в интервале от - 20 до 20, двумерный массив (4 х 4).
  1. Выводим полученный результат на экран с помощью оператора writeln в соответствующем виде.
  1. Разрабатываем блок - схему решения задачи

Для решения задачи используется среда Pascal ABC.

 

  1. Программа имеет вид

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.

Тестовый пример

  1. После щелчка по кнопке «Выполнить программу» в среде PascalABC, появляется окно вывода, в котором появляются соответствующее элементы массива. (рис. 19):

Рисунок 19 – Программа.

 

    1. Данные строкового типа

Цель: Выполнить заданные действия  над переменными строкового типа, определить длину строки, произвести поиск по заданному условию.

Задача 11. Вывести имя в столбик.

Выполнение:

  1. Разрабатываем алгоритм решения задачи:
  1. Для того чтобы вывести имя в столбик используем оператор writeln.
  1. Выводим полученный результат на экран с помощью оператора writeln в соответствующем.
  1. Разрабатываем блок - схему решения задачи:

Для решения задачи используется среда Pascal ABC.

 

  1. Программа имеет вид

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.

Тестовый пример

  1. После щелчка по кнопке «Выполнить программу» в среде PascalABC, появляется окно ввода, в которое вводится значение, соответствующее количеству минут, которые необходимо перевести в часы (рис. 21):

Информация о работе Язык программирования высокого уровня Pascal ABC