Арифметические выражения

Автор: Пользователь скрыл имя, 15 Декабря 2011 в 16:56, лабораторная работа

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

Задание: Составить блок-схему алгоритма и программу на языке Паскаль для вычисления значений функции y=f(x) при заданном значении x, которое вводится с клавиатуры.

Работа содержит 1 файл

Otchet.docx

— 282.01 Кб (Скачать)

Вариант№12

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

Тема: Арифметические выражения. 

Задание: Составить блок-схему алгоритма и программу на языке Паскаль для вычисления значений функции y=f(x) при заданном значении x, которое вводится с клавиатуры. 

12
 

Решение:

Блок-схема решения  задачи 

 
 
 
 
 
 
 
 
 

 

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

uses crt;

var a,b,c,x,y:real;

begin

clrscr;

writeln('vvedite a:');

readln(a);

writeln('vvedite b:');

readln(b);

writeln('vvedite c:');

readln(c);

writeln('vvedite x:');

readln(x);

y:=sin(sqr(exp(x)+a*x*x+b*ln(x)))/(a*x*x+c*x+13.7);

clrscr;

writeln('y=',y:3:6);

readkey;

end. 

Результат:

 

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

Тема: Разветвляющиеся  алгоритмы 

ЗАДАНИЕ №1 (ветвление с двумя альтернативами).

Задание: Составить схему алгоритма и программу на языке Паскаль для вычисления значений функции y = f(x) при произвольных значениях x. Получить результат работы программы для двух заданных значениях x.  

12
 

Решение: 

Блок-схема: 

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

uses crt;

var a,b,x,y:real;

begin

clrscr;

writeln('vvedite a:');

readln(a);

writeln('vvedite b:');

readln(b);

writeln('vvedite x:');

readln(x);

clrscr;

if x<=1 then

            begin

            y:=2*x*x+a*cos(b*x);

            writeln('x<=1, y=',y:3:3);

            end

        else

            begin

            y:=exp(x)+sin(x*x*x)/cos(x*x*x);

            writeln('x>1, y=',y:3:3);

            end;

readkey;

end. 

Результат:

 

ЗАДАНИЕ №2 (вложенные ветвления) 

Задание. Составить схему алгоритма и два варианта программы на языке Паскаль для вычисления значений функции y=f(x) при произвольных значениях x. 

12
 

Решение:

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

uses crt;

var a,b,x,y:real;

begin

clrscr;

a:=2.1;

b:=0.7;

writeln('vvedite x:');

readln(x);

if x>0 then y:=sqrt(1+exp(a*x))

       else if x<=-2 then y:=cos(b*x*x)+0.5*x

                     else y:=1/(1+a*abs(x));

writeln('pri x=', x:3:2,' y=', y:3:3);

readkey;

end. 

Результат:

 

ЗАДАНИЕ №3: (оператор выбора) 

Задание. Составить схему алгоритма и программу на языке Турбо Паскаль для вычисления значений функции y=f(x) при произвольных значениях x. 

12 a=2,1

b=0,7

x=-2; 0; 1; 2

 

Решение:

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

uses crt;

var a,b,y:real;

    x:integer;

begin

clrscr;

a:=2.1;

b:=0.7;

writeln('vvedite x:');

readln(x);

case x of

0: y:=1/(1+a*abs(x));

-2: y:=cos(b*x*x)+0.5*x;

1: y:=sqrt(1+exp(a*x));

else

    begin

    writeln('znachenie x zadano ne verno');

    readkey;

    exit;

    end;

end;

writeln('pri x=',x,' zna4enie y=',y:5:2);

readkey;

end. 

Результат:

 

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

Тема: Циклические  алгоритмы 

 Задание.

Составить схему алгоритма и программу  а языке Паскаль для вычисления значений функции  y=f(x)  в точках от до  c шагом . При выполнении задания использовать операторы цикла с постусловием, с предусловием и оператор цикла с параметром.

Результаты  вычислений оформить в виде таблицы, используя символы псевдографики. Коды символов приведены в таблице. Для вставки нужного символа  в текст программы держите нажатой клавишу ALT при наборе кода. Код набирать на ЦИФРОВОЙ КЛАВИАТУРЕ. 

12
x1 = 3;   xn = 6;

Δx = 0,3;

a = 1,9;

b = 1,1

 

Решение:

  1. While
 

 

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

var x,y,x1,xn,dx:real;

begin

write(‘Введите начальное, конечное и шаг=’);

readln(x1,xn,dx);

x:=x1;

writeln('   Таблица');

writeln('┌─────┬─────┐');

writeln('│ X  │ Y  │');

while x<(xn+dx) do

begin

y:= a*ln(x/(b*x*x+2));

writeln('├─────┼─────┤');

writeln('│',x:5:2,'│',y:5:2,'│'

x:=x+dx;

end;

writeln('└─────┴─────┘');

readln;

end. 

  1. For
 
 
 
 
 
 
 

 

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

var x,y,x1,xn,dx:real;

    k,n:integer;

begin

write(‘Введите начальное, конечное и шаг=’);

readln(x1,xn,dx);

n:=Trunc((xn-x1)/dx)+1;

writeln('   Таблица');

writeln('┌─────┬─────┐');

writeln('│ X  │ Y  │');

for k:=1 to n do

begin

x:=x1+(k-1)*dx;

y:= a*ln(x/(b*x*x+2));

writeln('├─────┼─────┤');

writeln('│',x:5:2,'│',y:5:2,'│');

end;

writeln('└─────┴─────┘');

readln;

end. 

  1. Repeat
 

 

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

var x,y,x1,xn,dx:real;

    k,n:integer;

begin

write(‘Введите начальное, конечное и шаг=’);

readln(x1,xn,dx);

x:=x1;

writeln('   Таблица');

writeln('┌─────┬─────┐');

writeln('│ X  │ Y  │');

repeat

y:= a*ln(x/(b*x*x+2));

writeln('├─────┼─────┤');

writeln('│',x:5:2,'│',y:5:2,'│');

x:=x+dx;

until x>xn+dx/2;

writeln('└─────┴─────┘');

readln;

end.

Результат:

 

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

Тема: Одномерные массивы. 

Вариант № 12.

При поступлении  в вуз абитуриенты, получившие «двойку» на первом экзамене, ко второму не допускаются. В массиве A[n] записаны оценки экзаменующихся, полученные на первом экзамене. Подсчитать, сколько человек не допущено ко второму экзамену. 

Решение.  

Блок-схема  решения задачи 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 
 

 

 

 
 

 
 
 
 
 
 

 

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

uses crt;

var i,k:integer;

    a:array[1..10] of integer;

begin

clrscr;

i:=1;

k:=0;

for i:=1 to 10 do

               begin

               writeln ('vvedite ocenku ',i,'-go abiturienta:');

               readln (a[i]);

               end;

clrscr;

for i:=1 to 10 do

               begin

               if a[i]=2 then k:=k+1;

               end;

writeln('v vuz ne postupilo ',k,' chelovek(a)');

readkey;

end.

 

Результат 

 

 

Лабораторная  работа № 5

Тема: Двумерные массивы. 

Вариант № 12

    Задан двумерный массив Yij из 3-х строк и 7-и столбцов. Составить программу, которая вычисляет S=Y17+Y26+Y35   и значение функции 
     
     

Информация о работе Арифметические выражения