РАСЧЕТНО-ГРАФИЧЕСКАЯ РАБОТА №3
По дисциплине: Иформатика
Вариант № 4
Использование возможностей программирования
для решения вычислительных задач
Выполнил:ст.группы БИ-11-2
Жигальцова Е.А.
Проверил: Доцент
Имангалиев Ш.И.
Алматы 2011
3.1.1Используя известные базовые алгоритмические структуры и методики перевода чисел из одной системы счисления в другую, составить программу для выполнения задания 2.1.1.
Задание состоит из 3-ёх частей. Первая часть это перевод из одной системы счисления в другую. Второе перевод числа в римскую систему. И третье обычная линейная функция.
1.
program z1;
const zn:string[8]='01234567';
var n:longint; s:string;
begin
write(введите десятичное число= ');
readln(n);
s:='';
while n>0 do
begin
s:=zn[n mod 8+1]+s;
n:=n div 8;
end;
writeln(восьмеричная= ',s);
readln
end.
2.
Program z1;
uses crt;
var
a,b:integer;
d:string[45];
begin
clrscr;
writeln('vvedite chislo ');
write('a=');
readln(a);
write(a);
b:=a mod 10;
a:=a div 10;
case b of
0: d:='';
1: d:='I';
2: d:='II';
3: d:='III';
4: d:='IV';
5: d:='V';
6: d:='VI';
7: d:='VII';
8: d:='VIII';
9: d:='IX';
end;
b:=a mod 10;
a:=a div 10;
case b of
0: d:=''+d;
1: d:='X'+d;
2: d:='XX'+d;
3: d:='XXX'+d;
4: d:='XL'+d;
5: d:='L'+d;
6: d:='LX'+d;
7: d:='LXX'+d;
8: d:='LXXX'+d;
9: d:='XC'+d;
end;
b:=a mod 10;
a:= a div 10;
case b of
0: d:=''+d;
1: d:='C'+d;
2: d:='CC'+d;
3: d:='CCC'+d;
4: d:='CD'+d;
5: d:='D'+d;
6: d:='DC'+d;
7: d:='DCC'+d;
8: d:='DCCC'+d;
9: d:='CM'+d;
end;
b:=a mod 10;
case b of
0: d:=''+d;
1: d:='M'+d;
2: d:='MM'+d;
end;
writeln(' =rimskoe ',d);
readkey;
end.
3.
program z1;
const a=585; b=13;
var s:real;
begin
s:=a/b;
writeln('s=',s);
readln
end.
3.1.2 Используя известные алгоритмические структуры выполнить задание 2.1.3. Вывести на экран данные, иллюстрирущие изменение уровня в резервуаре.
Program z2;
label m1;
const Vr=150;a=5;b=5;
var
h,v:real;
begin
m1: write ('h=');
readln (h);
v:=a*b*h;
if v<vr then
begin
writeln ('v= ', v:5:3, 'не требуется);
goto m1;
end
else
writeln ('v= ',v:5:3,
ПЕРЕКРЫТЬ КРАН!!!');
readln;
end.
3.1.3 Вычислить значения функции f(x) в интервале изменения аргумента [a,b] с заданным шагом H и вывести их на экран. Над полученными результатами выполнить требуемые действия. При решении задачи использовать тот вид оператора цикла, который указан для выбранного варианта.
Program z3;
uses crt;
var
y:array [1..8] of real;
x,i:integer; max,sum:real;
begin
clrscr;
writeln ('eta programma naxodit summy otritsatelnix znacteniy [-6;2]');
sum:=0; max:=y[1];
for x:=-6 to 2 do
begin
for i:=1 to 3 do
y[i]:=x-0.5;
writeln (y[i]:5:3);
if y[i] <0 then
sum:=sum+y[i];
if y[i]>max then
max:=y[i];
end;
writeln ('summa otritsatelnix znacheniy = ', sum:5:3,'maximalniy element = ',max:5:3);
readln;
end.
3.1.4 Используя известные базовые и дополнительные алгебраически структуры, решить предложенную задачу:
Program z4;
var t:integer;
pt,p,e:real;
begin
p:=912;
e:=1.8-0.001*p;
t:=290;
while t<=330 do
begin
pt:=p-e*(t-293);
writeln ('t= ',t,' pt= ',pt:5:3);
t:=t+2;
end;
end.
3.1.5 Составить программу для выполнения задания 2.1.7.Предусмотреть возможность выбора из основного меню программы одного из пунктов задания 2.1.7(задача а,б или в).
program z5;
const d=210.6; srv=6.3; p=0.95; m=2.1;
var s, V, d1, d2, Re: real;
begin
V:=srv*s;
d1:=sqrt(srv/1.3)*d;
d2:=sqrt((6000*4)/3.14);
Re:=d*srv*p/m;
if Re<=2100 then writeln('laminarnii');
if Re>1000 then writeln('turbulentnii')
else writeln('neizvestnii');
readln
end.
3.1.6 Cоставить программу для выполнения задания 2.1.8. Предусмотреть возможность форматного вывода результатов на экран.
program z6;
const lk=0.00385; r0=70; ht=2; hr=10; t1=70; t2=120; rt1=80; rt2=140;
type m=array[1..1000] of real;
var r,te:m;t,rt:integer;
begin
for t:=t1 div ht to t2 div ht do
begin
r[t]:=r0*(1+lk*t*ht);
end;
for t:=t1 div ht to t2 div ht do
begin
writeln('r[t] = ',r[t]:7:3, ' t = ',t*ht:3);
end;
for rt:=rt1 div hr to rt2 div hr do
begin
te[rt]:=((rt*hr/r0)-1)/lk;
end;
for rt:=rt1 div hr to rt2 div hr do
begin
writeln('t = ',te[rt]:7:3, ' r = ',rt*hr:3);
end;
readln
end.
3.1.7. Даны векторы a и b. Найти длины этих векторов, их скалярное произведение, а также косинус угла между ними.
program z7;
label m1;
var h,punkt,x1,y1,z1,x2,y2,z2:integer; da,db:real; sp:integer; cos:real;
begin
writeln('vvedite x1'); readln(x1);
writeln('vvedite y1'); readln(y1);
writeln('vvedite z1'); readln(z1);
writeln('vvedite x2'); readln(x2);
writeln('vvedite y2'); readln(y2);
writeln('vvedite z2'); readln(z2);
writeln ('vvedite punkr');
m1:writeln ('1 --------- длина векторов');
writeln ('2 --------- скалярное произведение векторов');
writeln ('3 ========= косинус между этими векторами');
readln (punkt);
case punkt of
1:begin
da:=sqrt(x1*x1+y1*y1+z1*z1);
db:=sqrt(x2*x2+y2*y2+z2*z2);
writeln('dlina vektora a= ',da:7:3);
writeln('dlina vektora b= ',db:7:3);
end;
2:begin
sp:=x1*x2+y1*y2+z1*z2;
writeln('skalyarnoe proizvedenie= ',sp);
end;
3:
begin
cos:=sp/da*db;
writeln('cos= ',cos:7:3);
end;
end;
goto m1;
end.
3.1.8 Для хранения сыпучих веществ применяется цилиндрический бункер с конической нижней часть, из которой выгружается содержимое бункера. Используя данные вычислить объем бункера и значение угла.
program z8;
const hk=4; h=10; r=3;
var v,rh,fi,rad:real;
begin
rh:=(r*h)/hk;
if h<=hk then v:=Pi*sqr(rh)*h/3;
if h>hk then
v:=Pi*sqr(rh)*h/3+Pi*sqr(r)*(h-hk);
rad:=arctan(r/hk);
fi:=rad*180/Pi;
writeln('v =',v:7:3, ' fi = ', fi:7:3);
readln
end.
Список литературы
.
1. Безручко В.Т. Практикум по курсу «Информатика». Работа в PASCAL - М.: Финансы и статистика, 2003.
2. Бондаренко С. PASCAL 2003 в теории и на практике. - М.: ООО Новое знание, 2004.
3. Воройский Ф.С. Информатика. Новый систематизированный толковый словарь – справочник. Вводный курс по информатике и вычислительной технике в терминах. – М.: Либерея, 2001.
4. ГОСТ 19.701-90. ЕСПД. Схемы алгоритмов и программ. Обозначения условные, графические. – М.: Издательство стандартов, 1990.
5. Ибраева Л.К., Сябина Н.В., Рудакова Л.Н. Информатика. Конспект лекций (для студентов всех форм обучения всех специальностей).- Алматы: АИЭС, 2006.
6. Мастекбаева Г.А., Сябина Н.В. Информатика. Язык TurboPascal. – ч.3. - Методические указания к выполнению лабораторных работ (для студентов всех специальностей). – Алматы: АИЭС, 2005.
7. Новиков Г.А. и др. Работа с текстовым процессором MS Word. – М.: Горячая линия – Телеком, 2005.
8. С.Г.Хан, Н.В.Сябина, Г.А.Мастекбаева. Информатика. Методические указания к выполнению лабораторных работ (для студентов всех специальностей). –ч.2. – Алматы: АИЭС, 2002.