четверг, 18 мая 2017 г.

Практична робота № 11.опрацювання одновимірних масивів


Тема:Практична робота №11.  «Опрацювання одновимірних масивів».
Мета: продовжувати формувати вміння складати програми опрацювання одновимірних масивів, перевіряти правильність складених програм;
розвивати увагу, мислення;
виховувати старанність, відповідальність, інформаційну культуру, інтерес до програмування.
Тип уроку: урок формування умінь і навичок.
Хід уроку
І. Оголошення теми, мети, завдань уроку.
ІІ. Мотивація вивчення матеріалу.
ІІІ. Актуалізація опорних знань.
3 учні працюють з тестом(10 хв), решта відповідають на питання (проектор, екран, презентація)
Що ми знаємо про масиви? Які дії вже вміємо виконувати над елементами масиву?
1.    Що називають масивом? Які бувають масиви? Який масив називають одновимірним?
(Масив - тип даних, що складається з фіксованого числа елементів одного і того ж типу. Одновимірний масив – це лінійно впорядкована сукупність елементів одного і того ж типу. Двовимірний масив – таблиця, що складається з m рядків і n стовбчиків)
2. Як описати одновимірний масив?
1 спосіб:
Type ім’я типу=array[тип індексу] of тип елементів масиву;
Var ім’я масиву : ім’я типу;   
Приклад: Type mas=array[1..100] of real;
Var a: mas;
2 спосіб:
Var ім’я масиву :array[m..n] of тип елементів масиву;
m, n – константи цілого типу
Приклад:  Var а:array[1..20] of integer;
3.Як звернутись до елемента масиву?
ім’я масиву[порядковий номер]
a[1], a[2], a[3], a[i],…
4.Які оператори використовуються для опрацювання масивів?
(Введення, виведення, присвоєння, розгалуження, цикли)
5.Як вводяться масиви?
for i:=1 to n do
readln(a[i]);
6. Як виводяться масиви?
for i:=1 to n do
writeln(a[i]);
7. Виправити помилки в програмі знаходження суми елементів масиву
8. Виправити помилки в програмі знаходження кількості елементів масиву рівних 5.
9. Яке завдання виконують дані програми?
10.Вкажіть правильний фрагмент програми.
1)Введення лінійного масиву a[1..n] з клавіатури:
а) for i:=1 to n do read(a[i]);
б) for i:=1 to n do a[i]:=i;
в) for i:=1 to n do readln(a[i]);
2) Знайти кількість недодатних елементів масиву b[1..n].
а) for i:=1 to n do if b[i]<0 then z:=z+1;
б) for i:=1 to n do if b[i]<=0 then z:=z+1;
в) for i:=n to 1 do if b[i]<=0 then z:=z+1;
3) В масиві a[n..m] замінити від’ємні елементи нулями.
а) for i:=n  to m do if a[i]<0 then a[i]:=0;
б) for i:=n to m do if a[i]>=0 then a[i]:=0;
в) for i:=m to n do if a[i]<0 then a[i]:=0;
4) Знайти максимальний елемент масиву.
а)max:=a[1];for i:=2 to n do if max<a[i] then max:=a[i];
б) max:=a[1]; for i:=1 to n do if max
в) max:=a[i]; for i:=1 to n do if max< a[i] then max:=a[i];
5) Знайти номер мінімального елемента массиву b[1..n].
а) min:=b[1]; p:=1; for i:=1 to n do if min
б) min:=b[1]; p:=1; for i:=1 to n do if min>b[i] then begin min:=b[i]; p:=i; end; writeln(p);
в) min:=b[i]; p:=i; for i:=1 to n do if min<b[i] then begin min:=b[i]; p:=i; end; writeln(p);

IV. Формування умінь і навичок.
Колективне розв’язування задачі:
В масиві зберігається інформація про вартість кожної з M книг. Визначити кількість найдешевших книг (з однаковою мінімальною ціною).
Розв’язок:
Program Z;
uses CRT;
const n=5;
var i,k:integer; a:array[1..n]of integer; min:integer;
begin
ClrScr;
for i:=1 to n do
read(a[i]);
min:=a[1];
for i:=2 to n do
if min>a[i] then min:=a[i];
k:=0;
for i:=1 to n do
if a[i]=min then k:=k+1;
writeln;
writeln(k);
end.
Виконання практичної роботи. Інструктаж з БЖД.
Завдання практичної роботи
І варіант
В масиві зберігається інформація про кількість опадів (цілі числа) за кожний день минулого тижня. Вивести номери днів, коли опадів не було.
Розв’язок:
Program Z;
uses crt;
var i:integer; a:array[1..7]of integer;
begin
clrscr;
writeln('masiv:');
for i:=1 to 7 do
read(a[i]);
writeln;
writeln('nomer:');
for i:=1 to 7 do
if a[i]=0 then write(i,' ');
end.

ІІ варіант
В масиві записані результати N ігор футбольної команди (якщо гра закінчилася виграшем даної команди, то записано число 3, програшем - число 2, внічию - 1. Визначити окремо кількість виграшів і програшів команди.
Розв’язок:
Program Z2;
uses crt;
const n=5;
var k1,k2,i:integer;a:array[1..n] of integer;
begin
clrscr;
writeln('masiv');
for i:=1 to n do
read(a[i]);
k1:=0;k2:=0;
for i:=1 to n do
begin
if a[i]=3 then k1:=k1+1;
if a[i]=2 then k2:=k2+1;
end;
writeln;
writeln('k1=',k1);
writeln('k2=',k2);
end.
V. Підсумки уроку. Домашнє завдання.
1. Повторити оператори розгалуження, повторення.
2.Повторити задачі знаходження мінімуму, максимуму в масиві, перестановки двох елементів масиву місцями.
3. Задача №3.
В масиві зберігається інформація про вартість 1 кг N видів цукерок. Визначити порядковий номер найдешевшого виду цукерок. Якщо таких дещо, то повинен бути знайдений індекс:
           А) першого з них;

           Б) останнього з них.

Комментариев нет:

Отправить комментарий