Конспект уроку №10 (Основи алгоритмізації та програмування 3 частина )

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук

Я потом доделаю:)

1. Що ми розуміємо під масивом?

Масив (array) — це скінчений нaбip елеменів одного (базового) типу, які зберігаються в послідовно розташованих комірках оперативної пам'яті i мають спільну назву.

Вчитель визиває двох учнів, які виправляють зроблені навмисно помилки у  записі одно- і двовимірного масивів

aray [<poзмip>] ot <назва базового типу>;

3. Як задають кількість елементів? Розмір масиву найчастіше задають у вигляді діапазону або назви деякого перерахованого типу даних.

Задача 1. Нехай ук, — це число викликів,які поступають на АТС за к-ту секунду. Припустимо, що ук, — випадкове число зі значенням від 0 до 6, яке генеруеться формулою ук=trunc(abs(7sin(fe))). Утворити масив у з десятьма елементами (k = 1,10). Обчислити суму викликів за перші 10 секунд роботи АТС та максимальну кількшть викликів,що були за деяку одну секунду. Вивести результати обчислень.

program ATS;

uses Crt;

type vyklyk= array[1..10] of integer; var y: vyklyk; max,s,i: integer;

begin

clrscr;

max:=0; s:=0; {Припустимо, що max=0)

for i: = l to 10 do

begin {Обчислимо кількість викликів)

y[i]:=trunc(abs(7*sin(i))); {за i-my секунду)

write('Кількість викликів за ',i,'-Ty секунду: ');

writeln(y[i]:5); {Виведемо цю кількість)

s:=s+y[i]; {Обчислимо суму викликів)

if y[i]>max then max:=y[i]; {Обчислимо max значения )

end;

writeln(Кількість викликів за 10 секунд = ",s:3);

write('Максимальна кількість викликів за одну ');

writeln( 'секунду = мах:3);

readln 

end.

Зауваження. Випадкове ціле число зі значениям від 0 до 6 можна згенерувати також за допомогою функції random(7). На початку виконуваного блоку слід записати виклик процедури randomize (Вона забезпечить іншу послідовність випадкових чисел під час виконання програми вдруге).

Зауваження.. На основі зауваження модифікуйте програму ATS i визначіть, під час якої секунди надішла максимальна кількість викликів

.Елементи двовимірного масиву (дані можуть бути подаю у вигляді таблиці)

визначаються іменем масиву та двома ідексами: перший ідекс означав номер рядка, а другий — номер стовпця, на перетині яких стоїть елемент, наприклад р[1,2] .

Задача 4. Кондитерська фабрика для виготовлення п'яти сортів цукерок використовує п'ять видів сировини. Нехай норми затрат аij кожного виду сировини i на виробництво 1т цукерок сорту j заданi формулою аij = 2|sin(j)| +j , i,j= l..5.

Вивести на екран таблицю затрат сировини (тобто масив а). Визначити для якого сорту цукерок (imin) потрібно найменше сировини (min) третього виду.

program Fabryka;

uses Crt;

type vytraty = array [1..5,1..5] of real;

var   i.j.imin: integer;  

min: real; a:vytraty;

begin

clrscr;

writelnf("Вид сировини");

writelnC 1 2 3 4 5 );

for i:=l to 5 do {Утворимо таблицю затрат)

begin

write(i,' сорт');

for j: = l to 5 do

begin

a[i,j]:=2*abs(sin(i)) +j;

write(a[i,j]:7:2); {Роздрукусмо елементи i го рядка) end;

writeln [Перейдемо на новый рядок)

end;

imin: = l; {Припустимо, що найменше сировини третьего)

min:=a[l;3];   {виду потребно для цукерок першого сорту)

for i:=2 to 5 do

if a[i,3]<min then

begin {Визначимо шуканий сорт цукерок)

min:=a[i,3];

imin:=i

end;

writeln('Найменше сировини третього виду ');

writeln('потрібно для цукерок ‘,imin,’ сорту');

readln

end.