курсовая по паскалю
.docxМИНИСТЕРСТВО ОБРАЗОВАНИЯИ НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Тольяттинский Государственный Университет
Кафедра «Автоматизации технологических процессов и производств»
Курсовая работа
По дисциплине «Обработка экспериментальных данных с применением языков высокого уровня».
«Применение языка программирования PASCAL для обработки и анализа экспериментальных данных».
Вариант: 9.
Студент: Горбатюк Юлия Андреевна
Специальность: Управление качеством
Группа: УКб-1201
Преподаватель: Копша Ольга Юрьевна
Тольятти 2014
Задание 1.
Напишите программу, которая вычисляет объем шара , где
– радиус шара.
Блок-схема.
Листинг программы
Program Ex_1;
var
r,p,V:real;
begin
p:=3.14;
Writeln('vvedite chislo r', r:8:5);
Readln(r);
V:=3/(4*p*r*r*r);
Writeln('V=',V:8:5);
Readln;
End.
Результат:
Задание 2.
В программе используйте проверку веденных пользователем значений. Если значения меньше или равны 0,выведите сообщение об ошибке.
Блок-схема.
Листинг программы
Program Ex_2;
var
r,p,V:real;
begin
p:=3.14;
Writeln('vvedite chislo', r:8:2);
Readln(r);
if r<=0 then writeln('Oshibca')
else V:=3/(4*p*r*r*r);
Writeln('V=',V:10:5);
Readln;
End.
Результат:
Задание 3.
Напишите программу, которая по введённому номеру компьютерных устройств выводит предположительную их стоимость. В начале программы необходимо вывести ассортимент с соответствующими номерами. Если введено число, не соответствующее номеру из списка, выведите сообщение об этом (используйте ветвь else).
Блок-схема.
Листинг программы
Program Ex_3;
label 0;
Var m,n:integer;
begin
0:Writeln('vvedite nomer computer ystrostva');
Readln(n);
Writeln(n);
Case n of
1:Writeln('mouse 50ruble');
2:Writeln('keyboard 100ruble');
3:Writeln('system unit 4000ruble');
4:Writeln('memory card 900ruble');
5:Writeln('screen 1500ruble');
6:Writeln('hard drive 2000ruble');
else Writeln('oshibka');
goto 0; end;
Writeln('vvesti nomer ystroistva? vvedite 1, else not vvedite 2');
Readln(m);
if m=1 then goto 0;
Readln;
End.
Результат:
Задание 4.
Используйте массив для хранения различных значений радиуса шара. Проведите вычисление объема заданное число раз и занесите полученные значения в другой массив.
Блок-схема.
Листинг программы
Program Ex_4;
label 1;
const n=5;
var V,r:array[1..n] of real;
p,s:real;
i:integer;
begin
p:=3.14;
1:Writeln('vvedite array r 1-5');
for i:=1 to n do
begin
Readln(r[i]);
if r[i]<=0 then goto 1
else V[i]:=3/(4*p*r[i]*r[i]*r[i]);
end;
for i:=1 to n do
Writeln('V=',V[i]:10:5);
Readln;
End.
Результат:
Задание 5.
Напишите программу, которая выводит код символа, введенного пользователем. Завершением ввода – символ «точка» (.).
Блок-схема.
Листинг программы
Program Ex_5;
label 1,2;
var p:char;
s:integer;
begin
Writeln('dlia polychenia ASKI-koda vvedite simvol');
Readln(p);
1:s:=ord(p);
Writeln('ASKI-kod',p,'=',s);
Writeln('povtorite vvod? else not-vvedite . else yes-vvedite simvol');
Readln(p);
if p='.' then goto 2
else begin goto 1;
Readln;
2:End;
End.
Результат:
Задание 6.
В процедуре заполнить прямоугольную матрицу размером 3*5 случайными числами. В функции найдите факториал числа, введенного пользователем (не более 5), в основной программе найдите результирующую матрицу, полученную путем деления случайной матрицы на факториал.
Блок-схема.
Листинг программы
Program Ex_6;
const q=3; w=5;
var
A:array[1..q, 1..w] of real;
i,j:integer;
n,c:integer;
procedure matr(i,j:integer);
begin
for i:=1 to q do
begin
for j:=1 to w do
begin
A[i,j]:=random(100);
write(A[i,j]:8:2);
end;
writeln;
end;
end;
function f(k:integer):integer;
var f1:integer;
begin
f1:=1;
for i:=1 to k do
f1:=f1*i;
f:=f1
end;
begin
writeln('n-?');
readln(n);
if n<=5 then begin
matr(q,w);
writeln;
c:=f(n);
writeln(c);
for i:=1 to q do
for j:=1 to w do
A[i,j]:=A[i,j]/c;
for i:=1 to q do
begin
for j:=1 to w do
begin
write(A[i,j]:8:2);
end;
writeln;
end;
end else writeln('n<6');
readln;
readln;
end.
Результат:
Задание 7.
Записать в типизированный файл информацию о студентах. Использовать тип "записи" со следующими полями:
-
Фамилия, Имя, Отчество,
-
Группа,
-
Оценка по математике,
-
Оценка по физики,
-
Оценка по информатике.
Результат - количество записей в файле и количество положительных оценка (хорошо и отлично).
Блок-схема.
Листинг программы
Program Ex_7;
uses crt;
Type student=record
fio:string[30];
group,ocenM,ocenF,ocenI: integer;
End;
var zap:student;
a:file of student;
name:string;
d1,g1,h1,s,z,d,g,h,n:integer;
begin
s:=0;
d:=0; d1:=0;
g:=0; g1:=0;
h:=0; h1:=0;
n:=0;
clrscr;
Writeln('zadaite name file');
Readln(name);
Assign(a,'doc.txt');
Rewrite(a);
Writeln('vvedite FIO studenta');
Readln(zap.fio);
While zap.fio <> '!' do
begin
Writeln('vvedite nomer group');
Readln(zap.group);
Write(a, zap);
Writeln('vvedite ocenky po matematike');
Readln(zap.ocenM);
Write(a, zap);
Writeln('vvedite ocenky po fithike');
Readln(zap.ocenF);
Write(a, zap);
Writeln('vvedite ocenky po informatike');
Readln(zap.ocenI);
Write(a, zap);
Writeln('vvedite FIO studenta');
Readln(zap.fio);
n:=n+1;
if zap.ocenM=4 then d1:=d1+1;
if zap.ocenM=5 then d:=d+1;
if zap.ocenF=4 then g1:=g1+1;
if zap.ocenF=5 then g:=g+1;
if zap.ocenI=4 then h1:=h1+1;
if zap.ocenI=5 then h:=h+1;
s:=d+g+h;
z:=d1+g1+h1;
End;
Writeln('s=',s);
Writeln('z=',z);
Writeln(n);
Close(a);
Writeln('file sothdan');
Readln;
End.
Результат:
Задание 8.
Напишите программу, которая при помощи прямоугольников строит столбиковую диаграмму значений, хранящемся в одномерном массиве. Массив заполнить случайными целыми значениями в диапазоне от нуля до десяти.
Блок-схема.
Листинг программы
Program Ex_8;
uses Crt, Graph;
const Count=10;
Width =40;
var
I,X1,X2,Y1,Y2 : integer;
M : array[1..Count] of byte;
DriverVar, ModeVar: integer;
S_M : string;
begin
randomize;
for I:=1 to Count do M[I]:=random(11);
DriverVar:=Detect;
InitGraph(DriverVar,ModeVar,'..\bgi');
SetViewPort(10,10,630,400,True);
SetTextStyle(DefaultFont,HorizDir,1);
Y1:=325;
for I:=1 to Count do
begin
X1:=I*50;
Str(M[I],S_M) ;
SetFillStyle(I,I);
Bar3D(X1,Y1,X1+Width,Y1-M[I]*30,10,TopOn);
OutTextXY(X1+15,Y1-M[1]*(-5)-8,S_M);
end;
OutTextXY(0,200,'Q');
OutTextXY(150,GetMaxY-100,'dlia thavershenia najmite Enter');
Readln;
CloseGraph;
end.
Результат: