Программирование на Pascal / Delphi / Лабораторная работа №3. Вариант 8,15
.docФедеральное агентство по образованию Российской Федерации
Уфимский Государственный Авиационный Технический Университет
Кафедра Экономической информатики
Отчет:
Лабораторная работа №3
Циклы. Массивы и их применение в Pascal - программах
Выполнили:
студенты гр. Н-118
Алавердова В.
Булатова Ю.
Проверила:
Егорова М.С.
Уфа 2007
Цель работы:
1. По циклам:
1.1. Изучить циклические алгоритмы.
1.2. Обучиться использовать различные виды циклов, существующих
в Паскале.
1.3. Получить навыки программирования алгоритмов, содержащих
операторы циклов.
2. По массивам:
2.1. Изучить принципы работы с одно- и двумерными массивами на языке
программирования Паскаль.
2.2. Получить навыки применения основных алгоритмов для решения
задач с использованием массивов.
Выполнение работы:
Задание 1:Вариант 4.
x=ea + e-a
Задание 2:Вариант 8, 15.
8. Известны данные по продаже компьютеров в течение недели. Найти общее количество проданных компьютеров.
15. Известны результаты сдачи двух экзаменов дестью студентами. Определить фамилии студентов, сдавших экзамены на тройки.
задание с одномерным массивом
Задание с двумерными массивами
Код программы (с комментариями)
1.{$n+}
program p1;
uses crt;
const
a0 = -1.25*Pi;
a1 = 0.75*Pi;
da = Pi/10;
var
gamma:double;
a : double;
x : double;
begin
{выводим на экран надпись ' a | gamma(a)'}
writeln (' a | gamma(a)');
writeln{'-------+--------------'};
{вычисления для заполнения таблицы}
a := a0;
while a <= a1 do begin
x := exp(a) + exp(-a);{расчет первой функции}
Gamma := 0.5 * x - 2 * cos(x + pi / 4);{расчет второй функции}
writeln(' ', a:0:3, ' | ', gamma:0:6);{вывод на экран значений аргумента и функции}
a := a + da;{переход к следующему значению а}
End;
end.
2. {$n+}
program p1;
uses crt;
const
a0 = -1.25*Pi;
a1 = 0.75*Pi;
da = Pi/10;
var
gamma:double;
a : double;
x : double;
i : longint;
begin
{выводим на экран надпись 'id | a | gamma(a)'}
writeln ('id | a | gamma(a)');
writeln{'---+----+--------------'};
{Вычисления для заполнения таблицы}
for i := 0 to round((a1 - a0) / da) do begin
a:= a0 + da * i;
x := exp(a) + exp(-a);{расчет первой функции}
Gamma := 0.5 * x - 2 * cos(x + pi / 4);{расчет второй функции}
writeln(' ', i:2, ‘| ‘, a:0:3, ' | ', gamma:0:6);{вывод на экран значений аргумента и функции}
End;
end.
3. program komputer;
uses crt;
Type comp=array[1..7]of real;
var
i:integer;
p:comp;
S:real;
Begin{ ввод данных }
S:=0;
For i:=1 to 7 do
Begin
Writeln('vvedite obiem prodaj',i,'-ogo dnya,sh');{ вывод данных на экран }
readln(p[i]);{ вычисление }
S:=s+p[i];
End;
writeln('summarniy obiem prodaj s=',s:2:1,'sh');{ вывод данных на экран }
End.{вывод сообщения}
4. program exzamen;
type PR=array[1..10,1..2] of integer;
Fam=array[1..10] of string [10];
Var r:pr;
st:Fam;
i,j:integer;
begin{ввод данных}
for i:=1 to 10 do
begin
writeln (‘vvedte familiy’,i-go stydenta’);{ вывод данных на экран }
readln(st[i]);{ вычисление }
writeln(‘vvedite ocenky dannogo stydenta po pervomy exzameny (ot 2 do 5)’);{ вывод данных на экран }
readln(r[i,1]);{ вычисление }
writeln(‘vvedite ocenky dannogo stydenta po vtoromy exzameny (ot 2 do 5)’);{вывод данных на экран}
readln(r[i,2]);{вычисление}
end;
for i:=1 to 10 do
if (r[i,1]=3) and (r[i,2]=3) then
writeln(‘stydent-troechik-‘,st[i]);{ввод данных на экран}
end. {вывод сообщения}
Выводы
Мы изучили циклические алгоритмы, научились использовать различные виды циклов, существующих в Паскале, получили навыки программирования алгоритмов, содержащих операторы циклов. Изучили принципы работы с одно- и двумерными массивами на языке программирования Паскаль. Получили навыки применения основных алгоритмов для решения задач с использованием массивов.