Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

курсовая по паскалю

.docx
Скачиваний:
31
Добавлен:
28.05.2015
Размер:
5.42 Mб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯИ НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

Тольяттинский Государственный Университет

Кафедра «Автоматизации технологических процессов и производств»

Курсовая работа

По дисциплине «Обработка экспериментальных данных с применением языков высокого уровня».

«Применение языка программирования 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.

Записать в типизированный файл информацию о студентах. Использовать тип "записи" со следующими полями:

  1. Фамилия, Имя, Отчество,

  2. Группа,

  3. Оценка по математике,

  4. Оценка по физики,

  5. Оценка по информатике.

Результат - количество записей в файле и количество положительных оценка (хорошо и отлично).

Блок-схема.

Листинг программы

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.

Результат: