
- •Лабораторна робота №1. Тема: Побудова блок-схем алгоритмів засобами програми Word 2010.
- •Хід роботи
- •Лабораторна робота № 2. Тема: Робота та знайомство в середовищі програмування. Запуск програм на виконання. Редагування тексту.
- •Теоретичні відомості
- •Хід роботи
- •Лабораторна робота №3. Тема: Побудова алгоритмів за допомогою DiagramDesigner.
- •Теоретичні відомості
- •Хід роботи
- •Лабораторна робота №4. Тема:Створення лінійних програм. Процедури вводу та виводу в машинному коді. Описати кожний рядок програми в звіті рукописом!!!!!!!!!!!!!!!!!
- •Теоретичні положення
- •Лабораторна робота №5. Тема: Написання програм використовуючі математичні функції. Освоєння арифметичних операторів. Описати кожний рядок програми від руки.
- •Лабораторна робота №6. Тема: Написання програм використовуючи логічні значення Boolean.
- •Теоретичні відомості
- •Булеві значення.
- •Детальний розпис програми:
- •Лабораторна робота №7. Тема: Типи в програмах.
- •Теоретичні положення
- •Хід роботи
- •Лабораторна робота №8. Тема: Оператор вибору в циклах середовища пргограмування.
- •Хід роботи
- •Оператор вибору варiанту.
- •Циклiчнi алгоритми.
- •Циклiчнi алгоритми
- •Лабораторна робота №9. Тема: Використання процедур та функцiй. Звукові можливості Паскаля.
- •Теоретичні відомості
- •Хід роботи
- •Лабораторна робота №10. Тема: Використання перелiчуваного та обмеженого типу даних.
- •Теоретичні відомості
- •Хід роботи
- •Лабораторна робота №11. Тема: Одновимiрнi масиви.
- •Теоретичні відомості
- •1. Одновимірні масиви (рядки, вектори):
- •Можна і так:
- •Хід роботи
- •Двовимiрнi масиви.
- •Лабораторна робота №12. Тема: Використання множин.
- •Теоретичні відомості
- •Хід роботи
- •Лабораторна робота №13. Стандартн і модулі Crt, Dos, System, Graph, Printer. Робота з клавiатурою
- •Теоретичні відомості
- •Іі семестр. Мова програмування с Лабораторна робота №13. Тема: Проста програма на с: друк рядка тексту
- •Лабораторна робота №14. Тема: Арифметика в с. Використання операцій рівності і відношення
- •Лабораторна робота №15 . Тема: Структурна розробка програм. Структура вибору if. Структура вибору if/else. Структура повторення while
- •Операції інкремента і декремента
- •Лабораторна робота №16. Тема: Структурна розробка програм. Структура вибору if. Структура вибору if/else. Структура повторення while
- •Основи структур повторення while
- •Структура повторення for
- •8. Напишіть і запустіть програму на виконання що написана нижче. Потім напишіть програму що кінцевим числом виведе на екран ваш номер варіанту по списку.
- •Лабораторна робота №17. Тема: Програмні модулі в с. Функції математичної бібліотеки
- •Генерація випадкових чисел
- •Рекурсія
- •Обчислення факторіалів рекурсивною функцією
- •Лабораторна робота №18. Тема: Приклади роботи з масивами
- •Передача масивів у функції
- •Лабораторна робота №19. Тема: Сортування масивів
- •Пошук в масивах
- •Двійковий пошук в сортованому масиві
- •Ініціалізація багатовимірних масивів
- •Лабораторна робота №20. Тема: Покажчики
- •Лабораторна робота №21. Тема: Покажчики
- •Лабораторна робота №22. Тема: Форматоване введення/вивід
- •Лабораторна робота №23. Тема: Використання прапорів в рядку управління форматом printf
- •Лабораторна робота №24. Тема: Використання прапорів в рядку управління форматом printf
- •Лабораторна робота №25. Тема: Структури, об′єднання, операції з бітами і перечисленнями
- •10.18. Використання перечислення Лабораторна робота №26. Тема: Створення файлу послідовного доступу
Лабораторна робота №11. Тема: Одновимiрнi масиви.
Мета: навчитись працювати з масивами
Теоретичні відомості
Масив (array) — це скінчений набір елементів одного (базового) типу, які зберігаються в послідовно розташованих комірках оперативної пам’яті і мають спільну назву.
У математиці поняттю мaсив відповідають поняття вектора та матриці. Розрізняють одно (рядки, стрічки, вектори)- та багатовимірні масиви. Двовимірний масив даних — це таблиця, що складається з декількох рядків.
1. Одновимірні масиви (рядки, вектори):
Загальний вигляд конструкції опису типу масиву такий:
TYPE <назва типу>=array [<розмір>] of <назва базового типу>; |
Можна і так:
<список змінних>:array [<розмір>] of <назва базового типу>; |
Розмір (кількість елементів) масиву найчастіше задають у вигляді діапазону або назви деякого перерахованого типу даних.
Описати масив можна у розділі опису типів type, у розділі констант const, або у розділі оголошення змінних var. Назви типів масивів і змінних-масивів придумує користувач.
Приклад. Розгляньте: 1) опис типу масивів (назва типу mymasyv), 2) оголошення cталого масиву (масиву-константи) vydatky типу mymasyv і 3) оголошення змінних-масивів a, a1 типу mymasyv та масивів: b (він має 7 елементів цілого типу), c (має 100 елементів-символів, тобто даних типу char).
type mymasyv= array [1..10] of real;
day=(mon, tue, wed, the, fri, sat, sun);
const vydatky: mymasyv =(1.2, 1, 1, 2, 18, 2.4, 8.97, 3, 7, 1.3);
var a, a1: mymasyv;
b: array[day] of integer;
c: array [1..100] of char;
Над масивами визначена єдина команда копіювання: a:=a1 – усі значення масиву a1 будуть присвоєні відповідним елементам масиву a. Усі інші операції, наприклад, присвоєння конкретних значень, додавання, множення тощо, визначені лише над елементами масиву.
Доступ до елемента масиву здійснюється через назву масиву і номер елемента. Цей номер (його часто називають індексом) записується в квадратних дужках, наприклад, a[1] - перший елемент масиву а, b[tue]-другий елемент масиву b.
Щоб опрацювати всі елементи масиву використовують команду циклу for (чи while або repeat).
Хід роботи
Завдання 1. Скласти програму для обчислення суми елементiв масиву, що складається з 10 цiлих чисел.
Program PR10_1;
Var A:array[1..10] of integer;
S,i: Integer;
Begin
{Введення елементiв масиву}
For i:=1 to 10 do
Begin
Write('Введiть елемент масиву A[',i,']=');
ReadLn(A[i]);
End;
{Обчислення суми елементiв масиву}
S:=0;
For i:=1 to 10 do S:=S+А[i];
WriteLn('S = ',S);
End.
Результати роботи програми:
Введiть елемент масиву A[1]= 21
Введiть елемент масиву A[2]= 18
Введiть елемент масиву A[3]= -3
Введiть елемент масиву A[4]= 11
Введiть елемент масиву A[5]= 97
Введiть елемент масиву A[6]= 16
Введiть елемент масиву A[7]= 43
Введiть елемент масиву A[8]= 27
Введiть елемент масиву A[9]= 123
Введiть елемент масиву A[10]= 987
S=1340
Завдання 2. Знайти добуток елементів масиву, що складається з 10 дійсних чисел
Завдання 3. Знайти добуток всiх елементiв масиву В[8], що не пере- вищують 5. Надрукувати цi елементи.
Program Dob;
Const b:array[1..8]of real=(1.2,4,8,12,0.2,0.12,1.21,9);
Var
i:Integer;
D:Real;
Begin
{Обчислення добутку елементiв масиву}
D:=1;
For i:=1 to 8 do
if b[i]<5 then
begin
d:=d+b[i];
write(b[i]:8:2);
end;
WriteLn;
WriteLn('d = ',d:5:2);
End.
Результати роботи програми:
1.20 4.00 0.20 0.12 1.21
d =7.73
Завдання 4. Порахувати кiлькiсть додатнiх елементiв масиву A[6].
Program KilkDod;
Const A:array[1..6] of integer=(2,-3,4,12,321,-12);
Var n,i:Integer;
Begin
n:=0;
For i := 1 to 6 do
ifa[i]>0 then n:=n+1;
WriteLn ('N =',n);
End.
Результати роботи програми:
N=4
Завдання 5. Впорядкувати масив А з п'яти цiлих чисел по зростанню його елементiв. Для розв'язування цiєї задачi зручно використати метод "бульбашок".
Суть цього методу полягає в тому, що спочатку беруть перший елемент масиву i порiвнюють його з всiма наступними елементами. Якщо наступний бiльший вiд першого, то їх мiняють мiсцями. Пiсля цього беруть другий елемент масиву i знову його порiвнюють з всiма наступними елементами. Знову, якщо наступний бiльший вiд другого, то їх мiняють мiсцями. Цю ж операцiю проводять з рештою елементiв масиву. Таким чином найменший елемент "як бульбашка випливе" на самий верх в кiнець масиву, а всi елементи масиву будуть впорядкованi по зростанню.
Program Sort;
Const n=5;
a:array[1..n]of integer=(3,4,2,6,7);
Var i,j:integer;
c:integer;
Begin
For j:=1 to n-1 do
For i:=1 to n-j do
If a[i]>a[i+1] Then
Begin
c:=a[i+1];
a[i+1]:=a[i];
a[i]:=c;
End;
For i:=1 to n do
Write(a[i]:3);
Writeln
End.
Результати роботи програми:
2 3 4 6 7
Завдання 6. Впорядкувати масив прізвищ студентів групи за алфавітом.