Програмування
МІНІСТЕРСТВО ОСВІТИ ТА НАУКИ УКРАЇНИ
ХЕРСОНСЬКИЙ НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ
кафедра «Економічна кібернетика»
ЗВІТ ПРО ВИКОНАННЯ
ЛАБОРОТОРНИХ РОБІТ З ДИСЦИПЛІНИ
«ВВЕДЕННЯ У СПЕЦІАЛЬНІСТЬ»
Виконала:
Перевірив доцент:
Фанилець Є.В.
Херсон
2007 р.
Лабораторна робота №8
Тема роботи: Програмування лінійних процесів.
Мета роботи: одержати навики побудови алгоритмів лінійних обчислювальних процесів, вивчити роботу з простими змінними в мові Pascal і лінійними програмами.
Порядок виконання роботи
Вивчити теоретичний матеріал.
Відповісти на запитання.
Побудувати блок-схему розв’язання задачі №1 відповідно до свого номера варіанта.
Скласти та виконати на комп’ютері програму для розробленого лінійного алгоритму.
Скласти звіт, в якому викласти коротко теоретичний матеріал, блок-схему алгоритму, програму, одержану відповідь та розв’язок задачі з частини №2.
Контрольні запитання:
Що називається алгоритмом?
Алгоритм – це скінченна послідовність вказівок (команд), формальне виконання яких дозволяє за обмежений час отримати розв’язок задачі.
Інакше кажучи, алгоритм – це певна інструкція для виконавця, яка може бути задана різними способами – словами, формулами, послідовністю обчислювальних операцій чи логічних дій.
Які засоби опису алгоритму?
Для опису алгоритмів використовуються декілька засобів:
Словесний – запис на природній мов;
Структурно-стилізований – запис на алгоритмічній мові псевдокоду;
Графічний – зображення схем із графічних символів;
Програмний – тексти на мовах програмування.
Найбільш наочним засобом опису алгоритму є описування його у вигляді блок-схем. При цьому алгоритм подається послідовністю блоків, що виконують визначні функції, і зв’язків між ними.
Які властивості алгоритму?
Алгоритм має такі властивості:
Масовість – алгоритм має бути придатним для багатьох задач, що належать до певного класу.
Детермінованість (точність) – ця властивість означає, що кожна команда не повинна допускати двоякого тлумачення. Кожний крок алгоритму повинен бути точно визначеним.
Дискретність – являти собою послідовність окремих завершених кроків – команд або дій.
Результативність – кожна дія повинна приводити до цілком певного результату.
Формальність - будь-який виконавець, здатний сприймати та виконувати вказівки алгоритму, діючи за алгоритмом, може отримати розв’язок поставленої задачі.
Скінченність – діючи за алгоритмом, виконавець одержує розв’язок задачі за скінченну кількість років.
Привести приклади лінійних алгоритмів?
Приклад: скласти алгоритм обчислення виразу у= а + d *с
Зобразимо алгоритм у вигляді блок схеми:
у = а +d+с
=
Яка структура програми на мові Pascal?
Алгоритм перетворення даних на Паскалі складається з операторів та підпрограм, що є головними структурними елементами програм. Кожний оператор перетворюється транслятором у послідовність машинних команд. Підпрограма має структуру, аналогічну до структури програми і використовується для опису послідовності дій, виконання яких повторюється. Такі підпрограми називають процедурами або функціями.
Загальний вигляд програми:
program ім’я програми;
uses {список програмних модулів,
що використовуються};
label {список міток};
const {список сталих величин -контант};
type {описати нестандартних типів даних};
var {описи змінних, що використовуються в програмі};
begin {позначення початку програмного блоку}
{програма – послідовність операторів}
end {кінець програми}
Яку дію виконує оператор присвоєння?
Оператор присвоєння призначений для надання змінній нового значення. Загальний вигляд оператора присвоювання:
ім’я змінної := арифметичний вираз;
Знак «:=» читається «присвоїти» (надати значення).
Який оператор використовується для введення даних?
Для введення даних використовують:
read (список імен); або
readln (список імен).
Який оператор використовується для виведення даних?
Для виведення використовують оператор :
write (b1,b2, …bn); або
writeln (b1, b2, … bn).
1.Індивідуальне завдання.
2. Записати на мові Pascal наступні формули:
a+bx+cyz
a+b*x+c*y*z;
[(ax-b)x+c]x-d
((a*x-b)*x+c)*x-d;
ab/c+c/ab
a*b/c+c/a*b;
(x+y/a1)*(a2/x-y)
(x+y/a*1)*(sqr (a)/x-y);
104 L – 31/5 B
sqr(10)*sqr(10)*L-3*1/5*B;
(1+x/2! + y/3!) / (1+2 / (3+xy))
(1+x/1*2+y/1*2*3) / (1+2/(3+x*y)).
Лабораторна робота №9
Тема роботи: Програмування процесів з розгалуженням.
Мета роботи: навчитися складати алгоритми та програмувати процеси з розгалуженням за допомогою мови Turbo Pascal.
Порядок виконання роботи.
Вивчити теоретичний матеріал.
Скласти звіт, в якому викласти коротко теоретичний матеріал, блок-схему алгоритму,програму,одержану відповідь задачі з частини №2 та відповідь на завдання №1.
Контрольні запитання.
Привести приклади алгоритмів з розгалуженням
y=
Y=a+b
Y=a-b
+ -
D
Y=a+b
Y=a-b
=bb-4ac
D:=b*b-4*a*c
+ -
Розв’язків не має
/(2-a)
/(2*a)
Який оператор описує умовний перехід?
Оператор умовного переходу – програма, виконуючи його, у залежності від здійснення обговореної умови може виконуватися двома способами (умова може виконуватися в конкретний момент, так і не виконуватися).
IF <умова> THEN<оператор 1> ELSE <оператор 2>
Яке значення має оператор GOTO?
GOTO- це оператор безумовного переходу – при його виконанні програма виконується у тому порядку, що задається проектувальником. Задається цей оператор у такий спосіб:
GOTO <мітка>;
Причому мітки повинні перед використанням бути оголошені в розділі опису міток: label n. N може бути, як число, так і символьне. Перед оператором, на який передається управління програмою, ставиться мітка з «:».
1.Індивідуальне завдання
2.Записати на мові PASCAL відношення, істинне при виконанні зазначеної умови і хибні в протилежному випадку:
Ціле k ділиться на 7;
Рівняння ax2+bx+c=a (a<>0) не має дійсних коренів;
Точка (х,у) лежить поза колом радіуса r із центром у точці (1,0);
Натуральне n є повним квадратом.
Завдання №2
Скласти алгоритм та написати програму для обчислення виразу:
Лабораторна робота №10
Тема роботи: Програмування регулярних циклічних процесів
Мета роботи: одержати навики побудови та програмування регулярних циклів на мові Pascal
Порядок виконання роботи.
Вивчити теоретичний матеріал.
Відповісти на запитання.
Побудувати блок-схему розв’язання задачі частини №1 відповідно до свого номера варіанта. Скласти та виконати на комп’ютері програму для розробленого алгоритму.
Скласти звіт, в якому викласти коротко теоретичний матеріал, блок-схему алгоритму, програму, одержану відповідь.
Контрольні запитання.
Привести приклади циклічних алгоритмів.
Побудувати таблицю значень функції
W=для дійсних
Складемо блок-схему:
«доки»
-
«До»
Яким оператором описується цикл «Доки»?
Оператор циклу «доки» має вигляд:
While умова do оператор;
Яким оператором описується цикл «До»?
Оператор циклу «До» має вигляд:
Repeat оператор until умова;
Яким оператором описується цикл «Для»?
Оператор циклу «Для» має вигляд:
For X:=X1 TO X2 DO оператор; - приріст Х дорівнює 1;
For X:=X1 DOWNTO X2 DO оператор; - приріст Х дорівнює -1
Яка різниця між операторами WHILE та REPEAT?
Оператори WHILE та REPEAT відрізняються між собою по дії.
Оператор WHILE може жодного разу не виконувати оператор, що стоїть після слова DO , а оператор REPEAT виконує оператора тіла циклу хоч би один раз. Оператор WHILE дає декілька більш ефективну програму, ніж оператор REPEAT.
1.Індивідуальне завдання
Скласти таблицю множення натуральних чисел.
Лабораторна робота №11
Тема роботи: Програмування ітераційних процесів
Мета роботи: одержати навики програмування циклів на мові Pascal
Порядок виконання роботи.
Ознайомитися з теоретичними відомостями.
Побудувати алгоритм ітераційного циклу по загальній методиці і за допомогою рекурентного виразу та реалізувати побудовані алгоритми у вигляді програми на мові Pascal.
Скласти звіт, в якому зобразити отримані блок-схеми та програми, відповісти на контрольні запитання.
Контрольні запитання.
Чим ітераційний цикл відрізняється від регулярного?
Ітераційний цикл відрізняється від регулярного тим,що при ітераційному циклі невідомо заздалегідь кількість повторів необхідних для одержання остаточних результатів. А при регулярному циклі відома кількість повторень.
Який вид циклу найкраще описує ітераційний цикл?
Для побудови програм ітераційних циклів використовують цикли
WHILE та REPEAT.
Які задачі визначаються ітераційним циклом?
Ітераційним циклом визначаються задачі, які потребують повторного розглядання для отримання остаточного рішення.
Приведіть приклади ітераційного циклу і його опису всіма видами блок-схем.
Обчислити суму елементів безкінечного ряду з точністю до е:
Y=1+x+
-
Які оператори циклу раціонально використовувати при описі ітераційних циклів?
Раціонально використовувати оператори циклу «доки» або «до»
While умова do оператор, або Repeat оператор until умова.
Чи можна описати ітераційний цикл, використовуючи оператор IF? Показати приклад.
Так, можна.
Нехай потрібно знайти найбільший спільий дільник двох натуральних чисел А і В
Program Nova;
Var a,b: integer;
Begin
Write( ‘введіть два натуральних числа’);
Readln (a,b);
Repeat
If a>b then a:=a-b;
If b>a then b:=b-a;
Until a=b;
Writeln (‘НСД=’,a)
End.
Як використовуються оператори break, exit, continue.
Оператор break – вихід із циклу;
Оператор continue – перериває виконання тіла самого внутрішнього циклу й передає управління в його заголовок
Оператор exit – вихід з програми.
Індивідуальне завдання
Обчислити значення суми з точністю до е.
Лабораторна робота №12
Тема роботи: Одномірні масиви.
Мета роботи: одержати навички побудови алгоритмів та програмування задач із векторами на мові Pascal.
Порядок виконання роботи.
Вивчити теоретичний матеріал.
Відповісти на запитання.
Виконати індивідуальні завдання.
Скласти звіт, в якому викласти коротко теоретичний матеріал. блок-схему алгоритму та програму.
Контрольні запитання.
Який опис масиву є невірним:
Var a: array[1..5] of real;
Var a: array [‘a’..’k’] of char;
Var a: array [-5..1] of real;
Var a: array [a,b,c] of real;
Опис масиву є невірним Var a: array [a,b,c] of real;
Чи можна записати для масивів а та b:
A:=2;
A:=b;
A:=2;
Для масивів а та b можна записати A:=b;
Чи можна записати для елементів масиву а:
A[3]:=4;
A:=1;
A[1]:=3;
Для елементів масиву можна записати A:=1;
Індивідуальне завдання.
Дано натуральне число n, ціле х і масив цілих чисел a[1..n]. Якщо в масиві є хоча б один елемент, рівний х, то одержану суму всіх елементів, що слідують за першим таким елементом; у противному випадку відповіддю повинно бути число -10.
Лабораторна робота №13
Тема роботи: Впорядкування одномірних масивів.
Мета роботи: одержати навички розв’язання задач з впорядкуванню одномірних масивів методом обміну.
Порядок виконання роботи.
Вивчити теоретичний матеріал.
Відповісти на запитання.
Побудувати блок-схему розв’язання задачі відповідно до свого номера варіанта.
Скласти та виконати на комп’ютері програму для розробленого алгоритму.
Скласти звіт, в якому викласти коротко теоретичний матеріал. блок-схему алгоритму та програму.
Контрольні запитання
Чому метод сортування називається методом обміну?
Метод сортування називається методом обміну тому,що відбувається повний перебір усіх елементів та їх упорядкування за зростанням. При перестановці двох елементів використовується третя змінна. Обмін значеннями в пам’яті дво змінних a та b виглядає так:
C:=a; a:=b; b:=c.
Скільки порівнянь відбувається за методом обміну?
За методом обміну відбуваються порівняння доки, поки на першому місці не стане найменший елемент або найбільший тобто по зростанню чи спаданню розташовують елементи.
Які методи називаються методами обміну?
Методами обміну називаються методи: пошуку послідовного значення та обмінне сортування (Бульбашки).
Що називається методом вибору?
Методом вибору називається – знаходження найбільшого елемента масиву. На кожному етапі порівняння пам’ятатимемо більше з переглянутих чисел і наприкінці знайдемо найбільший елемент.
Індивідуальне завдання.
Задано одномірний масив a дійсних чисел.
Впорядкувати його першу половину по зростанню елементів з парними індексами.
Лабораторна робота №14
Тема роботи: Двовимірні масиви.
Мета роботи: одержати навички роботи з двомірними масивами.
Порядок виконання роботи.
Вивчити теоретичний матеріал.
Відповісти на запитання.
Побудувати блок-схему розв’язання задачі відповідно до свого номера варіанта.
Скласти та виконати на комп’ютері програму для розробленого алгоритму.
Скласти звіт, в якому викласти коротко теоретичний матеріал. блок-схему алгоритму та програму.
Контрольні запитання
Чи можна записати для двомірного масиву a:
A[1][2]:=5;
A[-5,6]:=-4;
Для двомірного масиву можна записати A[-5,6]:=-4;
Які властивості елементів, що розташовані на головній та побічній діагоналі квадратної матриці?
Квадратна матриця А, для якої Ат=А (транспортирована матриця дорівнює квадратній матриці) називається симетричною . Елементи такої матриці, розмішені симетрично відносно головної діагоналі, рівні.
Індивідуальні завдання.
Розробити алгоритм і програму для задачі.
Дано квадратна матриця А розміру 7х7 цілих чисел. Одержати b1,…,b7, де bi- це найменше із значень елементів, що знаходяться на початку i-го рядка до елемента an включно.