Блок-схема                                          Програма



Nbsp;

Зміст

Вимоги зо звіту з лабораторних робіт. 4

Теоретичні відомості 4

Інтегрована система програмування Borland C++.. 4

Лабораторна робота № 1. 6

Тема: “Режими компілювання”. 6

Лабораторна робота № 2. 8

Тема: “Типи даних. Введення та виведення даних”. 8

Лабораторна робота № 3. 10

Тема: “Програми з розгалуженням”. 10

Лабораторна робота № 4. 14

Тема: “Циклічні програми”. 14

Лабораторна робота № 5. 18

Тема: “Створення функцій”. 18

Лабораторна робота № 6. 21

Тема: “Емулятор”. 21

Лабораторна робота № 7. 24

Тема: “Багатомірні масиви”. 24

Лабораторна робота № 8. 26

Тема: “Використання власних функцій”. 26

Лабораторна робота № 9. 29

Тема: “Структури”. 29

Лабораторна робота № 10. 31

Тема: “Робота з файлами”. 31

Додаток 1. 33

Титульна сторінка. 33

Додаток 2. 34

Державні стандарти на оформлення алгоритмів (блок-схем). 34

 


Вимоги зо звіту з лабораторних робіт

Звіт до кожної лабораторної роботи повинен мати:

1. Титульна сторінка (додаток 1).

2. Завдання (обов’язково вказати варіант).

3. Алгоритм у відповідності з державними стандартами (додаток 2).

4. Лістинг програми.

5. Результати роботи програми.

 

Теоретичні відомості

Інтегрована система програмування Borland C++

Головне вікно інтегрованої системи програмування Borland C++ з’являється після запуску файлу bc.exe.

Рядок головного меню містить такі пункти:

File, Edit, Run, Compile, Debug, Project, Options, Windows, Help

Призначення функціональних клавіш

F1 виведення на екран довідникової інформації
F2 зберігання на диску тексту, що знаходиться в редакційному вікні
F3 виклик в редакційне вікно файлу з необхідним ім’ям
F4 виконання програми до рядка, в якому знаходиться курсор
F5 збільшення або зменшення активного вікна
F6 переключення активності між редакційним та комунікаційним вікнами, а також повернення до активності вікна з довільного меню
F7 крокове виконання програми з входом до функції
F8 крокове виконання програми без входу до функції
F9 компілювання програми в режимі Make
F10 переключення між головним меню та активним вікном
Alt-F1 виведення на екран останньої довідникової інформації
Alt-F3 занесення в редакційне вікно останнього файлу
Alt-F5 перегляд екрану, на який виведено результати
Alt-F7 переміщення до місця останньої помилки
Alt-F8 переміщення до місця наступної помилки
Alt-F9 компілювання програми або основного модуля, що знаходиться в редакційному вікні
Ctrl-F1 виведення довідникової інформації відносно ідентифікатору, який виділено курсором
Ctrl-F2 закінчення виконання програми
Ctrl-F3 висвітлення рядочку викликаних функцій
Ctrl-F4 обчислення або модифікація змінної
Ctrl-F7 занесення виразу в вікно перегляду
Ctrl-F8 встановлення / зняття точки зупинки
Ctrl-F9 виконання програми.

Для закінчення роботи з системою програмування використовують комбінацію клавіш Alt-X.

Операції з текстом

Директива Призначення
ˆQF Пошук. На екрані з’являється напис Find, тобто запит про ту фразу, яку необхідно знайти в тексті. Ця фраза являє собою послідовність символів, що закінчується натисканням Enter. На екрані з’являється питання Options, тоді необхідно вказати режим пошуку фрази. B – пошук назад; W – пошук, що обмежено повними словами; U – тотожність великих та малих букв.
ˆQA Пошук з заміною. Після пошуку фрази з’являється питання Replace with – фраза, яка замінює фразу, що вказана після Find. Після натискання Enter, з’являється питання про опції. Крім вище наведених допустимі: G – заміна фрази у всьому тексті; N – безумовна заміна.
ˆKB Місце в тексті позначається як початок блоку.
ˆKК Місце в тексті позначається як кінець блоку.
ˆKС Блок копіюється і курсор встановлюється на перший символ блоку, що скопіювався
ˆKV Переміщення блоку. Курсор встановлюється на перший символ блоку, що перемістився. Блок на новому місці залишається виділеним.
ˆKH Анулювання ознак виділення.
ˆKR Вставка тексту з файлу. Ім’я файлу вказують після питання Read Block From:
ˆKW Запис блоку в файл. Ім’я файлу вказують після питання Write Block To:

 

Лабораторна робота № 1

Тема: “Режими компілювання”

Мета: навчитися набирати, редагувати та компілювати програми за допомогою інтегрованої системи програмування.

Теоретичні відомості

Компіляція модулів та програм може здійснюватися в трьох режимах Compile, Make і Build. Компіляція в режимі Compile закінчується створенням файлу з розширенням *.obj, а компіляція в режимах Make і Build закінчується створенням файлу з розширенням *.exe.

Режим Сompile. Виклик компілятора в режимі Сompile (Alt+F9 або Alt+C+C) призводить до компіляції модулю, що знаходиться в редакційному вікні.

Режим Make.Виклик компілятора в режимі Make (F9 або Alt+C+M) призводить до компіляції програми наступним чином:

- якщо при виборі опції Project визначено ім’я проекту (Project name), що є ім’ям файлу з розширенням *.prj, то програма складається з модулів, імена яких виділені в цьому файлі, доповнених бібліотечними функціями бібліотек з розширенням *.lib, а також функціями з стандартної бібліотеки. Наприклад:

- якщо ім’я проекту не визначено, але визначено ім’я первинного файлу (Primary file), що є ім’ям файлу з розширенням *.сp, то програма складається з модуля, який визначений цим файлом;

- якщо не визначено ні ім’я проекту, ні ім’я первинного файлу, то програма складається з модуля, що знаходиться в редакційному вікні.

В будь-якому випадку система обмежується проведенням тільки необхідних компіляцій. В частому випадку не компілюється повторно основний модуль, якщо існує відповідний йому відкомпільований модуль з розширенням *.obj. Завдяки цьому кількість необхідних компіляцій зводиться до мінімуму.

Режим Build.Виклик компілятора в режимі Build (Alt+C+B) відрізняється від виклику в режимі Make тим, що проводяться всі компіляції навіть при існуванні відповідних скомпільованих основних файлів.

Завдання

Необхідно відкомпілювати дві програми, що наведені нижче. В випадку складності компілювання треба ще раз переглянути теоретичні відомості.

Приклад 1

#include <conio.h>

main()

{

char name[20];

clrscr();

cprintf(“Привіт, як ваше ім’я? \n”);

cscanf(“%s”,name);

cprintf(“\nАх! Хороше ім’я, %s ! \n”, name);

return 0;

}

Приклад 2

#include <conio.h>

#include <stdio.h>

#include <string.h>

#define ANSWER “Грант”

main()

{

char try[40];

clrscr();

puts(“Хто знаходиться в могилі Гранта?”);

gets(try);

while(strcmp(try,ANSWER)!=0)

{

puts(“Ні, невірно, спробуй ще раз ! \n”);

gets(try);

}

puts(“Вірно!”);

return 0;

}

Контрольні питання

1. Які режими компілювання вам відомі?

2. Чим закінчується компіляція в визначених вами режимах?

3. Як із *.obj створити *.exe файл не використовуючи інші режими компілювання?

4. Що таке проект? Які файли він має? Які файли створюються після компілювання проекту?

5. Які труднощі виникли при виконанні визначеного завдання?

Лабораторна робота № 2

Тема: “Типи даних. Введення та виведення даних”

Мета: набути навичок при описі типів даних та при програмуванні з використанням функцій введення і виведення даних.

Теоретичні відомості

Тип даних Кількість байт Діапазон
char int short long float double long double 1 2 2 4 4 8 10 -128…127 -32768…32767 -32768…32767 -2147483648…2147483648 -3.4e38…3.4e38 -1.7e308…1.7e308 -3.4e4932…3.4e4932

Завдання

1. Якими типами ви будете користуватись при обробці даних наступного вигляду:

· скільки раз зустрічається вказана буква в тексті;

· середня вага картини;

· найбільш поширена буква в тексті.

 

2. Змінні мають тип int. Визначте значення кожної наступної змінної.

Пункт Формула Варіанти відповіді
1 2 3 4 5 x = (22 + 6) / 2 * 7 x = 3 + 10 * 6 x = (int) 5.2 + 4.8 y = 12 + 2 * (x = 9/2) x = (5 + 6) / 2 a) 91      б) 2        г) інакше a) 78      б) 63      г) інакше a) 9.8     б) 10      г) інакше a) 20      б) 21      г) інакше a) 10.5   б) 1        г) інакше

 

3. Виправте помилки. Що буде надруковано?

main()

{

int i=1,n;

while(i<10)

{

n=1/i;

i++;

printf(%d,n);

}

printf(Кінець !\n)

 

4. Що буде надруковано?

printf(“Картина продана за $%2.2f.\n ”,2.345e2);

5. Що буде надруковано?

printf(“%c%c%c\n ”,’H’,105,’\41’);

 

6. Що буде надруковано?

#define Q “C++ –  об’єктно-орієнтована мова”

void main()

{

printf(“%s\n Рядок має %d символів.\n”, Q, strlen(Q));

}

 

7. Виправте помилки. Що буде надруковано?

#define B Я вважав

#define X=1

main()

{

int xp, age;

char name[100];

printf(Визначте, будь ласка, своє ім’я. \n);

scanf(“%s”,&name);

printf(Дуже добре, %s, Скільки вам років ?\n, &name);

scanf(“%d”,&age);

xp = age + X;

printf(“%s Вам %d.\n”,B,xp);

}

 

8. Ваша думка на використання виразів:

putchar(getchar());

getchar(putchar());

 

Контрольні питання:

1. Яким буде результат під час ділення цілих чисел?

2. Яким буде результат під час ділення дробових чисел?

3. Яким буде результат під час ділення змішаних чисел?

4. З якими аргументами працює функція scanf()?

5. Яка з функцій getchar() чи putchar() має аргументи ?

 

Лабораторна робота № 3!!!!!!!!!!!!!!!!!!

Тема: “Програми з розгалуженням”

Мета: набути навичок в програмуванні з використанням умов.

Теоретичні відомості

Програми з розгалуженням використовують умовні оператори:

- простий умовний оператор:

   if (умова) оператор1;

- умовний оператор з альтернативою:

   if (умова) оператор1; else оператор2;

Приклад

Написати алгоритм і програму для обчислення величини y:

 

Блок-схема                                          Програма

 

#include<stdio.h> #include<conio.h> void main() { int x,y; clrscr(); // Введення x scanf(“%d”,&x); if (x<10) y=x*x+128; else y=2*x-13; // Виведення y printf(“y дорівнює %d”,y); }

 


Завдання

У відповідності з вказаним варіантом написати алгоритм і програму для обчислення величини z в залежності від введених користувачем заданих значень x та y.

№ варіанту

Функція

Значення x та y

Варіант 1   x1 = 20 y1 = 5 x2 = 5 y2 = 65
Варіант 2   x1 = 14 y1 = 4 x2 = 15 y2 = 100
Варіант 3   x1 = 6 y1 = 10 x2 = 2 y2 = 10
Варіант 4   x1 = 10 y1 = 25 x2 = 60 y2 = 25
Варіант 5   x1 = 79 y1 = 10 x2 = 10 y2 = 20
Варіант 6   x1 = 10 y1 = 15 x2 = 20 y2 = 15
Варіант 7   x1 = 100 y1 = 15 x2 = 20 y2 = 15
Варіант 8   x1 = 20 y1 = 5 x2 = 5 y2 = 65
Варіант 9   x1 = 14 y1 = 140 x2 = 15 y2 = 100
Варіант 10   x1 = 6 y1 = 10 x2 = 2 y2 = 10
Варіант 11   x1 = 10 y1 = 25 x2 = 60 y2 = 25
Варіант 12   x1 = 79 y1 = 10 x2 = 10 y2 = 20
Варіант 13   x1 = 10 y1 = 15 x2 = 20 y2 = 15
Варіант 14   x1 = 100 y1 = 15 x2 = 20 y2 = 55
Варіант 15   x1 = 20 y1 = 10 x2 = 5 y2 = 65
Варіант 16   x1 = 14 y1 = 4 x2 = 15 y2 = 100
Варіант 17   x1 = 6 y1 = 10 x2 = 2 y2 = 10
Варіант 18   x1 = 10 y1 = 25 x2 = 60 y2 = 30
Варіант 19   x1 = 80 y1 = 10 x2 = 10 y2 = 20
Варіант 20   x1 = 10 y1 = 15 x2 = 20 y2 = 15
Варіант 21   x1 = 100 y1 = 15 x2 = 20 y2 = 15
Варіант 22   x1 = 20 y1 = 5 x2 = 5 y2 = 65
Варіант 23   x1 = 14 y1 = 120 x2 = 15 y2 = 50
Варіант 24   x1 = 6 y1 = 10 x2 = 2 y2 = 12
Варіант 25   x1 = 10 y1 = 25 x2 = 60 y2 = 25
Варіант 26   x1 = 79 y1 = 10 x2 = 10 y2 = 20
Варіант 27   x1 = 10 y1 = 15 x2 = 20 y2 = 15
Варіант 28   x1 = 100 y1 = 15 x2 = 20 y2 = 15
Варіант 29   x1 = 100 y1 = 15 x2 = 20 y2 = 25
Варіант 30   x1 = 100 y1 = 20 x2 = 25 y2 = 15

Контрольні питання:

1. З яких важливих функціональних блоків складається проста програма?

2. Скільки байт займають змінні x, y, z?

3. Для чого використовують бібліотечні файли <stdio.h> та <conio.h>?

4. Що необхідно зробити, щоб можна було задати значення змінних x та y рівними 33000?

 

Лабораторна робота № 4

Тема: “Циклічні програми”

Мета: набути навичок в програмуванні з використанням циклів.

Теоретичні відомості

Для виконання повторюваних обчислень використовують оператори циклів:

- цикл з лічильником:

for (ініціалізація;умова;прирощування)оператор;

- цикл з передумовою:

while(умова)оператор;

- цикл із післяумовою:

do оператор;while(умова);

Завдання

1) Ознайомитися з наведеним прикладом. Визначити, які види операторів циклу використовуються в програмі.

2) У відповідності з вказаним варіантом написати алгоритм і програму з використанням циклів.

 

Приклад

Необхідно визначити чи є число простим.

Програма

 


Блок-схема

 


Варіанти завдань

Варіант 1

Задані натуральні числа k, n i дійсні числа al, ... ,akn. Отримати послідовність min(al, ..., ak), min(ak+1, ... , a2k), ... , min(ak(n-1)+1   ,...,akn).

Варіант 2

Отримати всі прості дільники числа n. Параметр n задати при опитуванні.

Варіант 3

Обчислити n! (n! = 1·2·3·...·n). Параметр n задати при опитуванні.

Варіант 4

Обчислити a·(a + 1)·(a + 2)·...·(a + n–1). Параметри n, a задати при опитуванні.

Варіант 5

Натуральне число називається досконалим (рос. – совершенным), якщо воно дорівнює сумі всіх своїх дільників, виключаючи себе самого.

Наприклад, 6 = 1 + 2 + 3, але 8 ¹ 1 + 2 + 4.

Отримати всі досконалі числа, менші n. Параметр n задати при опитуванні.

Варіант 6

Обчислити (1+1/12)*(1+1/22)*...*(1+1/n2). Параметр n задати при опитуванні.

Варіант 7

Знайти натуральне число від 1 до 10000 з максимальною сумою дільників.

Варіант 8

Обчислити

Організувати для обчислення цикл. Параметр x задати при опитуванні.

Варіант 9

Обчислити ((. . . (x+a)2+a)2+...+a)2+a)2+a.

n дужок

Організувати для обчислення цикл. Параметри x, a, n задати при опитуванні.

Варіант 10

Для натурального числа (n£100) визначити рік народження людини. Для цього числа дати найменування "рік", "роки", "років". Вік людини задати при опитуванні.

Варіант 11

Знайти серед чисел 1, 1+1/2, 1+1/2+1/3,... перше, більше за k. Видати його у вигляді 1+1/2+1/3+... на екран. Параметри а, k задати при опитуванні.

Варіант 12

Знайти найменше n, для якого .

Параметр a задати при опитуванні.

Варіант 13

Розсортувати послідовність чисел в порядку зростання. Послідовність задати при опитуванні.

Варіант 14

Розсортувати послідовність чисел в порядку зменшення. Послідовність задати при опитуванні.

Варіант 15

Поле шахової дошки визначається парою натуральних чисел, кожне з яких не більше 8: 1 число – № вертикалі (зліва направо), 2 число – № горизонталі (знизу вгору).

Задано натуральні числа k, l, m, n (всі < 8). На полі (k, l) – кінь. Чи загрожує він полю (m, n)? Параметри k, l, m, n задати при опитуванні.

Варіант 16

Поле шахової дошки визначається парою натуральних чисел, кожне з яких не більше 8: 1 число – № вертикалі (зліва направо), 2 число – № горизонталі (знизу вгору).

Задано натуральні числа k, l, m, n (всі < 8). На полі (k, l) – ферзь. Чи загрожує він полю (m, n)? Параметри k, l, m, n задати при опитуванні.

Варіант 17

Отримати всі прості числа, менші n. Параметр n задати при опитуванні.

Варіант 18

Чому дорівнює сума цифр числа n. Параметр n задати при опитуванні.

Варіант 19

Поле шахової дошки визначається парою натуральних чисел, кожне з яких не більше 8: 1 число – № вертикалі (зліва направо), 2 число – № горизонталі (знизу вгору).

Задано натуральні числа k, l, m, n (всі < 8). Чи одного кольору поля (k, l) i (m, n)? Параметри k, l, m, n задати при опитуванні.

Варіант 20

Поле шахової дошки визначається парою натуральних чисел, кожне з яких не більше 8: 1 число – № вертикалі (зліва направо), 2 число – № горизонталі (знизу вгору).

Задано натуральні числа k, l, m, n (всі < 8). На полі (k, l) – тура. Чи загрожує вона полю (m, n)? Параметри k, l, m, n задати при опитуванні.

Варіант 21

Побудувати послідовності {ai} i=1, 2, ..., 25 i {bk} k = 25, 26, ... , n в порядку зростання. Послідовності задати при опитуванні.

Варіант 22

Знайти 100 перших простих чисел.

Варіант 23

Поле шахової дошки визначається парою натуральних чисел, кожне з яких не більше 8: 1 число – № вертикалі (зліва направо), 2 число – № горизонталі (знизу вгору).

Задано натуральні числа k, l, m, n (всі < 8). Чи можна з поля (k, l) одним ходом ферзя потрапити на поле (m, n)? Якщо ні, то укажіть, як потрапити туди за два ходи? Параметри k, l, m, n задати при опитуванні.

Варіант 24

Поміняти порядок цифр числа n на зворотній. Параметр n задати при опитуванні.

Варіант 25

Задані натуральні числа k, n i дійсні числа a1, ..., akn. Отримати послідовність max(a1 ,...,ak), max(ak+1 ,...,a2k), ..., max(ak(n-1)+1,...,akn).

Варіант 26

Використовуючи бібліотечну функцію random створити на екрані "зоряне небо" із цифр.

Варіант 27

Задані послідовності {ai} i=1, 2, ..., 25 та {bk} k = 1, 2, ..., n.

Отримати {bk} без тих елементів, які входять до {ai}. Послідовності задати при опитуванні.

Варіант 28

Поле шахової дошки визначається парою натуральних чисел, кожне з яких не більше 8: 1 число – № вертикалі (зліва направо), 2 число – № горизонталі (знизу вгору).

Задано натуральні числа k, l, m, n (всі < 8). Чи можна з поля (k, l) одним ходом слона потрапити на поле (m, n)? Якщо ні, то вкажіть, як потрапити туди за два ходи? Припускається, що вказані поля – одного кольору. Параметри k, l, m, n задати при опитуванні.

Варіант 29

Поле шахової дошки визначається парою натуральних чисел, кожне з яких не більше 8: 1 число – № вертикалі (зліва направо), 2 число – № горизонталі (знизу вгору).

Задано натуральні числа k, l, m, n (всі < 8). Чи можна з поля (k, l) одним ходом тури потрапити на поле (m, n)? Якщо ні, то вкажіть, як потрапити туди за два ходи? Параметри k, l, m, n задати при опитуванні.

Варіант 30

Задані дійсні числа a1, a2, ..., a10 i натуральне число n. Послідовність {bk} будується за алгоритмом:

b1 = a1, ..., b10 = a10bk = bk-1 + bk-2 + ... + bk-10, k = 11, 12, ....

Отримати bn. Параметри ai, n задати при опитуванні.

Контрольні питання

1. Який тип має функція main() і чому?

2. Який клас пам’яті мають змінні, що використовуються в програмі?

3. Скільки байт займають змінні, що використовуються в програмі?

4. Чим відрізняються записи i++ та ++і?

 

 

Лабораторна робота № 5

Тема: “Створення функцій”

Мета: набути навичок в програмуванні з використанням своїх власних функцій.

Приклад

Необхідно визначити функцію, яка знаходить модуль числа типу float.

Програма

 

 


Завдання

У відповідності з вказаним варіантом написати алгоритм і програму визначення функції.

Варіант 1

Визначити функцію для знаходження квадрату аргументу типу int.

Варіант 2

Визначити функцію для знаходження max елементу масиву з елементами типу int.

Варіант 3

Визначити функцію для отримання цілого степеню аргументу типу int.

Варіант 4

Визначити функцію для підрахування кількості ненульових бітів в аргументі типу int.

Варіант 5

Визначити функцію, що оцінює, якими буквами – великими чи маленькими представлено букви рядка.

Варіант 6

Визначити функцію для перетворення маленьких букв англійського алфавіту в великі.

Варіант 7

Визначити функцію для визначення довжини рядка знаків, вказаного через аргумент.

Варіант 8

Визначити функцію для копіювання символьних рядків.

Варіант 9

Визначити функцію для порівняння символьних рядків.

Варіант 10

Визначити функцію, яка порівнює довжини двох рядків i видає 0, якщо вони однакові, 1 – перший довший за другого, 2 – перший коротший за другого.

Варіант 11

Визначити функцію, для реалізації перетворення величини типу int в рядок знаків у вигляді числа.

Варіант 12

Визначити функцію, для підрахунку кількості букв ‘і’ в тексті.

Варіант 13

Визначити функцію, для заміни в рядку знаків Space на ‘_’.

Варіант 14

Визначити функцію, яка є аналогом бібліотечної функції atoi.

Варіант 15

Визначити функцію, яка є аналогом бібліотечної функції itoa.

Варіант 16

Визначити функцію, яка для двох чисел типу int видає їх частку i залишок.

Варіант 17

Визначити функцію, яка визначає, скільки раз в рядку зустрічається заданий символ.

Варіант 18

Визначити функцію, яка підраховує кількість рядків в текстовому файлі.

Варіант 19

Визначити функцію, яка є аналогом бібліотечної функції strlen.

Варіант 20

Визначити функцію, яка виконує операцію конкатенації рядків.

Варіант 21

Визначити функцію, яка вставляє в рядок текст на вказане місце.

Варіант 22

Визначити функцію, яка виводить з рядка слово за вказаним номером.

Варіант 23

Визначити функцію, яка підраховує кількість слів в рядку.

Варіант 24

Визначити функцію, яка підраховує кількість слів, введених з клавіатури.

Варіант 25

Визначити функцію, яка підраховує кількість речень, введених з клавіатури.

Варіант 26

Визначити функцію, яка порівнює два рядки.

Варіант 27

Визначити функцію, яка обертає рядок.

Варіант 28

Визначити функцію, яка заповнює рядок вказаним символом.

Варіант 29

Визначити функцію, яка визначає місце останнього вказаного символу в заданому рядку.

Варіант 30

Визначити функцію, яка підраховує кількість букв ‘а’ в символьному рядку.

Контрольні питання

1. Чим визначається тип функції?

2. Які класи пам’яті використовуються в програмі та як довго існують змінні?

3. Скільки байт займають змінні, що використовуються в програмі?

Лабораторна робота № 6

Тема: “Емулятор”

Мета: набути навичок в програмуванні емуляторів.

Приклад

Необхідно за вказаною функцією намалювати схему, використовуючи елементи І, Ні, Або.

 

Для зображення елементів схем використовують наступні позначення та відповідні їм логічні операції:

Операція Призначення Позначення у мові С++ Позначення на схемі
логічне НІ !
y = x1 + x2 логічне АБО ÷÷
y = x1 x2 логічне І &&

Завдання

У відповідності з варіантом написати програму, що емулює роботу схеми. Вхідні дані ввести безпосередньо встановивши курсор на входи x1, x2, x3, x4 (лише 0 та 1), результат отримати на виході у.

Варіант 1

Варіант 2

Варіант 3

Варіант 4

Варіант 5

Варіант 6

Варіант 7

Варіант 8

Варіант 9

Варіант 10

Варіант 11

Варіант 12

Варіант 13

Варіант 14

Варіант 15

Варіант 16

Варіант 17

Варіант 18

Варіант 19

Варіант 20

Варіант 21

Варіант 22

Варіант 23

Варіант 24

Варіант 25

Варіант 26

Варіант 27

Варіант 28

Варіант 29

Варіант 30

Контрольні питання:

1. Чим відрізняється символ ‘0’ від числа 0?

2. Які класи пам’яті використовуються в програмі та як довго існують змінні?

3. Скільки байт займають змінні, що використовуються в програмі?

4. В якій бібліотеці знаходиться функція gotoxy()?

Лабораторна робота № 7

Тема: “Багатомірні масиви”

Мета: набути навичок в роботі з багатомірними масивами.

Приклад

Необхідно перемножити дві матриці, що вже задані при ініціалізації.

Для множення використовують формулу .

До того ж матриці повинні бути узгоджені, тобто .

Програма

 

Завдання

У відповідності з варіантом написати програму. Матриці можуть бути будь-якого розміру, їх необхідно ввести з клавіатури.

Варіант 1

Знайти рішення системи рівнянь методом Гауса.

Варіант 2

Для будь-якої квадратної матриці визначити визначник.

Варіант 3

Знайти рішення системи рівнянь методом матриць.

Варіант 4

Знайти транспоновану матрицю до заданої.

Варіант 5

Знайти зворотну матрицю.

Варіант 6

Знайти добуток n матриць.

Варіант 7

Знайти суму n матриць.

Варіант 8

Знайти визначник Аn = А·А·А·А·...·А

 

Варіант 9

Помножити матрицю на const.

Варіант 10

Визначити чи є матриця В зворотною матриці А.

Варіант 11

Яку матрицю В потрібно додати до матриці А, щоб отримати одиничну матрицю.

Варіант 12

Знайти визначник суми n матриць.

Варіант 13

Знайти визначник добутку n матриць.

Варіант 14

Перевірити чи є матриця симетричною.

Варіант 15

Перевірити на виродженiсть матрицю.

 

Контрольні питання

1. Скільки байт займають масиви, що використовуються в програмі?

2. Які класи пам’яті використовуються в програмі та як довго існують змінні?

3. Скільки байт займають змінні?

Лабораторна робота № 8

Тема: “Використання власних функцій”

Мета: набути навичок в роботі з власними функціями та перевірити її роботу з використанням бібліотечних функцій.

Теоретичні відомості

Багато функцій обчислюються за допомогою чисельних рядів.

Наведемо декілька функцій та їх ряди Маклорена:

 

 

 

 

 

 

 

 

 

Завдання

Скласти функцію, яка обчислює задану функцію, що розкладено в ряд Маклорена, із заданою точністю обчислень.

Перевірити отриманий результат роботи функції з використанням бібліотечних функцій.

  Функція Точність
Варіант 1 e ½ 0,00001
Варіант 2 e-1/5 0,00001
Варіант 3 cos 18 0,00001
Варіант 4 (1+0.1)(1/5) ,0001
Варіант 5 5(1+0.04) (1/3) 0,001
Варіант 6 ln(1+0.04) 0,0001
Варіант 7 arctg(1/5) 0,001
Варіант 8 ln 2 0,0001
Варіант 9 e 1/4 0,00001
Варіант 10 e (-1/2) 0,00001
Варіант 11 sin 9 0,0001
Варіант 12 ch 0.3 0,0001
Варіант 13 arctg(3 (-1/2)) 0,00001
Варіант 14 27 (1/2) 0,001
Варіант 15 ln 0.98 0,0001
Варіант 16 e 1/2 0,00001
Варіант 17 e (-1/5) 0,00001
Варіант 18 cos 18 0,00001
Варіант 19 (1+0.1)(1/5) 0,0001
Варіант 20 5(1+0.04) (1/3) 0,001
Варіант 21 ln(1+0.04) 0,0001
Варіант 22 arctg(1/5) 0,001
Варіант 23 ln 2 0,0001
Варіант 24 e (-1/2) 0,00001
Варіант 25 sin 9 0,0001
Варіант 26 ch 0.3 0,0001
Варіант 27 arctg(3(-1/2)) 0,00001
Варіант 28 27 (1/2) 0,001
Варіант 29 ln 0.98 0,0001
Варіант 30 cos 35 0,00001

Контрольні питання

1. Чим визначається тип функції?

2. Які класи пам’яті використовуються в програмі та як довго існують змінні?

3. Скільки байт займають змінні, що використовуються в програмі?

 

 

Лабораторна робота № 9

Тема: “Структури”

Мета: набути навичок в роботі з власними структурами.

Теоретичні відомості

Встановлення структурного шаблону:

struct book {

              char title[40];

              char autor[30];

              float value;

};

Визначення структурних змінних:

     struct book library;  або      struct book {

                                                              char title[40];

                                                                             char autor[30];

                                                                             float value;

                                                                   } library;

Завдання

Скласти та вiдлагодити програму для рішення наступної економічної задачі. Результати задачі у вигляді таблиці виводити на екран дисплея.

В таблицях варіантів знаком „х” помічені параметри задачі, що потребують обчислень.

В звіт до лабораторної роботи включити таблицю, яку ввести як структуру.

Параметри задачі пов’язані формулою:

В = К·С.

Варіант 1

Шифр виробу Витрати виробництва, грн. (В) Випущено виробів, шт. (К) Собівартість одиниці, грн. (С)
10 11 12 13 14 15 3456,00 5487,50 4181,27 6234,36 1279,12 2347,34 226 331 252 379 87 152 х x x x x x
Всього x x  

 

Варіант 2

Шифр виробу Витрати виробництва, грн. (В) Випущено виробів, шт. (К) Собівартість одиниці, грн. (С)
10 11 12 13 14 15 х x x x x x 436 331 252 379 87 152 160,25 200,00 125,50 500,00 250,50 600,75
Всього x x  

 

Варіант 3

Шифр виробу Витрати виробництва, грн. (В) Випущено виробів, шт. (К) Собівартість одиниці, грн. (С)
10 11 12 13 14 15 3468,23 5487,50 4181,27 6234,36 1279,12 2347,34 x x x x х х 120,75 225,00 250,00 350,50 480,00 185,50
Всього x x  

 

Контрольні питання

1. Чим об’єднання відрізняються від структур?

2. Вкажіть шаблон, тип і ім’я структури?

3. Вкажіть скільки байт займає структура?

4. Як здійснюється доступ до елементів структури?

 

 


Лабораторна робота № 10

Тема: “Робота з файлами”

Мета: набути навичок роботі з власними структурами.

Теоретичні відомості

Робота з файлом складається з таких кроків:

а) Оголосити змінну типу покажчик на FILE:

   FILE *str;

б) Викликати функцію fopen, щоб зв'язати покажчик на потік з конкретним файлом. Наприклад, команда

   str = fopen("a:\my.dat", "r");

зв'язує покажчик на потік str з файлом my.dat на дискеті для режиму r (зчитування даних).

в) Для зчитування даних з файлу використовують функції:

- для форматованого зчитування:

int fscanf (FILE *str, const char *format [, argument]... );

- для неформатованого зчитування:

size_t fread (void *buffer, size_t size, size_t count, FILE *str);

Для запису даних у файл використовують функції:

- для форматованого запису:

int fprintf(FILE *str, const char *format [, argument ]...);

- для неформатованого запису:

size_t fwrite(void *buffer, size_t size, size_t count, FILE *str);

Завдання

Скласти та налагодити програму для рішення задачі згідно з індивідуальним завданням.

Вихідними даними задачі є матриця розмірності n´m, що записана у текстовому файлі data10.txt, який має таку структуру:

n m

а11 а12 ... а1m

а21 а22 ... а2m

… … …

аn1 аn2 ... аnm

Результати задачі виводити на екран дисплея та записувати у текстовий файл rez10-B.txt (де В – номер варіанту).

Варіант 1

Замінити від’ємні елементи матриці нулями, а додатні – одиницями та підрахувати кількість відповідних замін.

Варіант 2

Поміняти місцями найбільші та найменші елементи матриці та підрахувати кількість таких замін.

Варіант 3

Знайти для кожного рядка найбільший і найменший елементи і поміняти їх місцями з першим і останнім елементами рядка.

Варіант 4

Знайти для кожного рядка найбільший елемент і поміняти його з елементом головної діагоналі цього ж рядка.

Варіант 5

Транспонувати матрицю.

Варіант 6

Для кожного рядка поміняти місцями найбільший і перший елементи рядка.

Варіант 7

Поміняти всі елементи матриці місцями симетрично додаткової діагоналі.

Варіант 8

Поміняти місцями стовпці з максимальним та мінімальним елементами матриці.

Варіант 9

Знайти рядок з найбільшою кількістю нулів і поміняти його місцями з першим рядком.

Варіант 10

Поміняти місцями елементи головної і додаткової діагоналі.

Варіант 11

Знайти на головній і додатковій діагоналі максимальні елементи і поміняти їх місцями.

Варіант 12

Поміняти місцями відповідні елементи першого ряду і головної діагоналі.

Варіант 13

Поміняти місцями рядки з максимальним та мінімальним елементами матриці.

Варіант 14

Знайти рядки с найбільшою та найменшою сумою елементів. Вивести суми елементів для кожного рядка та помітити рядки з найбільшою та найменшою сумою.

Варіант 15

Для кожного рядка матриці обчислити та вивести кількість елементів, значення яких більше заданого числа С.

Контрольні питання

1. Які стандартні покажчики на потоки містить бібліотека stdio.h?

2. Які типові операції необхідно виконати при запису даних у файл?

3. Які типові операції необхідно виконати при читанні даних з файлу?

4. Для яких режимів роботи можна відкрити файл?

5. Як виконати форматований запис даних у файл?

 

Додаток 1

Титульна сторінка

 

 

Додаток 2


Дата добавления: 2018-08-06; просмотров: 265; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!