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

Программирование на Pascal / Delphi / Лабораторная работа №3. Вариант 8,15

.doc
Скачиваний:
25
Добавлен:
02.05.2014
Размер:
85.5 Кб
Скачать

Федеральное агентство по образованию Российской Федерации

Уфимский Государственный Авиационный Технический Университет

Кафедра Экономической информатики

Отчет:

Лабораторная работа №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. {вывод сообщения}

Выводы

Мы изучили циклические алгоритмы, научились использовать различные виды циклов, существующих в Паскале, получили навыки программирования алгоритмов, содержащих операторы циклов. Изучили принципы работы с одно- и двумерными массивами на языке программирования Паскаль. Получили навыки применения основных алгоритмов для решения задач с использованием массивов.