Автор: Пользователь скрыл имя, 15 Декабря 2011 в 16:56, лабораторная работа
Задание: Составить блок-схему алгоритма и программу на языке Паскаль для вычисления значений функции y=f(x) при заданном значении x, которое вводится с клавиатуры.
Тема: 
Арифметические выражения. 
Задание: 
Составить блок-схему алгоритма и программу 
на языке Паскаль для вычисления значений 
функции  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(
clrscr;
writeln('y=',y:3:6);
readkey;
end. 
Результат:
 
Тема: 
Разветвляющиеся 
алгоритмы 
ЗАДАНИЕ №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*
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. 
Результат:
 
Тема: 
Циклические  алгоритмы 
Задание.
Составить схему алгоритма и программу а языке Паскаль для вычисления значений функции y=f(x) в точках от до c шагом . При выполнении задания использовать операторы цикла с постусловием, с предусловием и оператор цикла с параметром.
Результаты 
вычислений оформить в виде таблицы, 
используя символы 
| 12 | x1 
  = 3;   xn = 6; Δx = 0,3; a = 1,9; b = 1,1 | 
Решение:
 
Текст программы:
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. 
 
Текст программы:
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. 
 
Текст программы:
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.
 
Результат 
 
 
Тема: 
Двумерные массивы. 
Вариант № 12
Задан двумерный массив Yij из 3-х строк 
и 7-и столбцов. Составить программу, которая 
вычисляет S=Y17+Y26+Y35 
  и значение функции