Автор работы: Пользователь скрыл имя, 16 Января 2014 в 09:00, контрольная работа
Формулировка задачи
Сколько оборотов совершит колесо радиусом А см, преодолевая путь N км. Значения А и N вводятся с клавиатуры в процессе работы программы. Результат вывести на экран в виде «Колесо совершит … оборотов»
Министерство образования и науки Российской Федерации
Российский государственный профессионально –
педагогический университет
Факультет информатики
Кафедра сетевых информационных систем
КОНТРОЛЬНАЯ РАБОТА
по дисциплине
«АЛГОРИТМИЧЕСКИЕ ЯЗЫКИ И СИСТЕМЫ ПРОГРАММИРОВАНИЯ»
Специальность 230400.62
Выполнил
Низамов Рустам Радикович
Проверил Преподаватель кафедры сетевых
информационных систем
____________________________
Екатеринбург 2011
Отчет
Задание 1.
Формулировка задачи
Сколько оборотов совершит колесо радиусом А см, преодолевая путь N км. Значения А и N вводятся с клавиатуры в процессе работы программы. Результат вывести на экран в виде «Колесо совершит … оборотов»
Рис. 1 блок схема к задаче №1.
Листинг программы
Program zd1;
Uses Crt;
Var
A,N,S: real;
Begin
ClrScr;
write('Введите радиус колеса в см = '); readln(A);
write('Введите прошедшее расстояние в км = ');readln(N);
S:=N*10000/(2*pi*A);
Writeln('Колесо совершило ', S:4:2, ' оборотов');
Readln;
End.
Задание 2.
Формулировка задачи
|
Даны x, y, z . Вычислить a, b, если: | |||
|
|
Рис. 2 блок схема к задаче №2.
Листинг программы
Program zd2;
Uses Crt;
Var
a,b,x,y,z: real;
Begin
ClrScr;
write('x= ');readln(x);
write('y=');readln(y);
write('z=');readln(z);
a:=(sqrt(abs(x-1))-sqrt(abs(y)
Writeln('a= ', a:4:2);
b:=x*(ArcTan(z)+exp(1));
Writeln('b= ', b:4:2);
Readln;
End.
Задание 3.
Формулировка задачи
Даны a и b. Если a и b попадают в область 3 < а < 10 и b < 0, то
вычислить значение y по формуле
y = а+ b2 – 4 ,
иначе
5, если x ≥ 2
y = x2 – 1, если x = 3
x + 2 , если x < 2
для произвольного x.
Рис. 3 блок схема к задаче №3.
Листинг программы
Program zd3;
Uses Crt;
Var
a,b,x,y: real;
Begin
ClrScr;
write('a= ');readln(a);
write('b= ');readln(b);
If (3<a) and (a<10) and (b<0) then
y:=a+b*b-4
else
begin
write('x=', x);
if x>=2 then
y:=5
else
if x=3 then
y:=x*x-1
else
y:=x+2;
end;
Writeln('y= ', y);
Readln;
End.
Задание 4.
Формулировка задачи
Дата задана в виде тройки целых чисел, задающих номер дня, месяца и года. Написать программу, которая выводит эту дату в виде «9 мая 1945 года».
Рис. 4 блок схема к задаче №4.
Листинг программы
Program zd4;
Uses Crt;
Var
d,m,y,n: Integer;
err:boolean;
Begin
err:=false; ;
write('Введите день = ');readln(d);
write('Введите месяц= ');readln(m);
write('Введите год= ');readln(y);
case m of
1:writeln(d,' января ', y ,' года');
2:writeln(d,' февраля ', y,' года');
3:writeln(d,' марта ', y,' года');
4:writeln(d,' апреля ', y,' года');
5:writeln(d,' мая ', y,' года');
6:writeln(d,' июня ', y,' года');
7:writeln(d,' июля ', y,' года');
8:writeln(d,' августа ', y,' года');
9:writeln(d,' сентября ', y,' года');
10:writeln(d,' октября ', y,' года');
11:writeln(d,' ноября ', y,' года');
12:writeln(d,' декабря ', y,' года');
else
err:=true;
end;
if err then
writeln('Пожалуйста, введите корректную дату! ',m);
read(m);
end.
Задание 5.
Формулировка задачи
Напечатать таблицу перевода температуры из градусов по шкале Цельсия (С) в градусы по шкале Фаренгейта (F) для значений от 15°С до 30°С с шагом 1°С (перевод осуществляется по формуле F=1,8C+32)
Рис. 5 блок схема к задаче №5.
Листинг программы
Program zd5;
Uses Crt;
Var
i:integer;
F:real;
Begin
for i:=15 to 30 do
begin
F:=0;
F:=1.8*i+32;
writeln(i, 'C = ',F,' F')
end;
Readln;
End.
Задание 6.
Формулировка задачи
Ежегодный прирост рыбы в пруду составляет 15%. Запасы рыбы оценены в А тонн. Ежегодный план отлова В тонн. Наименьший запас рыбы, ниже которого запас уже не восстанавливается, составляет С тонн. Составьте алгоритм и программу, подсчитывающую, сколько лет можно выдерживать заданный план?
Рис. 6 блок схема к задаче №6.
Листинг программы
Program zd6;
Uses Crt;
const k=1.15;
var a,b,c:real;
i:integer;
BEGIN
write('Введите запас A=');readln(a);
write('Введите план отлова B=');readln(b);
write('Введите наименьший запас C=');readln(c);
i:=0;
if b-(k-1)*a<=0.00001
then writeln('отлов не больше прироста')
else begin
while a>=c do
begin
if a>=b then inc(i,1);
a:=a*k-b;
end;
writeln('количество лет, в течении которых план будет выдержен',
i);
end;
readln;
END.
Задание 7.
Формулировка задачи
Составьте программу для определения N!-M!, где N! = 1*2*3*4*.........*n
Листинг программы
program zd7;
Uses Crt;
var
N,M:Word;
function
NfactMinusMfact(N,M:Word):
var
i:integer;
NdivM,Res:integer;
begin
if N<M then
NfactMinusMfact:=-
else begin
NdivM:=1;
for i := M+1 to N do
NdivM:=NdivM*i;
Res:=NdivM-1;
for i := 2 to M
do
Res:=Res*i;
NfactMinusMfact:=Res;
end;
end;
begin
Write('N=');ReadLn(N);
Write('M=');ReadLn(M);
WriteLn('N!-M!=',
ReadLn;
end.
Задание 8.
Формулировка задачи
Дана последовательность и eps>0. Найти первый член последовательности Аn, для которого |An-An+1| < eps.
Рис. 8 блок схема к задаче №8.
Листинг программы
Program zd8;
Uses Crt;
const
e=0.000001;
var
i:integer;
begin
i:=1;
repeat
inc(i);
until abs((1-1/i)-(1-1/(i+1)))<e;
write('Result A(',i,'):=',(1-1/i));
readln;
end.
Задание 9.
Формулировка задачи
Даны целочисленные массивы X и Y с разным количеством элементов. Найти разность между минимальными элементами этих массивов.
Рис. 9 блок схема к задаче №9.
Листинг программы
Program zd9;
Uses Crt;
var
x:array[1..100] of integer;
y:array[1..100] of integer;
xm,ym,i,min1,min2,s:integer;
begin
write('введите кол-во X массива =');
readln(xm);
write('введите кол-во Y массива =');
readln(ym);
randomize;
for i:=1 to xm do
x[i]:=random(20)+1-10;
for i:=1 to ym do
y[i]:=random(20)+1-10;
min1:=x[1];
min2:=y[1];
for i:=2 to xm do
if x[i]<min1 then
min1:=x[i];
for i:=2 to ym do
if y[i]<min2 then
min2:=y[i];
s:=min1-min2;
writeln('Разность между минимальными элементами этих массивов = ', s);
readln;
end.
Задание 10.
Формулировка задачи
Дан двумерный массив целых чисел из 4 столбцов и 3 строк. Найти сумму элементов стоящих до первого нуля. Просмотр вести по строкам. Заменить элементы, стоящие после последнего нуля на эту сумму. Вывести массив по строкам до и после замены.
Рис. 10 блок схема к задаче №10.
Листинг программы
Program zd10;
Uses Crt;
const n=3;
m=4;
var a:array[1..n,1..m] of integer;
i,j:integer;
i0,j0:integer;
sum:integer;
flag:boolean;
BEGIN
randomize;
for i:=1 to n do
for j:=1 to m do
a[i,j]:=trunc(-6+random*12);
writeln('Исходный массив:');
for i:=1 to n do
begin
for j:=1 to m do
write(a[i,j]:4);
writeln;
end;
i0:=n+1;
j0:=m+1;
flag:=false;
sum:=0;
for i:=1 to n do
for j:=1 to m do
if a[i,j]=0
then begin
if not(flag) then flag:=true;
i0:=i;
j0:=j;
end
else if not(flag) then inc(sum,a[i,j]);
for j:=j0+1 to m do a[i0,j]:=sum;
for i:=i0+1 to n do
for j:=1 to m do
a[i,j]:=sum;
if not flag then
writeln ('Нет элементов=0')
else
begin
writeln('Итоговый массив:');
for i:=1 to n do
begin
for j:=1 to m do
write(a[i,j]:4);
writeln;
end;
end;
readln;
END.
Задание 11.
Формулировка задачи
Дана матрица А(nxn). Написать программу нахождения минимального элемента из (max1, ...,maxn), где maxi - максимальный в i - той строке.
Листинг программы
Program zd11;
Uses crt;
const n=6;
var a:array[1..n,1..n] of integer;
i,j,max,min:integer;
begin
clrscr;
randomize;
writeln('Матрица:');
for i:=1 to n do
begin
for j:=1 to n do
begin
a[i,j]:=random(20);
write(a[i,j]:4);
end;
writeln;
end;
min:=maxint;
for i:=1 to n do
begin
max:=a[i,1];
for j:=2 to n do
if a[i,j]>max then max:=a[i,j];
writeln('Max в строке ',i,'=',max);
if max<min then min:=max;
end;
writeln;
write('Минимум из максимума =',min);
readln
end.
Информация о работе Контрольная работа по "Программированию и компьютерам"