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

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

Створення та реалізація табличних величин

Мета:

Тип уроку: лабораторна робота

Обладнання: комп'ютерний клас, Паскаль

І Організаційний етап

Добрий день, сідайте.(Вчитель повідомляє тему і мету уроку)

ІІ Актуалізація опорних знань

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

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

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

а)A aray [1..3] ot Real;

б)var A array(1...3,1...3) of integer;

3. Як задають кількість елементів?

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

ІIІ Розв'язування задач

Задача 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] .

Задача 2. Кондитерська фабрика для виготовлення п'яти сортів цукерок використовує п'ять видів сировини. Нехай норми затрат а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.

IV Домашне завдання


Прокоментовано конспекти Свинаренко і Пашанової