Смекни!
smekni.com

Алгоритмизация и программирование на языке Паскаль (стр. 1 из 2)

Федеральное агентство по образованию

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

Омский государственный технический университет

Кафедра: «Средства связи и информационная безопасность»

Курсовая работа

по дисциплине «Информатика»

тема:

Алгоритмизация и программирование на языке Паскаль

Выполнил студент:

Кузюков Виктор Васильевич

Группа: ЗРП-118 (210402)

Вариант: № 8

Омск 2009 г.


Содержание

Лабораторная работа 1 «Программирование формул; операторы ввода и вывода» (Read, Write)

Лабораторная работа 2 «Условный оператор» (If..then..else)

Лабораторная работа 3 «Цикл с предусловием» (While..do)

Лабораторная работа 4 «Цикл с постусловием» (Repeat..until)

Лабораторная работа 5.1 «Цикл с заданным числом повторений» (For..to..do)

Лабораторная работа 5.2 «Цикл с заданным числом повторений» (For..to..do)

Лабораторная работа 10 «Графические средства» (модуль - Graph)

Список используемой литературы


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

Программирование формул; операторы ввода и вывода (Read, Write)

Лабораторное задание

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


Алгоритм выполнения:


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

Programlab1v8;

Uses

Crt ;

Label

1,2 ;

const

a = 1.1;

b = 4;

var

y,x: Real;

ch: Char;

begin

1:

clrscr;

textcolor (11);

Writeln (' ПРОГРАММИРОВАНИЕ ФОРМУЛ; ОПЕРАТОРЫ ВВОДА И ВЫВОДА');

Writeln ;

Writeln (' Лабораторная работа № 1, 8-ой вариант');

Writeln (' Дано:');

Writeln (' Константыa=1.1 иb=4');

Writeln (' Переменные x, которые надо ввести с клавиатуры = -3 и 3');

Writeln ;

Writeln (' При -3 y=1.31; 3 y=2.87');

Writeln (' Вычисленение производится по формуле:');

Writeln ;

Writeln (' ln(|x+a|)*b');

Writeln (' y = -----------');

Writeln (' √a^b-sin(b)');

Writeln ;

textcolor (LightGreen);

Write ('Введитезначение x: ');

Read (x);

{-= вычисляемформулу =-}

y:= ln(abs(x+a))*b/(sqrt(exp(b*ln(a)))-sin(b));

{Выводим полученный результат}

Writeln ;

textcolor (Yellow);

WriteLn ('Результат вычисления y =',y:6:2);

Writeln ;

textcolor (LightRed);

Writeln(' для завершения нажмите "Esc", для повтора любую клавишу');

Writeln ;

textcolor (White);

Ch := ReadKey;

If Ch=#27 Then goto 2;

goto 1;

2:

Writeln ('До свидания');

Writeln ('Работу выполнил:');

Writeln ('К.Виктор гр. ЗРП-118 (210402) 2009г.');

end.

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

Условный оператор (If..then..else)

Лабораторное задание

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


Алгоритм выполнения:

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

Program lab2v8;

Uses Crt ;

Label 1,2 ;

Var y,x: Real; ch: Char;

begin

1:

clrscr;

textcolor (11);

Writeln (' УСЛОВНЫЙОПЕРАТОР');

Writeln ;

Writeln (' Лабораторная работа № 2, 8-ой вариант');

Writeln (' Дано:');

Writeln (' Дана система уравнений для вычисления значения y');

Writeln (' при котором x требуется ввести с клавиатуры.');

Writeln ;

Writeln (' Диапазон, при которых значение x подходит к решению,');

Writeln (' должно контролироваться программой.');

Writeln (' /');

Writeln (' | x*(3-x) , -1<= x <0');

Writeln (' y = < 1 , 0<= x <1');

Writeln (' | tg(2x) , 1<= x <=2');

Writeln (' &bsol;');

Writeln (' Производя проверку, в значении tg(2x) - х является ГРАДУСОМ!');

Writeln ;

textcolor (LightGreen);

Write ('Введитезначение x: ');

Read (x);

{-= делаем проверку и вычисления =-}

if ((x<-1) or (x>2)) then Writeln ('Введённое значение выходит за пределы')

else

Begin

if x<0 then y := x*(3-x)

else if x<1 then y := 1

else y := (sin(2*x*Pi/180)/cos(2*x*Pi/180));

{Выводим полученный результат }

Writeln ;

textcolor (Yellow);

WriteLn ('Результат вычисления y =',y:7:3);

End;

Writeln ;

textcolor (LightRed);

Writeln(' для завершения нажмите "Esc", для повтора любую клавишу');

Writeln ;

textcolor (White);

Ch := ReadKey;

If Ch=#27 Then goto 2;

goto 1;

2:

Writeln ('До свидания.');

Writeln ('Работу выполнил:');

Writeln ('К.Виктор гр. ЗРП-118 (210402) 2009г.');

end.

Лабораторная работа 3

«Цикл с предусловием» (While..do)

Лабораторное задание

Написать алгоритм и программу вычисления у(х) или z(t) из лабораторной работы № 1 для заданных значений диапазона и шага аргументов z, t, таблица 5. Первое значение вычисляется в крайней левой точке заданного диапазона значений аргументов х. Произвести тестирование программы.



Алгоритм выполнения:

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

Program lab3v8;

Uses

Crt ;

Label

1,2 ;

const

a = 1.1;

b = 4;

dx = 0.5;

var

y,x: Real;

ch: Char;

begin

1:

clrscr;

textcolor (11);

Writeln (' ЦИКЛ С ПРЕДУСЛОВИЕМ');

Writeln ;

Writeln (' Лабораторная работа № 3, 8-ой вариант');

Writeln (' Дано:');

Writeln (' Константыa=1.1; b=4');

Writeln ;

Writeln (' Изменение x происходит от -3 до 3 с шагом 0,5');

Writeln (' Вычисленение производится по формуле:');

Writeln ;

Writeln (' ln(|x+a|)*b');

Writeln (' y = -----------');

Writeln (' √a^b-sin(b)');

Writeln ;

textcolor (LightGreen);

Writeln ('Дляпродолжениянажмите "Enter"');

Ch := ReadKey;

If Ch<>#13 Then goto 1;

clrscr;

Writeln (' Вычисленение производится по формуле:');

Writeln ;

Writeln (' ln(|x+a|)*b');

Writeln (' y = ----------- ; a=1.1, b=4' );

Writeln (' √a^b-sin(b)');

Writeln ;

{-= вычисляем формулу в цикле =-}

x := -3;

While (x<=3) do

Begin

y:= ln(abs(x+a))*b/(sqrt(exp(b*ln(a)))-sin(b));

{Выводим полученный результат}

textcolor (Yellow);

WriteLn ('Результат вычисления y =',y:6:2, ' при x = ', x:6:2);

x := x+dx;

End;

Writeln ;

textcolor (LightRed);

Writeln(' для завершения нажмите "Esc", для повтора любую клавишу');

Writeln ;

textcolor (White);

Ch := ReadKey;

If Ch=#27 Then goto 2;

goto 1;

2:

Writeln ('До свидания.');

Writeln ('Работу выполнил:');

Writeln ('К.Виктор гр. ЗРП-118 (210402) 2009г.');

end.

алгоритм программа формула тестирование

Лабораторная работа 4

«Цикл с постусловием» (Repeat..until)

Лабораторное задание

Задание 1. Написать алгоритм и программу вычисления функции у(х) из лабораторной работы №2 в N равномерно распределенных в диапазоне Х1<х<Х2 точках, таблица 6. Результаты сформировать в виде таблицы. Произвести тестирование.

Задание 2. Произвести пошаговое выполнение программы, наблюдая переменные х, у, n


Алгоритм выполнения:


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

Programlab4v8;

Uses

Crt ;

Label

1,2 ;

Const

X1=-1; X2=2; N=11;

var

y,x,dx: Real;

i: Integer;

ch: Char;

vr: Byte;

begin

1:

clrscr;

textcolor (11);

Writeln (' ЦИКЛ С ПОСТУСЛОВИЕМ');

Writeln ;

Writeln (' Лабораторная работа № 4, 8-ой вариант');

Writeln (' Дано:');

Writeln (' Дана система уравнеий для вычисления значения y,');

Writeln (' /');

Writeln (' | x*(3-x) , -1<= x <0');

Writeln (' y = < 1 , 0<= x <1');

Writeln (' | tg(2x) , 1<= x <=2');

Writeln (' &bsol;');

Writeln (' При выводе значении tg(2x) - х является ГРАДУСОМ!');

Writeln ;

Writeln (' Значениеx = [-1;2].');

Writeln (' Из диапазона x выбирается 10 значений, которые');

Writeln (' атоматически вычисляются, разбив промежуток на равные части.');

Writeln ;

textcolor (LightGreen);

Writeln ('Выберите вариант вывода значений:');

Writeln (' 1 - вывод всех значений');

Writeln (' 2 - пошаговый режим');

Writeln ('(нажмите соотв. цифру на клавиатуре)');

{Проверяем выбораный режим 49="1", 50="2"}

Ch := ReadKey;

If Ch=#49 then vr:=10

else if Ch=#50 then vr := 1

elsegoto 1;

clrscr ;

Writeln (' Cистема уравнеий для вычисления значения y,');

Writeln (' /');

Writeln (' | x*(3-x) , -1<= x <0');

Writeln (' y = < 1 , 0<= x <1');

Writeln (' | tg(2x) , 1<= x <=2');

Writeln (' &bsol;');

if vr = 1 then

begin

textcolor (LightRed);

Writeln(' для завершения нажмите "Esc", для продолжения любую клавишу');

Writeln ;

textcolor (LightGreen);

end

else Writeln ;

{-= выводим в табличном значении =-}

Writeln (' ==================');

Writeln (' = n = x = y =');

Writeln (' ==================');

dx := (X2-X1)/(N-1);

x := X1;

i := 1;

Repeat

{ на всякий случай пусть проверяет ;) }

if ((x<-1) or (x>2)) thenWriteln ('Значение вышло за пределы - ГЛЮК 8)')

else

Begin

if x<0 then y := x*(3-x)

else if x<1 then y := 1

else y := (sin(2*x*Pi/180)/cos(2*x*Pi/180));

Writeln (' =',i:3,'=',x:7:2,'=',y:7:2,'=');

x := x+dx;

i := i+1;

{проверка для пошагового режима}

if vr < 10 then

begin

Ch := ReadKey;

If Ch=#27 then goto 2;

end;

End

Until x>2;

Writeln (' ================== ');

Writeln ;

textcolor (LightRed);

Writeln(' для завершения нажмите "Esc", для повтора любую клавишу');

Writeln ;

textcolor (White);

Ch := ReadKey;

If Ch=#27 then goto 2;

goto 1;

2:

Writeln ('До свидания.');

Writeln ('Работу выполнил:');

Writeln ('К.Виктор гр. ЗРП-118 (210402) 2009г.');

end


Лабораторная работа 5.1

«Цикл с заданным числом повторений» (For..to..do)

Лабораторное задание

Задание 1. Изменить алгоритм и программу из лабораторной работы 4, используя вместо цикла с постусловием счетный цикл.