Автор: Пользователь скрыл имя, 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
и значение функции