- •М іністерство транспорту та Зв’язку україни Дніпропетровський національний університет залізничного транспорту імені академіка в. Лазаряна
- •49010, Вул. Акад. Лазаряна, 2, Дніпропетровськ, 10 Лабораторна робота n 3 Тема: Типи даних. Організація циклів.
- •1. Мета роботи
- •2. Підготовка до роботи
- •3. Порядок виконання роботи
- •5. Короткі теоретичні відомості
- •5.1. Типи даних
- •5.1.1. Стандартні типи даних
- •5.2. Вирази, операнди, операції
- •5.2.1. Арифметичні вирази й операції
- •5.1.2. Користувацькі типи даних
- •5.2.2. Вирази й операції співвідношення
- •5.2.4. Пріоритет операцій
- •6. Приклади розробки алгоритмів і програм
- •Протокол роботи програми lr1a:
- •Обчислення нод. Розкладаємо числа на прості множники:
- •Протокол роботи програми lr1 b:
- •7. Завдання до лабораторної роботи № 3 Розробити три програми (у кожній по одному з операторів циклу)
- •Лабораторна робота № 4 Тема: Структуровані типи даних. Масив.
- •4. Короткі теоретичні відомості.
- •4.1. Масив. Опис типу
- •4.2. Дії над елементами масиву
- •5. Приклад
- •6. Варіанти індивідуальних завдань до лабораторної роботи
5. Приклад
Дано одномірний масив. Всі його елементи, не рівні нулеві, переписати (зберігаючи їхній порядок) у початок масиву, а нульові елементи - у кінець масиву. Новий масив не створювати.
MENU: MOV_X_v_A
vvodKL
vvodSch Perest
Program
p1;
uses
crt;
const
nn=100;
x:array[1..15]
of byte =
{х
– типізована константа
}
0,0,1,10,2,20,0,0,3,0,30,4,0,0,40); var
i,j,n:integer;
a:array[1..nn]
of byte;
b:boolean;
{-----------------------------------}
Основна програма:
function menu:char;
var ch:char;
begin
clrscr;
writeln ('1 Контрольний приклад ');
writeln ('2 Введення елементів масиву з клавіатури ');
writeln ('3 Елементи масиву -> випадкові числа');
writeln ('0 Вихід');
write('Ваш вибір --> '); readln(ch); menu:=ch;
end;
{-----------------------------------}
procedure MOV_X_v_A; { Перенос елементів масиву X у масив A }
begin for i:=1 to n do a[i]:=x[i]; end;
{-----------------------------------}
procedure vvodKL; { Уведення з клавіатури }
begin write('n='); readln(n);
for i:=1 to n do begin write('a[',i,']='); readln(a[i]); end;
end;
{-----------------------------------}
{-----------------------------------}
procedure vvodSch; { Уведення випадкових чисел }
begin
write('n='); readln(n);
randomize; { с таймера числа - початку генерації випадкових чисел }
for i:=1 to n do a[i]:=random(6);
end;
{-----------------------------------}
procedure Perest; {Перестановка нулів у кінець масиву і вивід результату}
begin
write('Исх. масив -> ');
for i:=1 to n do write(a[i],' '); writeln;
j:=0;
for i:=1 to n do
if a[i]<>0 then
begin
j:=j+1;
if i<>j then begin a[j]:=a[i]; a[i]:=0 end;
end;
write('Рез. масив -> ');
for i:=1 to n do write(a[i],' '); writeln;
readkey;
end;
Begin
clrscr;
b:=false;
repeat
case menu of
'1': begin n:=15; MOV_X_v_A; Perest; end;
'2': begin vvodKL; Perest; end;
'3': begin vvodSch; Perest; end;
'0': b:=true;
end;
until b;
End. Протокол роботи програми
1 Контрольний приклад
2 Введення елементів масиву з клавіатури
3 Елементи масиву -> випадкові числа
0 Вихід
Ваш вибір --> 1
Исх. масив -> 0 0 1 10 2 20 0 0 3 0 30 4 0 0 40
Рез. масив -> 1 10 2 20 3 30 4 40 0 0 0 0 0 0 0
Ваш
вибір --> 3 n=15 Исх.
масив -> 0 3 2 4 4 3 2 0 0 1 2 2 0 3 5 Рез.
масив -> 3 2 4 4 3 2 1 2 2 3 5 0 0 0 0
Ваш вибір --> 2
n=7
a[1]=4
a[2]=0
a[3]=5
a[4]=0
a[5]=6
a[6]=0
a[7]=7
Исх. масив -> 4 0 5 0 6 0 7
Рез. масив -> 4 5 6 7 0 0 0
6. Варіанти індивідуальних завдань до лабораторної роботи
Завдання: Масив цілих чисел складається з N елементів. Обробити його відповідно до умови індивідуального варіанту.
№№ |
Умова |
|
|
Знайти суму елементів, що мають непарні індекси |
|
|
Знайти суму елементів, що мають непарні індекси |
|
|
Знайти суму елементів, що мають непарні індекси |
|
|
Підрахувати кількість елементів масиву, значення яких більше заданого числа а і кратні 5 |
|
|
Знайти суму позитивних елементів, значення яких менше 10 |
|
|
Вивести індекси тих елементів, значення елементів яких кратні 3 і 5 |
|
|
Подвоєну суму позитивних елементів |
|
|
Вивести індекси тих елементів, значення яких більше значення попереднього елемента (починаючи з другим). |
|
|
Знайти суму негативних елементів |
|
|
Знайти кількість тих елементів, значення яких позитивні і не перевершують заданого числа а |
|
|
Замінити максимальний по модулю негативний елемент нулем |
|
|
Замінити перші до елементів на протилежні по знаку |
|
|
Замінити мінімальний по модулю позитивний елемент нулем |
|
|
Замінити елементи з kl-го по k2-й на зворотні |
|
|
Замінити перший негативний елемент нулем |
|
|
Помножити всі елементи, кратні 3, на третій елемент масиву |
|
|
Замінити максимальний елемент на протилежний по знаку |
|
|
Замінити перший елемент, кратний 5, нулем |
|
|
Замінити нулями елементи між мінімальним і максимальним, окрім них самих |
|
|
Замінити елементи з непарними номерами на квадрат їх номера |
|
|
Замінити останній позитивний елемент на другий елемент масиву |
|
|
Розділити всі елементи з парними номерами на перший елемент |
|
|
Видалити з нього всі елементи, в яких є цифра 5 |
|
|
Вставити число k після всіх елементів, кратних своєму номеру (k вводити з клав- ри) |
|
|
Поміняти місцями перший позитивний і останній негативний елементи |
|
|
Вставити число k до та перед всіма елементами, в яких є цифра 1 (k вводити з клав- ри) |
|
|
Переставити перші три і останні три елементи місцями, зберігаючи їх проходження |
|
|
Видалити всі елементи, в яких остання цифра парна, а саме число ділиться на неї. |
|
|
Вставити число k перед і після всіх елементів, що закінчуються на дану цифру |
|
|
Видалити з нього всі елементи, перша цифра яких парна |
|
|
Вставити число k1 після всіх елементів, великих заданого числа, а число k2 — перед всіма елементами, кратними 3 (kl і k2 вводити з клавіатури). |
|
|
Видалити з нього всі елементи, кратні 7 і що належать проміжку [а, b] (а і b вводити з клавіатури) |
|
|
Вставити число k між всіма сусідніми елементами, які утворюють пару елементів з однаковими знаками (k вводити з клавіатури) |
|
|
Сформувати одновимірний масив, кожний елемент якого рівний найбільшому по модулю елементу відповідного стовпця |
