Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Laboratornye_raboty_Pascal.docx
Скачиваний:
18
Добавлен:
22.02.2015
Размер:
134.9 Кб
Скачать

Лабораторная работа № 9. Записи

Задание 1. Наберите текст программы и познакомьтесь с типом данныхRecord. Определите, что выполняется в программе.

Program Example18;

Type STR= Record

Fam: string;

B1, B2, B3, B4, B5: 2..5;

SB: real;

End;

Var Tbl: array[1..50] of str;

i,n: integer;

Begin

Write('n=');

Readln(n);

For i:=1 to n do

Begin

Write('FIO:'); Readln (Tbl[i].FAM);

Write('Ozenki: ');Readln(Tbl[i].B1, Tbl[i].B2,Tbl[i].B3, Tbl[i].B4, Tbl[i].B5);

End;

Writeln('Sredniy ball');

For i:=1 to n do

Begin

Tbl[i].SB:=(Tbl[i].B1+Tbl[i].B2+Tbl[i].B3+ Tbl[i].B4+Tbl[i].B5)/5;

Writeln(Tbl[i].FAM,' – ', Tbl[i].SB:5:2);

End;

End.

Средний балл студентов

В программе содержится много повторяющихся данных. Для её упрощения воспользуйтесь оператором присоединения With.

For i:= 1 to n do Begin

With Tbl[i] do Begin

Write('FIO:'); Readln (FAM);

Write('Ozenki: ');

Readln(B1, B2, B3, B4, B5);

End;

End;

Writeln('Sredniy ball');

For i:= 1 to n do Begin

With Tbl[i] do Begin

SB:= (B1+B2+B3+B4+B5)/5;

Writeln(FAM,' ',SB:5:2);

End;

End;

Задание 2. Доработайте программу, чтобы данные о студентах и их средние баллы записывались в файл.

type

STR = Record

Fam: string;

B1, B2, B3, B4, B5: 2..5;

SB: real;

End;

var

Tbl: array[1..50] of str;

i, n: integer;

k: text;

begin

assign(k, 'D:\sredniy ball.txt');

rewrite(k);

Write('n=');

Readln(n);

for i := 1 to n do

with Tbl[i] do

begin

Write('FIO:'); Readln(FAM);

Write('Ozenki: ');

Readln(B1, B2, B3, B4, B5);

end;

Writeln('Sredniy ball');

for i := 1 to n do

begin

with Tbl[i] do

begin

SB := (B1 + B2 + B3 + B4 + B5) / 5;

writeln(FAM, ' – ', SB:5:2);

Write(k, FAM, ' – ', SB:5:2);

end;

end;

close(k);

end.

Лабораторная работа № 10. Подпрограммы

Задание 1.Исправьте ошибки в программе.

Function V(R, H: real): real;

Begin

V:= pi*sqr(R)*H;

End;

Var x,a,b: real;

Begin

a:= V(3,4);

b:= V(2,4);

Writeln('V1=', a);

Writeln('V2=', b);

x:= a - b;

Writeln('V1 – V2=', x:4:1);

End.

Задание 2.Посмотрите пример функции вычисляющей факториал числа. В основной программе посчитайте выражениеy = (m! + k!)/s!

var

m,k,s:integer;

y:real;

Function factorial(n: byte): longint;

Begin

if (n = 0) or (n = 1) then factorial:= 1

else factorial:= n * factorial(n - 1);

End;

begin

readln(m ,k ,s);

m:=factorial(m);

k:=factorial(k);

s:=factorial(s);

y:= (m + k)/s;

writeln('y= ',y);

end.

Задание 3.Составьте функцию, вычисляющую логарифм с произвольным основаниемlogab.

var a,b,logarifm:real;

begin

writeln('введите основание');

readln(b);

writeln('введите показатель логарифма');

readln(a);

logarifm:=ln(a)/ln(b);

writeln('log=',logarifm);

end.

Задание 4.Составьте функцию для вычисления площади кольца.

Рис. 3. Кольцо

var r1, r2: integer;

s: real;

Function ploshad(r1, r2: integer) : real;

Begin

ploshad:= pi*(r1*r1-r2*r2)

End;

begin

writeln('Введите внешний радиус кольца');

readln(r1);

writeln('Введите внутренний радиус кольца');

readln(r2);

s:=ploshad(r1, r2);

writeln('Площадь кольца равна', s);

readln;

end.

Задание 5.Наберите код программы и посмотрите пример использования процедурыColor.

Program Example20;

Uses Crt;

Procedure Color(x, y: word);

Begin

TextColor(x);

TextBackGround(y);

End;

Begin

Color(1,5);

Write('Hello ');

Color(1,3);

Writeln('student!');

Readln;

End.

Задание 6.Доработайте программу, чтобы цвет фона и цвет текста вводились пользователем при запуске программы.

program ptimer6;

Uses Crt;

Procedure Color(x, y: word);

Begin

TextColor(x);

TextBackGround(y);

End;

var n,m,k,p:byte;

Begin

read(n,m);

read(k,p);

Color(n,m);

Write('Hello ');

Color(k,p);

Writeln('student!');

Readln;

End.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]