рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Навчальної дисципліни Основи програмування та алгоритмічні мови

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

ХАРКІВСЬКИЙ НАЦІОНАЛЬНИЙ ЕКОНОМІЧНИЙ УНІВЕРСИТЕТ

 

 

Методичні рекомендації до лабораторних робіт з

навчальної дисципліни

«Основи програмування та алгоритмічні мови»

для студентів напряму підготовки 0804 "Комп’ютерні науки"

Всіх форм навчання

Частина 2

 

Викладачі: Парфьонов Ю.Е., Федорченко В.М., Лосєв М. Ю.,

Щербаков О.В.

 

Відповідальний за випуск Пономаренко В.С.

 

Харків, Вид. ХНЕУ, 2009


Затверджено на засіданні кафедри інформаційних систем.

Протокол № від . 2009 р.

 

Методичні рекомендації до лабораторних робіт з навчальної дисципліни «Основи програмування та алгоритмічні мови» для студентів напряму підготовки "Комп’ютерні науки" всіх форм навчання. Частина 2./ Укл. М. Ю.Лосєв, Ю. Е.Парфьонов, В. М.Федорченко, О. В. Щербаков– Харків: Вид. ХНЕУ, 2009. – 210 с. (Укр. мов.)

 

Подано методичні рекомендації до лабораторних робіт з другої частини навчальної дисципліни «Основи програмування та алгоритмічні мови». Рекомендовано для студентів напряму підготовки "Комп’ютерні науки".

 

 


ЗАГАЛЬНІ ПОЛОЖЕННЯ

Перед виконанням кожної роботи необхідно вивчити відповідний лекційний матеріал і звернути особливу увагу на загальні положення, передуючі опису… Наведені приклади програм слід розглядати лише як один із можливих варіантів… Методичні рекомендації містять опис 8 лабораторних робіт. Кожен розділ, який відповідає окремій лабораторній роботі,…

Вимоги до оформлення звіту

Поля сторінки: ліве – 2,5 см, праве – 1,5 см, верхнє й нижнє – 2 см; шрифт Times New Roman (висота – 14 пт), міжрядковий інтервал – множник 1,1.

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

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


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

Підготовка і розв’язання на ПК задач обробки масивів з використанням покажчиків

Мета лабораторної роботи - освоїти основні прийоми використання покажчиків в програмах на мові C++

Перед виконанням лабораторної роботи студент повинен знати:

Поняття покажчика і основні операції з покажчиками

Взаємозв'язок між покажчиками і масивами

Основи динамічного розподілу пам'яті.

Після виконання лабораторної роботи студент повинен уміти: використовувати покажчики при розробці програм на мові C++.

 

Теоретичний матеріал

Покажчики

Покажчик на функцію містить адресу в сегменті коду, по якому розташовується виконуваний код функції, тобто адреса, по якій передається управління… тип (*ім'я) ( список_типов_аргументов ); Наприклад, оголошення:

Ініціалізація покажчиків

При визначенні покажчика треба прагнути виконати його ініціалізацію, тс є привласнення початкового значення. Ненавмисне використання… Існують наступні способи ініціалізації покажчика: 1. Привласнення покажчику адреси існуючого об'єкту:

Операції з покажчиками

Операція разадресації,або разименування, призначена для доступу до величини, адреса якої зберігається в покажчику. Цю операцію можна використовувати…   char а; // змінна типу char

Завдання на лабораторну роботу

Скласти програму, що виконує з одновимірним масивом дії відповідно до варіанту завдання. Замість класичного доступу до елементів масиву (наприклад, MyArray[i]) і виконання операцій над елементами використовувати покажчики. Обраработку масиву виконати у функції. Функцію в головній програмі викликати через покажчик. Пам'ять під масив виділити динамічно.

Скласти програму, що виконує з одновимірним масивом наступні дії:

Варіант 1

В одновимірному масиві, що складається з n дійсних елементів, обчислити:

· суму негативних елементів масиву;

· множення елементів масиву, розташованих між максимальним і мінімальним елементами.

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

Варіант 2

В одновимірному масиві, що складається з n речових елементів, обчислити:

· суму позитивних елементів масиву;

· множення елементів масиву, розташованих між максимальним за модулем і мінімальним за модулем елементами.

Упорядкувати елементи масиву за убуванням.

Варіант 3

У одновимірному масиві, що складається з цілих елементів, обчислити:

· множення елементів масиву з парними номерами;

· суму елементів масиву, розташованих між першим і останнім нульовими елементами.

Перетворити масив так, щоб спочатку розташовувалися всі позитивні елементи, а потім — всі негативні (елементи, які дорівнюють 0, вважати позитивними).

 

Варіант 4

В одновимірному масиві, що складається з n речових елементів, обчислити:

· суму елементів масиву з непарними номерами;

· суму елементів масиву, розташованих між першим і останнім негативними елементами.

Стискувати масив, видаливши з нього всі елементи, модуль яких не перевищує 1. Елементи, що звільнилися в кінці масиву, заповнити нулями.

Варіант 5

В одновимірному масиві, що складається з n дійсних елементів, обчислити:

· максимальний елемент масиву;

· суму елементів масиву, розташованих до останнього позитивного елементу.

Стискувати масив, видаливши з нього всі елементи, модуль яких знаходиться в інтервалі [а, b]. Елементи, що звільнилися в кінці масиву, заповнити нулями.

Варіант 6

В одновимірному масиві, що складається з n речових елементів, обчислити:

· мінімальний елемент масиву;

· суму елементів масиву, розташованих між першим і останнім позитивними елементами.

Перетворити масив так, щоб спочатку розташовувалися всі елементи, які дорівнюють нулю, а потім — всі останні.

Варіант 7

В одновимірному масиві, що складається з n цілих елементів, обчислити:

· номер максимального елементу масиву;

· множення елементів масиву, розташованих між першим і другим нульовими елементами.

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

Варіант 8

В одновимірному масиві, що складається з n речових елементів, обчислити:

· номер мінімального елементу масиву;

· суму елементів масиву, розташованих між першим і другим негативними елементами.

Перетворити масив так, щоб спочатку розташовувалися всі елементи, модуль яких не перевищує 1, а потім — всі останні.

Варіант 9

В одновимірному масиві, що складається з n дійсних елементів, обчислити:

· максимальний по модулю елемент масиву;

· суму елементів масиву, розташованих між першим і другим позитивними елементами.

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

Варіант 10

В одновимірному масиві, що складається з n цілих елементів, обчислити:

· мінімальний за модулем елемент масиву;

· суму модулів елементів масиву, розташованих після першого елементу, який дорівнює нулю.

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

Варіант 11

В одновимірному масиві, що складається з n речових елементів, обчислити:

· номер мінімального за модулем елементу масиву;

· суму модулів елементів масиву, розташованих після першого негативного елементу.

Стискувати масив, видаливши з нього всі елементи, величина яких знаходиться в ін­тервалі [а, b]. Елементи, що звільнилися в кінці масиву, заповнити нулями.

Варіант 12

В одновимірному масиві, що складається з n дійсних елементів, обчислити:

· номер максимального за модулем елементу масиву;

· суму елементів масиву, розташованих після першого позитивного елементу.

Перетворити масив так, щоб спочатку розташовувалися всі елементи, ціла частина яких лежить в інтервалі [а, b], а потім — всі останні.

Варіант 13

В одновимірному масиві, що складається з n дійсних елементів, обчислити:

· кількість елементів масиву, розташованих в діапазоні від А до В;

· суму елементів масиву, розташованих після максимального елементу.

Упорядкувати елементи масиву за убуванням модулів елементів.

Варіант 14

В одновимірному масиві, що складається з n дійсних елементів, обчислити:

· кількість елементів масиву, які дорівнюють 0;

· суму елементів масиву, розташованих після мінімального елементу.

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

Варіант 15

В одновимірному масиві, що складається з n дійсних елементів, обчислити:

· кількість елементів масиву, які більше З;

· Множення елементів масиву, розташованих після максимального за модулем елементу.

Перетворити масив так, щоб спочатку розташовувалися всі негативні елементи, а потім — всі позитивні (елементи, які дорівнюють 0, вважати позитивними).

Варіант 16

В одновимірному масиві, що складається з n дійсних елементів, обчислити:

· кількість негативних елементів масиву;

· суму модулів елементів масиву, розташованих після мінімального за модулем елементу.

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

Варіант 17

В одновимірному масиві, що складається з n цілих елементів, обчислити:

· кількість позитивних елементів масиву;

· суму елементів масиву, розташованих після останнього елементу, який дорівнює нулю.

Перетворити масив так, щоб спочатку розташовувалися всі елементи, ціла частина яких не перевищує 1, а потім — всі останні.

Варіант 18

В одновимірному масиві, що складається з n речових елементів, обчислити:

· кількість елементів масиву, які менше З;

· суму цілих частин елементів масиву, розташованих після останнього негативного елементу.

Перетворити масив так, щоб спочатку розташовувалися всі елементи, що відрізняються від максимального не більше ніж на 20%, а потім — всі останні.

Варіант 19

У одновимірному масиві, що складається з n речових елементів, обчислити:

· множення негативних елементів масиву;

· суму позитивних елементів масиву, розташованих до максимального елементу.

Змінити порядок проходження елементів у масиві на зворотний.

Варіант 20

В одновимірному масиві, що складається з n речових елементів, обчислити:

· множення позитивних елементів масиву;

· суму елементів масиву, розташованих до мінімального елементу.

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

 

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

1. Дайте визначення динамічного масиву.

2. Які операції можливі з покажчиками?

3. Вкажіть приклади завдання розмірності динамічного масиву.

4. Як можна ініціалізувати елементи массиву з допомогою покажчи-ків?

5. Яке інформаційне навантаження несе ім'я масиву?

6. Яка операція використовується для визначення адреси довільного елементу масиву?

 

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

Підготовка і рішення на ПК завдань з використанням рядків і макросів.

 

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

Перед виконанням лабораторної роботи студент повинен знати:

- визначення і правила опису рядків з використанням засобів препроцесорної обробки;

- основні функції для роботи з рядками і файлами;

Після виконання лабораторної роботи студент повинен уміти:

- виконувати основні операції з рядками: створення, копіювання, конкатенацію, пошук підрядка в рядку і т.д.;

- розробляти програми для вирішення завдань з використанням багатофайлових програм.

 

Теоретичний матеріал

 

Рядки

Тип char. Значеннями типу char є цілі числа із знаком (signed char) або без знаку (unsigned char), які поміщаються в один байт. Від інших цілих типів його відрізняє наявність символічних констант вигляду:

'A' - для символів, що зображаються, '\ooo' і '\xhhh' - для всіх символів без виключення

де ооо - 8-ічниє, а hhh - 16-ічниє цифри.

Декілька символів мають власні імена :

\n - новий рядок

\t - горизонтальна табуляція

\v - вертикальна табуляція

\b - повернення назад

\r - повернення каретки

\а - дзвінок (attention)

\ - зворотна коса межа

\' - одинарна лапка

\” - подвійна лапка

Зауваження. Значення типу char, що виводяться у вихідний потік cout, виглядають як символи, а не як числа, тільки завдяки визначенню класу cout.

 

Рядки символів як масиви

Рядкова константа - це послідовність символів, поміщена в подвійні лапки. У числі символів рядка можуть знаходитися будь-які символьні константи,… Дзвінок в кінці повідомлення \007\n. Сусідні рядкові константи транслятором “склеюються”. Наприклад

Рядкові бібліотечні функції

char *stpcpy(char *dest, const char *src); Копіює символи рядка, поки не скопіює нульовий символ. Повертає величину dest… char *strcat(char *dest, const char *src);

Різновиди введення і виведення

Засоби введення і висновку формально не входять в стандарт мов С і С++, але фактично стандартізовани і містяться в системних бібліоте-ках функцій.

У них можна виділити наступні групи:

1) консольні - орієнтовані на введення з клавіатури і виведення на дисплей. Описані в заголовному файлі conio.h.

2) файлові - призначені для роботи з файлами. Описані в io.h.

3) потокові - аналогічні файловим, але надають більший сервіс програмісту. Описані в stdio.h.

4) засоби ДОС - введення і виведення функціями операційної системи. Описані в dos.h.

5) об'єктні - об'єктно-орієнтоване введення/виведення, тільки в С++. Описані в iostream.h, fstream.h, iomanip.h.

 

Відкриття і закриття потоку

Відкриває потік функція FILE* fopen( const char *filename,// ім'я файлу, що асоціюється з потоком

Введення і виведення символів

Читання символу з потоку виконується функцією

int fgetc(FILE *stream) - повертає код символу. При помилці повертає EOF.

Запис символу в потік виконується функцією

int fputc(int з, FILE *stream) - повертає код символу з. При помилці повертає EOF.

Читання символу із стандартного потоку stdin виконується функцією int fgetchar(void);

Запис символу в стандартний потік stdout виконується функцією int fputchar(int з);

Завдання. Скопіювати файл xxx.bin у файл yyy.bin.

Рішення.

#include <stdio.h>

void main() { FILE *in = fopen (“noname00.cpp”,”rt”);

FILE *out = fopen (“noname00.000”,”wt”);

if (!in) return;

while (!feof(in))

fputc(fgetc(in), out);

fcloseall(); }

 

Введення і виведення рядків

char *fgets( char *s, // покажчик на буфер, що приймає рядок int n, // гранична кількість читаних символів (звичайно розмір буфера)

Введення і виведення записів

Читання записів з потоку виконується функцією

size_t fread(

void *ptr, // покажчик на буфер в пам'яті, що приймає записи

size_t size, // розмір запису в байтах

size_t n, // кількість читаних записів

FILE *stream

) - при успіху повертає n, при невдачі - кількість прочитаних записів, можливо нульова.

Загальна кількість читаних байтів рівне n *size.

Виведення записів в потік виконується функцією

 

size_t fwrite(

const void *ptr,

size_t size

size_t n

FILE* stream

) - додає вказану кількість записів у файл.

Сенс параметрів і значення, що повертається, той же, що у функції fread.

 

Управління покажчиком файлу

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

int fseek(FILE *stream,

long offset, // зсув покажчика

int whence // відлік зсуву

) - повертає 0 при успіху.

 

При помилці, викликаною неможливістю відкрити файл або пристрій, повертає ненульове значення. Інші помилки не діагностуються.

Для вказівки точки відліку зсуву використовують константи:

SEEK_SET = 0 - відлік від початку файлу;

SEEK_CUR = 1 - відлік від кінця файлу;

SEEK_END = 2 - відлік від поточної позиції покажчика.

Функція

long ftell(FILE *stream ) - повертає поточну позицію покажчика.

При помилці повертає 1 і встановлює глобальну змінну errno в ненульове значення.

Зауваження. Ті ж дії виконуються функціями fsetpos і fgetpos.

 

Стан потоку

Макрос, перевіряючий досягнення кінця файлу потоку:

int feof (FILE *stream) - повертає не 0, якщо досягнутий кінець файлу і 0 - інакше.

Макрос, що тестує індикатор помилки потоку:

int ferror(FILE *stream) - повертає не 0, якщо виявлена помилка запису або читання.

Одного разу встановлений індикатор помилки зберігається до виконання функцій clearerr, rewind або закриття потоку. Індикатор “кінець файлу” встановлюється заново кожною операцією читання.

void clearerr(FILE *stream) - обнуляє індикатори помилки і кінця файлу.

void rewind(FILE *stream) - робить те ж, що clearerr, а також встановлює покажчик в початок файлу.

При виникненні помилки глобальна змінна errno (визначена у файлах errno.h, stddef.h, stdlib.h) одержує ненульовий номер помилки.

 

Форматоване виведення

int fprintf (FILE *stream, const char *format // рядок формату [, argument, ...] // значення, що виводяться

Форматоване введення

int fscanf (FILE *stream, const char *format [, address, ...]

Функції введення з вказівкою заголовного файлу і вхідного потоку

cprintf CONIO.H Консоль
fprintf STDIO.H Потік
printf STDIO.H stdout
sprintf STDIO.H Рядок

 

В таблиці 2.2. перераховані інші функції виведення, формату, з вказівкою заголовного файлу і вхідного потоку.

 

 

Таблиця 2.2.

Функції виведення з вказівкою заголовного файлу і вхідного потоку

 

cscanf CONIO.H Консоль
fscanf STDIO.H Поток
scanf STDIO.H stdin
sscanf STDIO.H Рядок

Завдання на лабораторну роботу

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

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

За допомогою текстового редактора створити файл, що містить текст, довжина якого не перевищує 1000 символів (довжина рядка не повинна перевищувати 70 символів). Ім'я файлу повинне мати розширення DAT.

Варіант 1

Написати програму, яка:

· Виводить текст на екран дисплея;

· По натисненню довільної клавіші по черзі виділяє кожне речення тексту;

· Визначає кількість речень в тексті.

Варіант 2

Написати програму, яка:

· Виводить текст на екран дисплея;

· По натисненню довільної клавіші по черзі виділяє кожне слово тексту;

· Визначає кількість слів в тексті.

 

Варіант 3

Написати програму, яка:

· Виводить текст на екран дисплея;

· По натисненню довільної клавіші по черзі виділяє кожне слово тексту, що закінчується на голосну букву;

· Визначає кількість слів в тексті, що закінчуються на голосну букву.

Варіант 4

Написати програму, яка:

· Виводить текст на екран дисплея;

· По натисненню довільної клавіші по черзі виділяє кожне речення тексту в послідовності 2, 3, 1.

Варіант 5

Написати програму, яка:

· Виводить текст на екран дисплея;

· По натисненню довільної клавіші по черзі виділяє кожне із слів тексту, у яких перший і останній символи співпадають;

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

Варіант 6

Написати програму, яка:

· Виводить текст на екран дисплея;

· По натисненню довільної клавіші по черзі виділяє кожне слово тексту, що починається на голосну букву;

· Визначає кількість слів в тексті, що починаються на голосну букву.

Варіант 7

Написати програму, яка:

· Виводить текст на екран дисплея;

· Визначає кількість символів в щонайдовшому слові;

· По натисненню довільної клавіші по черзі виділяє кожне слово тексту, що містить максимальну кількість символів.

Варіант 8

Написати програму, яка:

· Виводить текст на екран дисплея;

· Визначає кількість символів в найкоротшому слові;

· По натисненню довільної клавіші по черзі виділяє кожне слово тексту, що містить мінімальну кількість символів.

Варіант 9

Написати програму, яка:

· Виводить текст на екран дисплея;

· Визначає в кожнім реченні тексту кількість символів, відмінних від букв і пропуску;

· По натисненню довільної клавіші по черзі виділяє кожне речення тексту, а у виділеній пропозиції - по черзі всі символи, відмінні від букв і пропуску.

Варіант 10

Написати програму, яка:

· Виводить текст на екран дисплея;

· Визначає кількість пропозицій тексту і кількість слів в кожнім реченні;

· По натисненню довільної клавіші по черзі виділяє кожне речення тексту, а у виділенім реченні - по черзі всі слова.

Варіант 11

Написати програму, яка:

· Виводить текст на екран дисплея;

· Визначає кількість букв ‘а’ в останньому слові тексту;

· По натисненню довільної клавіші по черзі виділяє останнє слово, а у виділеному слові по черзі всі букви ‘а’.

Варіант 12

Написати програму, яка:

· Виводить текст на екран дисплея;

· Визначає щонайдовшу послідовність цифр в тексті (вважати, що будь-яка кількість пропусків між двома цифрами не перериває послідовності цифр);

· По натисненню довільної клавіші по черзі виділяє кожну послідовність цифр, що містить максимальну кількість символів.

Варіант 13

Написати програму, яка:

· Виводить текст на екран дисплея;

· Визначає порядковий номер заданого слова в кожнім реченні тексту;

· По натисненню довільної клавіші по черзі виділяє кожне речення тексту, а у виділеній реченні - задане слово.

Варіант 14

Написати програму, яка:

· Виводить текст на екран дисплея;

· По натисненню довільної клавіші по черзі виділяє в тексті задане слово (задане слово вводиться з клавіатури);

· Виводить текст на екран дисплея ще раз, викидаючи з нього задане слово і видаляючи зайві пропуски.

Варіант 15

Написати програму, яка:

· Виводить текст на екран дисплея;

· По натисненню довільної клавіші по черзі виділяє в тексті задані слова, які потрібно поміняти місцями (задані слова вводиться з клавіатури);

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

Варіант 16

Написати програму, яка:

· Виводить текст на екран дисплея;

· По натисненню довільної клавіші по черзі виділяє в тексті задане слово (задане слово вводиться з клавіатури);

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

Варіант 17

Написати програму, яка:

· Виводить текст на екран дисплея;

· Виводить текст на екран дисплея ще раз, вставляючи в кожну пропозицію як остання задане слово (задане слово вводиться з клавіатури);

· По натисненню довільної клавіші по черзі виділяє в тексті вставлене слово.

Варіант 18

Написати програму, яка:

· Виводить текст на екран дисплея;

· По натисненню довільної клавіші по черзі виділяє в тексті зайві пропуски між словами;

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

Варіант 19

Написати програму, яка:

· Виводить текст на екран дисплея;

· По натисненню довільної клавіші по черзі виділяє в тексті задане слово (задане слово вводиться з клавіатури);

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

Варіант 20

· Виводить текст на екран дисплея; · Визначає найбільшу кількість підряд пропусків, що йдуть, в тексті; · По натисненню довільної клавіші по черзі виділяє кожну з послідовностей пропусків максимальної довжини.

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

Підготовка і рішення на ПК завдань з використанням рядків і макросів.

 

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

Перед виконанням лабораторної роботи студент повинен знати:

визначення і використання засобів препроцесорної обробки;

основні засоби роботи з макросами.

Після виконання лабораторної роботи студент повинен уміти:

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

 

Теоретичний матеріал

Стадії і команди препроцесорної обробки

Препроцесорна обробка відповідно до вимог стандарту мови С++ включає декілька стадій, що виконуються послідовно. Конкретна реалі-зація транслятора… всі системно-залежні позначення (наприклад, системно залежний індикатор кінця… ·кожна пара з символів \' і "кінець рядка" забираються, і тим самим наступний рядок початкового файлу…

Включення текстів з файлів

#include <имя_файла> // Ім'я в кутових дужках #include "имя_файла" // Ім'я в лапках Якщо имя_файла - в кутових дужках, то препроцесор розшукує файл в стандартних системних каталогах. Якщо имя_файла…

Умовна компіляція

#if константний вираз #ifdef ідентифікатор #ifndef ідентифікатор

Макропідстановки засобами препроцесора

#define ідентифікатор рядок заміщення Така директива зручна, проте вона має істотний недолік - рядок заміщення… #define ім'я (список_параметров) рядок__заміщення

Завдання на лабораторну роботу

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

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

Варіанти для виконання завдання знаходяться в лабораторній роботі №2 методичних рекомендацій.

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

1. Дайте визначення макросу.

2. Для чого використовується умовна компіляція?

3.Як можно захиститись від повторного включення модулів в заголовних файлах?

4. Які дії можно виконувати з допомогою директив препроцесора?

5. Що розміщується в заголовних файлах?

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

Підготовка і рішення на ПК завдань обробки масивів структур

 

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

Після виконання лабораторної роботи студент повинен знати:

- основні правила роботи із структурними типами даних;

- особливості застосування маніпуляторів потоку setw і setprecision.

Після виконання лабораторної роботи студент повинен уміти:

- обгрунтовувати доцільність застосування структурних типів даних при рішенні типових економічних задач;

- описувати нові типи і створювати відповідні екземпляри структур;

- здійснювати доступ до елементів даним (полям) структури;

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

 

Теоретичний матеріал

Структури - це складені типи даних, побудовані з використанням інших типів. Вони є об'єднаний загальним ім'ям набір даних різних типів. Саме тим, що… Окремі дані структури називаються елементами або полями. Елементи однієї і… Відповідно до синтаксису мови опис структури починається із службового слова struct, услід за яким поміщається вибране…

Масиви структур.

Student BestStudent[100]; В результаті буде створений сто елементний масив BestStudent типу Student.…  

ФОРМУВАННЯ ДОКУМЕНТА

ДОКУМЕНТ ПОВИНЕН МІСТИТИ3 РЯДКИ - ЗАПИСИ:

ФОРМУВАННЯ 1 ЗАПИСУ

ВВЕСТИ НАЗВУ ДЕТАЛІ (НЕ БІЛЬШЕ 8 СИМВОЛІВ): СТАТОР

ВКАЖІТЬ ВАРТІСТЬ ДЕТАЛІ : 332.5

НЕОБХІДНА КІЛЬКІСТЬ - (ЦІЛЕ ЧИСЛО): 5

ФОРМУВАННЯ 2 ЗАПИСУ

ВВЕСТИ НАЗВУ ДЕТАЛІ (НЕ БІЛЬШЕ 8 СИМВОЛІВ): КОРПУС

і т.д.

При цьому інформація про кожну деталь повинна зберігатися в одному блоці (записи), що дозволяє індивідуальну обробку, а кількість записів в документі - визначатися в програмі у вигляді відповідної константи.

З постановки завдання виходить, що запис містить декілька різнотипних полів: порядковий номер деталі (n/n), для його зберігання доцільно використовувати тип int; найменування деталі (ДЕТАЛЬ) - тут може використовуватися масив, наприклад з 8-і символів; кількість виданих деталей (ВИДАНО) - даному полю відповідає тип int; а полю вартості деталі (ВИТРАТА) - тип double. Очевидно, що застосування масиву в даному випадку не вважається можливим. Дійсно, масив може містити декілька елементів, проте кожен елемент повинен бути одного типа, що суперечить умові завдання. Виходом з ситуації, що створилася, буде застосування структури - більш універсальної форми даних, чим масив.

Нижче приведений один з можливих варіантів програми рішення поставленої задачі на основі застосування масиву структур.

 

// Програма 2

// Рішення економічної задачі з використанням масивів структур

 

#include <iostream>

#include <iomanip> // Для використання маніпуляторів потоку setw()

// і setprecision()

const int n=3; // Розмірність оброблюваного масиву структур

struct zap // Робочий варіант оголошення структури zap

{

char а[8];

double t;

int к;

double с;

} ;

int main()

{

double s1,s2,s3; // Розрахункові суми

zap zapis[n]; // Окреме визначення масиву zapis[n] екземплярів

// структур типу zap

// Введення початкових даних:

cout << "ФОРМУВАННЯ ДОКУМЕНТА: \n";

cout << "ДОКУМЕНТ ПОВИНЕН МІСТИТИ " << n

<< " РЯДКИ - ЗАПИСИ: \n";

for( int i=0; i < n; i++)

{

cout << "\nФОРМУВАННЯ " << i + 1 << " ЗАПИСУ";

cout << "\nВВЕСТИ НАЗВУ ДЕТАЛІ (НЕ БІЛЬШЕ 8 СИМВОЛІВ): ";

cin >> zapis[i].а; // Доступ до елементу а екземпляра структури // виконується операцією крапка (.)

out << "\nВКАЖІТЬ ВАРТІСТЬ ДЕТАЛІ : ";

cin >> zapis[i].t; //Доступ до елементу t екземпляра структури zapis[i]

cout << "\nНЕОБХІДНА КІЛЬКІСТЬ - (ЦІЛЕ ЧИСЛО): \n";

cin >> zapis[i].k; // Доступ до елементу до екземпляра структури

}

// Виконання розрахунків:

s1=0;s2=0;s3=0;

for( i=0; i < n; i++)

{

zapis[i].c = zapis[i].t * zapis[i].k;

s1 += zapis[i].t;

s2 += zapis[i].k;

s3 += zapis[i].c;

}

// Побудова "шапки" таблиці

clrscr();

cout << "\n ВІДОМОСТІ ПРО ВАРТІСТЬ ВИДАНИХ ДЕТАЛЕЙ ";

cout << "\n|-----------------------------------------------------------------------------|";

cout << "\n| n/n | ДЕТАЛЬ | ВАРТІСТЬ | ВИДАНО | ВИТРАТА |";

cout << "\n|-----------------------------------------------------------------------------|";

// Заповнення таблиці даними:

for(i=0;i<n;i++)

cout << "\n|" << setw(7)<< i+1 << "|" << setw(8)<< (zapis[i]).a << "|"

// ------

// |-> маніпулятор потоку, указує, що наступна

// вихідна величина (i+1) буде надрукована з ширіною

// поля, рівної 7 символам

<< setw(13)<< setprecision(2)<< (zapis[i]).t << "|"

// --------------

// |-> маніпулятор потоку, указує, що наступні

// вихідні будуть надруковані з двома цифрами після

// десяткової крапки

<< setw(8)<< setprecision(2)<< (zapis[i]).k << "|"

<< setw(8)<< setprecision(2)<< (zapis[i]).c << "|";

cout << "\n|-------------------------------------------------------------------------| ";

cout << "\n| РАЗОМ: |" << setw(13)<< setprecision(2)<< s1

<< "|" << setw(8)<< s2<< "|" <<setw(8) << setprecision(2)<< s3 << "|";

cout << "\n|--------------------------------------------------------------------------|";

return 0;

}

Для форматування виведення інформації на монітор в програмі використовуються маніпулятори потоку setw і setprecision. Їх призначення приведене у відповідних коментарях програми 1.

Завдання на лабораторну роботу

Розробити програму для обробки відомості (дивіться варіанти завдань).

Програма повинна забезпечувати:

введення початкових даних відомості з консолі в масив, що складається з декількох екземплярів структури;

обробку і виведення даних відповідно до варіанту завдання;

вивід на консоль будь-якого із записів відомості по критерію збігу значення одного з полів запису з даними запиту, що вводиться з консолі;

вивід на консоль повідомлення за відсутності інформації, відповідної критерію відбору;

Варіант 1

Відомість нарахування зарплати співробітникам підприємства:

№ зп Прізвище Зарплата Грн. Утримано Грн. Видано Грн.
F Z P S=Z-P
  Разом S1 S2 S3

Вимоги до програми:

· Виведення на консоль сформованої відомості і виписки з відомості для співробітників, фактична зарплата яких не перевищує значення, введеного з консолі.

· Записи відомостей повинні бути відсортовані за збільшенням фактичної зарплати.

Варіант 2

Відомість витрати палива на автобазах міста:

№ зп Автобаза Витрачено палива (кг) Кількість автомашин Середня витрата (кг)
A T K C=T\K
  Разом S1 S2 S3

· Виведення на консоль сформованої відомості і виписки з відомості для автобаз, витрата палива на яких більше, а кількість автомашин менше відповідних значень, введених з консолі.

· Записи відомостей повинні бути відсортовані по убуванню витрати палива.

Варіант 3

Вимоги до програми · Виведення на консоль сформованої відомості і виписки з відомості для… · Записи відомостей повинні бути відсортовані за збільшенням фактичного використання машинного часу.

Варіант 4

Вимоги до програми · Виведення на консоль сформованої відомості і виписки з відомості для… · Записи відомостей повинні бути відсортовані по убуванню відхилення витрати електроенергії (у %).

Варіант 5

Вимоги до програми · Виведення на консоль сформованої відомості і виписки з відомості для всіх… · Записи відомостей повинні бути відсортовані за збільшенням залишків матеріалів на кінець періоду.

Варіант 6

Відомість прибули підприємства за звітний період по видах продукції:

№ зп Продукція Кількість (шт..) Оптова ціна (грн.) Собівартість (грн.) Прибуток (грн.)
A T K C=T\K  
  Разом S1 S2 S3  

Вимоги до програми

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

· Записи відомостей повинні бути відсортовані по убуванню прибутку.

Варіант 7

Відомість об'єму постачань продукції в натуральному і вартісному виразі:

№ зп Продукція Шифр Об’єм постачань Оптова ціна (грн.) Об’єм (грн.)
Р Н V Z O= V x Z
  Разом   S1 S2 S3

Вимоги до програми

· Виведення на консоль сформованої відомості і виписки з відомості для видів продукції, об'єм постачання яких у вартісному виразі знаходиться в інтервалі, межі якого вводяться з консолі.

· Записи відомостей повинні бути відсортовані за збільшенням
об'єму постачання у вартісному виразі.

Варіант 8

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

Варіант 9

Відомість розрахунку середньої вартості перевезення авіапасажирів:

№ зп Тип літака Рейс Витрати на рейс (грн.) Кількість пасажирів Середня вартість(грн.)
T R Z K S= Z / K
  Разом   S1 S2 S3

Вимоги до програми

· Виведення на консоль сформованої відомості і виписки з відо-мості для рейсів, на яких середня вартість перевезення більше значення того, що вводиться з консолі.

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

Варіант 10

Вимоги до програми · Виведення на консоль сформованої відомості і виписки з відомості по… · Записи відомостей повинні бути відсортовані за збільшенням відхилення від плану в %.

Варіант 11

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

Варіант 12

Відомість наявності і руху основних фондів підприємства:

№ зп Фонд Наявність на початок року (шт) Поступило (шт.) Вибуло (шт.) Наявність на кінець року (шт)
F N1 P V N2= N1+P -V
  Разом   S1 S2 S3

Вимоги до програми

· Виведення на консоль сформованої відомості і виписки з відомості по фондах, для яких відсоток вибуття більше значення того, що вводиться з клавіатури.

· Записи відомостей повинні бути відсортовані за збільшенням вибуття фондів.

Варіант 13

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

Варіант 14

Відомість продажу запчастин в автомагазині за звітний період:

№ зп Запчастина Вид автомобілю Вартість запчастини Кількість проданих запчастин Сума продажу
A T Д1 Д2 С=Д1*Д2

Вимоги до програми:

· Виведення на консоль сформованої відомості і виписки з відомості для запчастин, які мають максимальну і мінімальну суму продажу або не меньше значення того, що вводиться з клавіатури.

· Записи відомостей повинні бути відсортовані за збільшенням вартості запчастини.

Варіант 15

Відомість термінів ремонту обладнання підприємства за звітний період:

№ зп Обладнання Вид ремонту Дата прийняття на ремонт Дата виконання ремонту Термін виконання ремонту
A T Д1 Д2 С=Д1-Д2

Вимоги до програми:

· Виведення на консоль сформованої відомості і виписки з відомості для терміну ремонту не більше значення того, що вводиться з клавіатури.

· Записи відомостей повинні бути відсортовані по убуванню терміну ремонту.

Варіант 16

Відомість поставок товарів клієнтам підприємства за звітний період:

№ зп Товар Клієнт Вартість за одиницю Кількість Дата поставкі Вартість поставкі
A T С К Д С1=С*К
  Разом:         å

Вимоги до програми:

· Виведення на консоль сформованої відомості і виписки з відомості для дати поставкі не меньше значення того, що вводиться з клавіатури.

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

Варіант 17

Вимоги до програми: · Виведення на консоль сформованої відомості і виписки з відомості для… · Записи відомостей повинні бути відсортовані за зменшенням дати оплати ремонту.

Варіант 18

Відомість проходження технічного огляду автотранспорту за звітний період:

№ зп Автомобіль Власник Дата технічного огляду Дата проходження технічного огляду Штраф за несвоєчасний технічний огляд
A T Д1 Д2 С=(Д1-Д2)*10

Вимоги до програми:

· Виведення на консоль сформованої відомості і виписки з відомості для дати проходження технічного огляду не більше або не меньше значення того, що вводиться з клавіатури.

· Записи відомостей повинні бути відсортовані за збільшенням штрафу.

Варіант 19

Відомість заявок авіабілетів підприємства за звітний період:

№ зп Пункт призначення № рейса Прізвище пасажира Дата відправлення Вартість білету Додана вартість
A T В Д С С1=С*0,2
  Разом       å  

Вимоги до програми:

· Виведення на консоль сформованої відомості і виписки з відомості для дати відправлення не більше та не меньше значення того, що вводиться з клавіатури.

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

Варіант 20

Вимоги до програми: · Виведення на консоль сформованої відомості і виписки з відомості для дати… · Записи відомостей повинні бути відсортовані за зменшенням дати переговорів.

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

 

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

 

Ціль лабораторної роботи – придбання практичних навичок роботи з динамічними структурами даних.

Перед виконанням лабораторної роботи студент повинен знати: основи застосування елементів бібліотеки стандартних шаблонів (STL).

Після виконання лабораторної роботи студент повинен уміти: розробляти типові програми з використанням контейнерів даних мовою С++.

 

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

STL - це бібліотека стандартних шаблонів. Вона містить, наприклад, що часто зустрічаються способи організації даних - так називані контейнери:… STL складається із трьох основних частин: контейнери, алгоритми й iтератори. … Частина перша. Вона містить різноманітні контейнери. Частина контейнерів зрозуміла і - це динамiчнi масиви, списки,…

Завдання на лабораторну роботу

Можна вибрати (за дозволом викладача) інший тип контейнера.

На 9 балів: замість даного завдання виконати завдання №1 ЛР: «Обробка одномірних масивів» використовуючи контейнер ВЕКТОР.

Варіант 1

Скласти програму, що містить динамічну інформацію про наявність автобусів в автобусному парку.

Відомості про кожен автобус включають:

· номер автобуса;

· прізвище й ініціали водія;

· номер маршруту.

Програма повинна забезпечувати:

початкове формування даних про всі автобуси в парку у вигляді списку;

при виїзді кожного автобуса з парку вводиться номер автобуса, і програм видаляє дані про цей автобус зі списку автобусів, що перебувають у парк і записує ці дані в список автобусів, що перебувають на маршруті;

при в'їзді кожного автобуса в парк уводиться номер автобуса, і програма видаляє дані про цей автобус зі списку автобусів, що перебувають на маршруті, і записує ці дані в список автобусів, що перебувають у парку;

по запиті видаються відомості про автобуси, що перебувають у парку, або про автобуси, що перебувають на маршруті.

Варіант 2

Скласти програму, що містить поточну інформацію про книги в бібліотеці.

Відомості про книги включають:

· номер УДК;

· прізвище й ініціали автора;

· назва;

· рік видання;

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

Програма повинна забезпечувати:

· початкове формування даних про всі книги в бібліотеці у вигляді вектора;

· додавання даних про книги, що знову надходять у бібліотеку;

· видалення даних про списують книгах, що;

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

Варіант 3

Скласти програму, що містить поточну інформацію про заявки на авіаквитки.

Кожна заявка включає:

· пункт призначення;

· номер рейса;

· прізвище й ініціали пасажира;

· бажану дату вильоту.

· Програма повинна забезпечувати:

· зберігання всіх заявок у вигляді списку;

· Об додавання заявок у список;

· видалення заявок;

· висновок заявок по заданому номері рейса й даті вильоту;

· висновок всіх заявок.

Варіант 4

Скласти програму, що містить поточну інформацію про заявки на авіаквитки.

Кожна заявка включає:

· пункт призначення;

· номер рейса;

· прізвище й ініціали пасажира;

· бажану дату вильоту;

· Програма повинна забезпечувати:

· зберігання всіх заявок у вигляді вектора;

· додавання й видалення заявок;

· по заданому номері рейса й даті вильоту висновок заявок з їхнім наступним видаленням;

· висновок всіх заявок.

Варіант 5

Скласти програму, що містить поточну інформацію про книги в бібліотеці.

Відомості про книги включають:

· номер УДК;

· прізвище й ініціали автора;

· назва;

· рік видання;

· кількість екземплярів даної книги в бібліотеці.

· Програма повинна забезпечувати:

· початкове формування даних про всі книги в бібліотеці у вигляді списку;

· при видачі кожної книги на руки вводиться номер УДК, і програма зменшує значення кількості книг на одиницю або видає повідомлення про те, що необхідної книги в бібліотеці немає або необхідна книга перебуває на руках;

· при поверненні кожної книги вводиться номер УДК, і програма збільшує значення кількості книг на одиницю;

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

Варіант 6

Скласти програму, що містить динамічну інформацію про наявність автобусів в автобусному парку.

Відомості про кожен автобус включають:

номер автобуса;

· прізвище й ініціали водія;

· номер маршруту;

· ознака того, де перебуває автобус — на маршруті або в парку.

Програма повинна забезпечувати:

· початкове формування даних про всі автобуси у вигляді вектора;

при виїзді кожного автобуса з парку вводиться номер автобуса, і програма встановлює значення ознаки «автобус на маршруті»;

при в'їзді кожного автобуса в парк уводиться номер автобуса, і програма встановлює значення ознаки «автобус у парку»;

по запиті видаються відомості про автобуси, що перебувають у парку, або про автобуси, що перебувають на маршруті.

Варіант 7

У файловій системі каталог файлів організований у вигляді лінійного списку. Для кожного файлу в каталозі втримуються наступні відомості:

· ім'я файлу;

· дата створення;

· кількість звертань до файлу.

· Написати програму, що забезпечує:

· початкове формування каталогу файлів;

· висновок каталогу файлів;

· видалення файлів, дата створення яких менше заданої;

· вибірку файлу з найбільшою кількістю обігів.

Програма повинна забезпечувати діалог за допомогою меню й контроль помилок при уведенні.

Варіант 8

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

Написати програму, що забезпечує:

· початкове формування предметного покажчика;

· висновок предметного покажчика;

· висновок номерів сторінок для заданого слова.

Програма повинна забезпечувати діалог за допомогою меню й контроль помилок при уведенні.

Варіант 9

Текст допомоги для деякої програми організований у вигляді списку.

Кожен компонент тексту допомоги містить термін (слово) і текст, що містить пояснення до цього терміна. Кількість рядків тексту, що ставляться до одного терміна, становить від однієї до п'яти.

Написати програму, що забезпечує:

· початкове формування тексту допомоги;

· висновок тексту допомоги;

· висновок тексту, що пояснює, для заданого терміна.

Програма повинна забезпечувати діалог за допомогою меню й контроль помилок при уведенні.

Варіант 10

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

· кількість кімнат;

· поверх;

· площа;

· адреса.

Написати програму, що забезпечує:

початкове формування картотеки;

уведення заявки на обмін;

пошук у картотеці підходящого варіанта: при рівності кількості кімнати поверху й розходженні площ у межах 10% відповідна картка виводиться й віддаляється зі списку, у противному випадку заявка, що надійшла, включається у вектор;

висновок усього вектора.

Програма повинна забезпечувати діалог за допомогою меню й контроль помилок при уведенні.

Варіант 11

Англо-російський словник побудований у вигляді списку (МАР).

Кожен компонент містить англійське слово, що відповідає йому російське слово й лічильник кількості звертань до даного компонента.

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

Написати програму, що:

забезпечує початкове уведення словника з конкретними значеннями лічильників обігів;

формує нове подання словника у вигляді списку по наступному алгоритмі: а) у старому словнику шукається компонент із найбільшим значенням лічильника обігів; б)знайдений компонент заноситься в новий словник і віддаляється зі старого; в)перехід до п.. а) до вичерпання вихідного словника.

робить висновок вихідного й нового словників.

Програма повинна забезпечувати діалог за допомогою меню й контроль помилок при уведенні.

Варіант 12

Анкета для опитування населення містить дві групи питань. Перша група містить відомості про респондента:

· вік;

· рiд;

· освiта(початкова, середня, вища).

Друга група містить властиво питання анкети, відповіддю на який може

бути або ТАК, або НЕМАЄ.

Написати програму, що:

-забезпечує початкове ведення анкет і формує з вектор;

-на основі аналізу анкет видає відповіді на наступні питання: а) скільки чоловіків старше 40 років, що мають вище утворення, відповіли ТАК на питання анкети; а) скільки жінок молодше 30 років, що мають середню освіту, відповіли НЕМАЄ на питання анкети; а) скільки чоловіків молодше 25 років, що мають початкове утворення, відповіли ТАК на питання анкети;

-зробiть висновок всіх анкет і відповідей на питання.

Програма повинна забезпечувати діалог за допомогою меню й контроль помилок при уведенні.

Варіант 13

Написати програму, що містить поточну інформацію про книги в бібліотеці.

Відомості про книги включають:

· номер УДК;

· прізвище й ініціали автора;

· назва;

· рік видання;

· кількість екземплярів даної книги в бібліотеці.

· Програма повинна забезпечувати:

· початкове формування даних про всі книги в бібліотеці у вигляді списку;

· додавання даних про книги, що знову надходять у бібліотеку;

· видалення даних про списують книгах, що;

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

Варіант 14

На міжміській телефонній станції картотека абонентів, що містить відомості про телефони і їхніх власників, організована у вигляді вектора.

Написати програму, що:

забезпечує початкове формування картотеки у вигляді вектора;

робить висновок всієї картотеки;

вводить номер телефону й час розмови;

виводить повідомлення на оплату телефонної розмови.

Програма повинна забезпечувати діалог за допомогою меню й контроль помилок при уведенні.

Варіант 15

На міжміській телефонній станції картотека абонентів, що містить відомості про телефони і їхніх власників, організована у вигляді списку.

Написати програму, що:

· забезпечує початкове формування картотеки у вигляді списку;

· робить висновок всієї картотеки;

· уводить номер телефону й час розмови;

· виводить повідомлення на оплату телефонної розмови.

Програма повинна забезпечувати діалог за допомогою меню й контроль помилок при уведенні.

Варіант 16

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

Для кожного поїзда вказується:

· номер поїзда;

· станція призначення;

· час відправлення.

Дані в інформаційній системі організовані у вигляді вектора. Написати програму, що:

· забезпечує первісне уведення даних в інформаційну систему й формування вектора;

· робить висновок елементів вектора;

· уводить номер поїзда й виводить всі дані про цей поїзд;

· уводить назва станції призначення й виводить дані про всі поїзди, що випливають до цієї станції.

Програма повинна забезпечувати діалог за допомогою меню й контроль помилок при уведенні.

Варіант 17

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

Для кожного поїзда вказується:

· номер поїзда;

· станція призначення;

· час відправлення.

Дані в інформаційній системі організовані у вигляді списку. Написати програму, що:

· забезпечує первісне уведення даних в інформаційну систему й формування списку;

· робить висновок усього списку;

· уводить номер поїзда й виводить всі дані про цей поїзд;

· уводить назва станції призначення й виводить дані про всі поїзди, що випливають до цієї станції.

Програма повинна забезпечувати діалог за допомогою меню й контроль помилок при уведенні.

Варіант 18

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

Кожна заявка включає:

· пункт призначення;

· номер рейса;

· прізвище і ініціали покупця;

· бажану дату завезення.

Програма повинна забезпечувати:

· зберігання всіх заявок у вигляді списку;

· додавання заявок в список;

· видалення заявок;

· виведення заявок по заданому номеру рейса і даті завезення;

· виведення всіх заявок.

Варіант 19

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

Відомості про канцелярські товари включають:

· номер по порядку;

· найменування;

· рік випуску;

· кількість.

Програма повинна забезпечувати:

· початкове формування даних про канцтовари у вигляді вектора;

· додавання даних про канцтовари, що знов поступають на склад;

· видалення даних про списувані канцтовари;

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

Варіант 20

Кожна заявка включає: · пункт призначення; · номер туру;

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

Дослідження структури windows-додатка

Ціль лабораторної роботи - одержання практичних навичок у побудові базового додатка для Win32, дослідження параметрів віконних процедур. Перед виконанням лабораторної роботи студент повинен знати: принципи й логіку… Після виконання лабораторної роботи студент повинен уміти: розробляти базові процедурні Windows-додатки мовою C++.

Перелік бітових прапорів стилю класу вікна

3. Програміст може використати власну піктограму (іконку), що він сам розробив, а може застосувати одну з визначених (таблиця 6.3). У випадку… Таблиця 3

Список визначених системних піктограм

4. Сказане про іконку можна повністю віднести й до курсору миші, яким будуть користуватися вікна створюваного класу (не плутати з курсором,… Таблиця 6.4

Список визначених ідентифікаторів курсору

5. Параметр стилів вікна визначає індивідуальні характеристики конкретного вікна. Стиль визначає, чи буде вікно мати заголовок, іконку системного… Таблиця 6.5

Перелік бітових прапорів стилю вікна

Варто звернути увагу, що далі такий докладний розгляд програм буде відсутній. Це не стосується необхідних функцій і параметрів для виконання… Створення процедурно-процедурно-орієнтованого проекту Для того щоб створити процедурно-процедурно-орієнтований додаток Windows за допомогою майстра Visual C++ Application…

Завдання на лабораторну роботу

Написати програму, що використає функції API, що створює спливаюче вікно Windows. Вікно повинне містити заголовок з відображенням прізвище студента (російською мовою), а також інформацію про номер навчальної групи. Параметри вікна повинні відповідати завданню.

Варіант № 1

Вікно повинне:

· бути спочатку схованим;

· мати вирівняну границю клієнтську область по горизонталі для відображення рядка було потрібно ціле число байтів;

· мати задану за замовчуванням іконку;

· мати курсор у вигляді двукiнцевоi стрілки з напрямками на північ і південь;

· мати товсту рамку, заголовок із кнопками максимізації й мінімізації;

· мати коричневі кольори тла;

· розташовуватися в довільному місці екрана.

 

Варіант № 2

Вікно повинне:

· бути показаним у поточному стані;

· мати відсутню команду "Close" у системному меню;

· мати завантажену іконку у вигляді діаграми;

· мати курсор у формі піскових годин;

· мати тонку рамку, заголовок із кнопкою мінімізації й системним меню;

· мати маслинові кольори тла;

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

 

Варіант № 3

Вікно повинне:

· мати відображатися в розмірах і позиції, установлених безпосередньо перед поточними значеннями;

· перемальовуватися при зміні висоти вікна;

· мати іконку у вигляді знаку питання;

· мати курсор у вигляді перекрестия;

· мати тонку рамку, заголовок із кнопкою максимізації й системного меню;

· мати темно-зелені кольори тла;

· розташовуватися в координатах (40,80) і займати 180 крапок по ширині й 220 - по висоті.

 

Варіант № 4

Вікно повинне:

· відображатися при запуску додатка за замовчуванням;

· перемальовуватися при зміні ширини вікна;

· мати іконку у вигляді логотипа Windows;

· мати курсор у формі чотирихкiнцевоi стрілки;

· мати тільки горизонтальні смуги прокручування й спочатку заборонений стан;

· мати темно-сизі кольори тла;

· розташовуватися в правому нижньому куті екрана.

 

Варіант № 5

Вікно повинне:

· бути згорнуте й показано як піктограма;

· бути частиною класу, що не залежить від поточного додатка;

· мати іконку у вигляді повідомлення про збій у програмі;

· мати курсор у вигляді стандартної стрілки й піскових годин;

· мати горизонтальну й вертикальні смуги прокручування, без заголовка;

· мати темно-сині кольори тла;

· розташовуватися в правому нижньому куті.

 

Варіант № 6

Вікно повинне:

· відображається в поточних розмірах і позиції;

· посилати повідомлення віконній процедурі при подвійному щиглику миші, якщо курсор перебуває в межах вікна;

· мати іконку у вигляді зірочки;

· мати курсор у вигляді перекресленого кружка;

· мати тонку рамку й одержати клавіатурний фокус при натисканні користувачем клавіші Tab;

· мати кольори тла - індиго;

· розташовуватися по верхньому лівому краї вікна й мати висоту в 150 пiкселей, а ширину в 333 пiкселя.

 

Варіант № 7

Вікно повинне:

· бути згорнутим й активізуватися на верхньому рівні в списку системи;

· бути дочірнім зі спадкуванням контексту батьківського вікна;

· завантажувати іконку у вигляді довільного головного убору;

· мати курсор у вигляді стрілки зі знаком питання;

· мати рамку, що обрамляє, аналогічну для діалогових вікон Windows;

· мати темно-червоні кольори тла;

· розташовуватися посередине ліворуч і мати висоту в 166 пикселей, а ширину в половину екрана.

 

Варіант № 8

Вікно повинне:

· активізуватися й відображатися в заданих розмірах і позиції. Якщо вікно згорнуте або розгорнуте, йому будуть повернуті його первісні розміри й позиція.

· зберігати частина області екрана, закриту вікном, як bitmip, при видаленні відновлювати перекриту область;

· мати іконку у вигляді знак оклику;

· мати курсор у вигляді текстового дуавра;

· бути дочірнім і мати тільки робочу область;

· мати жовтогарячі кольори тла;

· розташовуватися посерединi праворуч і мати висоту у чверть екрана, а ширину в 350 пiкселей.

Варіант № 9

Вікно повинне:

· бути згорнутим;

· мати вирівняну границю всього вікна по горизонталі для відображення рядка було потрібно ціле число байтів;

· мати іконку у вигляді руки;

· курсор у вигляді вертикальної стрілки;

· мати заголовок і рамку, що обрамляє;

· мати коричнево-зелені кольори тла;

· розташовуватися по правому нижньому краї вікна й мати висоту й ширину у чверть екрана.

Варіант № 10

Вікно повинне:

· бути показаним у нормальних розмірах;

· мати власний контекст;

· мати завантажену іконку у вигляді сонця;

· курсор у вигляді двукiнцевоi стрілки, що вказує на північний захід і південний схід;

· мати кнопку максимізації й бути спочатку мінімізованим;

· мати ясно-червоні кольори тла;

· розташовуватися по правому верхньому краї вікна й мати висоту й ширину в половину екрана.

Варіант № 11

Вікно повинне:

· мати спочатку розгорнутим у весь екран;

· перемальовуватися при зміні ширини вікна;

· мати іконку у вигляді повідомлення про збій у програмі;

· мати курсор у вигляді двукiнцевоi стрілки з напрямками на північний схід і південний захід;

· мати товсту рамку, заголовок із системним меню, але без кнопок максимізації й мінімізації;

· мати пурпурні кольори тла;

· розташовуватися посерединi й мати розміри 377, 73.

Варіант № 12

Вікно повинне:

· бути показаним у поточному стані;

· перемальовуватися при зміні висоти вікна;

· мати іконку у вигляді руки;

· мати курсор у формі двукiнцевоi стрілки, що вказують на захід і схід;

· бути дочірнім і мати тільки робочу область;

· мати сірі кольори тла;

· розташовуватися зверху над центром екрана, займаючи його половину по горизонталі й третину по вертикалі.

Варіант № 13

Вікно повинне мати:

· бути згорнутим й активізуватися на верхньому рівні в списку системи;

· зберігати частина області екрана, закриту вікном, як bitmip, при видаленні відновлювати перекриту область;

· мати іконку у вигляді зірочки;

· мати курсор у формі четырехконечной стрілки;

· мати тонку рамку й горизонтальну смугу прокручування;

· мати ясно-жовті кольори тла;

· розташовуватися в координатах (120,210) і займати 323 крапок по ширині й 423 - по висоті.

Варіант № 14

Вікно повинне:

· відображатися при запуску додатка за замовчуванням;

· посилати повідомлення віконній процедурі при подвійному щиглику миші, якщо курсор перебуває в межах вікна;

· завантажувати іконку у вигляді футбольного м'яча;

· мати курсор у формі порожньої піктограми;

· мати заголовок і рамку, що обрамляє;

· мати кольори хакі тла;

· розташовуватися в лівому нижньому куті екрана й мати розміри 300*100 пикселей.

Варіант № 15

Вікно повинне:

· бути згорнуте й показано як піктограма;

· бути дочірнім зі спадкуванням контексту батьківського вікна;

· мати іконку у вигляді знаку питання;

· мати курсор у вигляді стандартної стрілки й піскових годин;

· с тонкою рамкою й одержати клавіатурний фокус при натисканні користувачем клавіші Tab;

· мати руді кольори тла;

· розташовуватися в правому верхньому куті й мати розміри 200*400.

Варіант № 16

Вікно повинне:

· відображатися в розмірах і позиції, установлених безпосередньо перед поточними значеннями;

· бути частиною класу, що не залежить від поточного додатка;

· мати задану за замовчуванням іконку;

· мати курсор у вигляді перекресленого кружка;

· мати тонку рамку, заголовок із кнопкою мінімізації й бути спочатку максимізованим;

· мати зелені кольори тла;

· розташовуватися по верхньому лівому краї вікна й мати висоту й ширину одну третину встановленого дозволу на моніторі.

Варіант № 17

Вікно повинне:

· активізуватися й відображатися в заданих розмірах і позиції. Якщо вікно згорнуте або розгорнуте, йому будуть повернуті його первісні розміри й позиція;

· мати вирівняну границю клієнтську область по горизонталі для відображення рядка було потрібно ціле число байтів;

· мати іконку у вигляді повідомлення про збій у програмі;

· мати курсор у вигляді перекресленого кружка;

· мати товсту рамку, заголовок із кнопками максимізації й мінімізації;

· мати синьо-зелені кольори тла;

· розташовуватися посередине праворуч і мати висоту в 257 пикселей, а ширину у чверть екрана.

Варіант № 18

Вікно повинне:

· бути показаним у поточному стані;

· мати вирівняну границю всього вікна по горизонталі для відображення рядка було потрібно ціле число байтів;

· завантажувати іконку у вигляді довільного найменування валюти;

· мати курсор у вигляді перекрестия;

· бути дочірнім і мати системне меню;

· мати сині кольори тла;

· розташовуватися праворуч і мати висоту в половину екрана, а ширину в третину екрана.

Варіант № 19

Створити два вікна з однаковими властивостями. Кожне вікно повинне:

· відображається в поточних розмірах і позиції;

· мати відсутню команду "Close" у системному меню;

· мати іконку у вигляді руки;

· міть іконку у вигляді знак оклику;

· одне з вікон зробити першим й активним вікном групи;

· мати сизі кольори тла;

· розташовуватися ліворуч (праворуч), займаючи всю висоту екрана й половину його ширини.

Варіант № 20

· бути згорнутим; · мати власний контекст; · завантажувати іконку у вигляді молодого півмісяця;

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

Дослідження взаємодії додатка з користувачем

Ціль лабораторної роботи: Досліджувати можливості функцій Win32 API по створенню візуального інтерфейсу додатка, одержати практичні навички… Перед виконанням лабораторної роботи студент повинен знати: особливості й… Після виконання лабораторної роботи студент повинен уміти: розробляти Windows-додатка з використанням елементів…

Редактори ресурсів

В Visual C++ убудований цілий набір редакторів ресурсів, кожний з яких орієнтований на роботу з ресурсами певного типу. Ці редактори надають у наше розпорядження повний набір засобів розробки графічних ресурсів, а також допомагають створювати меню й діалогові вікна - основні засоби уведення даних в Windows. Все це істотно полегшує створення користувальницького інтерфейсу. З наступних параграфів ви довідаєтеся, як з їхньою допомогою створювати значки, покажчики миші, меню, діалогові вікна, крапкові малюнки, гарячі клавіші, рядки й т.д.

 

Значки, покажчики миші й крапкові малюнки

Вікно редактора значка й покажчика мишки показане на мал.19 й 20. У центрі вікна перебуває область редагування, де можна створити значок,… Створити власний значок або покажчик миші дуже просто. Найкраще для цієї мети використати значок або покажчик миші,…

Створення меню

Створення меню. Виберіть у меню View команду Resource View, клацніть двічі на файлі .гс, укажіть потрібний ресурс меню й виконаєте подвійного… Редактор ресурсів може прочитати опис меню з файлу сценарію ресурсів… На мал. 7.3 показано меню. Його можна відредагувати за допомогою редактора меню.

Діалогові вікна

У діалоговому вікні користувач може вибирати опції зі списку, установлювати різні прапорці, здійснювати пряме уведення в поля тексту й цілих… Щоб відкрити діалогове вікно, досить, як правило, вибрати відповідну команду… Графічний дизайн діалогового вікна конвертується у файл опису ресурсу. Редактор діалогових вікон забезпечує…

Розробка діалогового вікна

   

Компонування діалогового вікна

   

Для виконання лабораторної роботи особлива увага варто приділити вивченню таких видів ресурсів: піктограми (icon), курсори (cursor), бітові зображення (bitmaps), меню (menu), гарячі клавіші (accelerators), діалогові вікна (dialog), а також набору функцій для роботи з ресурсами.

Функції, які створюють або читають об'єкти з ресурсів, повертають покажчик на об'єкт, що використається в процедурах вводу-висновку. Особлива увага варто приділити таким групам функцій:

- читання об'єктів з ресурсів (LoadCursor(), Loadlcon(), LoadString(), LoadResource(), LoadBitmap(), LoadMenu());

- вибору об'єктів (SelectObject());

- керування об'єктами меню (AppendMenu(), DeleteMenu(), InsertMenu(),ModifyMenu(), RemoveMenu(), CetSubMenu() і т.д.);

- керування рядком стану вікна(CreateStatusWindow()).

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

 

 

Таблиця 7.1

Бітові прапори, що визначають поводження й вид елемента меню

Вибір довільного пункту меню може в операційній системі Windows супроводжуватися комбінацією клавіш. У цьому випадку пункт меню вибирається… - по-перше, необхідність створення у файлі ресурсів таблиці гарячих клавіш; … - по-друге, можливість використання як клавіші або код ASCII-символу, або код віртуальної клавіші (VK);

Можливі типи рядка стану

Для того, щоб прочитати текст у панелі, необхідно стропі стану послати повідомлення WM_GETTEXT. wParam цього повідомлення повинен містити номер… Це основні повідомлення, використовувані при роботі з рядком стани. Найбільш використовуваним видом ресурсу є діалогові вікна. Діалогові вікна бувають модальними й немодальними. Модальні…

Перелік бітових прапорів стилю вікна

Стилі діалогового вікна

Друга особливість полягає в наявності в Win32 визначених класів вікон для елементів керування діалогових вікон. До таких класів ставляться: - кнопки (клас "button"), - списки (клас "listbox"),

Таблиця 7.5

Таблиця 7.6 Стилі вікон класу "списки" Стиль Опис … Таблиця 7.7

Завдання на лабораторну роботу

ЗАВДАННЯ 1

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

Варіант № 1

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

· Головне меню містить розділ "Малюнок" з іменами чотирьох геометричних фігур, зображення яких зберігається у вигляді окремих файлів на диску. Після вибору фігури відобразити фігуру в клієнтській частині вікна. При натисканні правої клавіші миші над будь-якою відображеною фігурою на місці натискання відобразити плаваюче меню з відповідній обраній фігурі командами.

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

· Третя група виконує заміну назв пунктів меню з Російської на Український і навпаки.

· Тип зображення - яскраво червона зірка.

· У рядку стану повідомляти про дії з малюнками й поточні координати курсору миші по горизонталі й вертикалі.

Варіант № 2

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

· Головне меню містить розділ "Файл" з рядками "Створити", "Відкрити" й "Вихід". При виборі рядків "Створити" або "Відкрити" створити вікно, що містить розділ меню "Фігури" зі списком імен геометричних фігур; при виборі імені відобразити фігуру з таким ім'ям у клієнтській області головного вікна й позначити його знак оклику. При повторному виборі імені забрати фігуру й видалити галочку.

· Створити контекстне меню, що містить всі пункти головного меню, перелік фігур так, щоб центр меню по горизонталі й вертикалі збігалися з координатами x й y курсору відповідно.

· Третя група виконує заміну назв пунктів меню з Російської на Німецький і навпаки.

· Тип зображення - діаграма.

· У рядку стану відображати поточну інформацію про фігуру.

Варіант № 3

· Головне меню містить розділ "Фігури" з іменами геометричних фігур: коло, квадрат, трикутник, прямокутник і шестикутник. При виборі… · Друга група пунктів у меню містить 3 пункти, кожний з яких складається ще… · Третя група виконує заміну назв пунктів меню з Українського на Німецький і навпаки.

Варіант № 4

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

· Головне меню містить розділ "Файл" з пунктами "Створити", "Знайти", "Зберегти", "Закрити", "Відправити" й "Вихід", а розділ "Виправлення" з рядками "Вирізати", "Вклеїти" й "Копіювати". Після вибору команди "Відправити" виробляється видалення розділу "Виправлення", а сам пункт заміняється на "Відновити". При виборі "Відновити" зробити відновлення розділу "Виправлення".

· Під пунктом меню розташувати панель інструментів. Кнопки панелі інструментів повинні відображати всі можливі варіанти вибору меню.

· Третя група виконує заміну назв пунктів меню з Українського на Англійський і навпаки.

· Тип зображення - довільна машина.

· У рядку стану повідомляти про дії з рядками меню.

Варіант № 5

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

· Робочу область вікна повністю займають два тимчасових вікна. Головне меню першого вікна містить розділ "Файл" з рядками "Відкрити", "Закрити" й "Вихід". Якщо вибрати рядок "Відкрити", то в другому вікні з'являється головне меню з розділом "Виправлення". Якщо вибрати пункт "Закрити", то в другому вікні віддаляється головне меню з розділом "Виправлення".

· Команди меню продублювати кнопками на панелі інструментів у кожному з вікон.

· Третя група виконує заміну назв пунктів меню з Англійського на Російського й навпаки.

· Тип зображення - комп'ютер, що включає системний блок, монітор і клавіатуру.

· Рядка стану всіх вікон відображають інформацію про активність вікон і переміщенні по рядках меню.

Варіант № 6

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

· Головне меню містить розділ "Файл" з рядками "Новий", "Відкрити" й "Вихід" і розділ "Допомога" з рядками "Зміст" й "Про програму". При виборі рядка "Зміст" з'являються рядки "Введення", "Частина 1", "Частина 2" ... а при виборі рядка "Частина ..." з'являються рядки "Розділ 1", "Розділ 2. "...

· При запуску другого екземпляра додатка повідомити про заборону запуску декількох екземплярів, на передній план перемістити перший екземпляр додатка, 3 рази змінити тло його вікна, видаючи звукове попередження, і завершити роботу другого екземпляра.

· Третя група виконує заміну назв пунктів меню з Українського на Російського й навпаки.

· Тип зображення - герб України.

У рядку стану відобразити шлях до поточного рядка меню

Варіант № 7

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

· 1. Перша група містить рядки "Сховати", "Показати", "Масштаб", "Властивості". Рядок "Масштаб" указує на тимчасове меню із чотирьох залежних рядків: "50%", "100%", "150%" й "200%", при виборі одна йз яких відзначається рожевим квадратом.

· 2. При виборі одного з пунктів меню другої групи (задати самостійно) виробляється дозвіл, заборона або виділення сірими кольорами іншого пункту меню. За замовчуванням пункти меню повинні бути дозволені.

· 3. Третя група виконує заміну назв пунктів меню з Українського на Росіянин і навпаки.

· 4. Тип зображення - довільний головний убір.

· У рядку стану повідомляти про рядки меню, включаючи стан рядків.

Варіант № 8

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

· Головне меню містить розділ "Користувачі", у якому перераховані рядки з іменами типів користувачів (студенти, викладачі, інженери й т.д.). Після вибору типу користувача цей розділ зникає й з'являється розділ "Дані", у якому перераховані загальні для всіх типів користувачів і типові тільки для обраного типу рядка даних.

· При виборі одного з пунктів меню другої групи виробляється додавання нового рядка меню із двома пунктами, що дозволяють додавати (видаляти) нові рядки меню. Обмежити загальна кількість додавань.

· Третя група виконує заміну назв пунктів меню з Українського на Німецький і навпаки.

· Тип зображення - портрет.

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

Варіант № 9

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

· Головне меню містить розділ "Кольорів" із трьома іменами стандартних квітів Windows і розділ "Фігури" з іменами трьох плоских фігур. Можливі комбінації колірних сполучень квітів і фігур зберігати в.bmp файлі. Після вибору кольорів і фігури відобразити в клієнтській області фігуру обраними кольорами, а відповідні рядки меню відзначити символом "V".

· Забезпечити вибір відповідної колірної фігури на панелі інструментів.

· Третя група виконує заміну назв пунктів меню з Російської на Німецький і навпаки.

· Тип зображення - рука людини.

· У рядку стану забезпечити видачу підказки про кольори й тип фігури.

Варіант № 10

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

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

· При виборі пунктів меню другої групи виробляється динамічна зміна головного меню й набору гарячих клавіш. При кожному виборі цього пункту меню виробляється додавання нових пунктів у нього з відповідними гарячими клавішами F1, F2, F3 і т.д. до 12. при виборі цього нового пункту меню повинне видаватися вікно повідомлення, у якому підтверджувався б вибір доданого пункту (наприклад, за допомогою різних рядків заголовка).

· Третя група виконує заміну назв пунктів меню з Українського на Німецький і навпаки.

· Тип зображення - сонце.

· Рядок стану відбиває шлях переміщення курсору по рядках меню.

Варіант № 11

· Розділ "Файл" головного меню містить рядка "Створити", "Відкрити", "Демо-версiя" й "Вихід". При… · Друга група пунктів меню управляє новими вікнами. При виборі будь-якого… · Третя група виконує заміну назв пунктів меню з Українського на Англійський і навпаки.

Варіант № 12

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

· Розділ "Користувачі" головного меню містить список користувачів. При виборі користувача в головному меню з'являються додаткові розділи. При зміні користувача міняються й ці розділи. Про дії з рядками меню повідомляти в рядку стану.

· Друга група пунктів меню повинна мати п'ять взаємовиключних підпунктів, при цьому послу кожного третього вибору будь-якого пункту меню, він повинен стати сірим. Вибір кожного пункту повинен відзначатися спеціальним символом "~".

· Третя група виконує заміну назв пунктів меню з Російської на Англійський і навпаки.

· Тип зображення - сніжинки.

· У рядку стану забезпечити підказку про користувачів або виводити дані про кількість обраних пунктів меню.

Варіант № 13

· Робочу область вікна додатка повністю займає тимчасове вікно з порожнім головним меню. Головне меню вікна додатка із тримає розділ… · Друга група пунктів меню повинна робить керування першою групою, шляхом… · Третя група виконує заміну назв пунктів меню з Російської на Німецький і навпаки.

Варіант № 14

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

· Створити плаваюче меню для вибору й установки виду курсору миші. При виборі імені виду курсору курсор миші повинен прийняти відповідний вид. Передбачити повернення в початковий стан.

· При виборі одного з пунктів меню другої групи (задати самостійно) у вікні повідомлення видається інформація про зазначений пункт меню, що включає розмір структури, стиль меню, максимальна висота меню, кисть, застосовувана для відображення, контекстний ідентифікатор довідки.

· Третя група виконує заміну назв пунктів меню з Російської на Український і навпаки.

· Тип зображення - футбольний м'яч.

· Про дії з курсором миші повідомляти в рядку стану мовою, установленим у п.3

Варіант № 15

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

· Головне меню містить розділ "Файл", у якому перераховані пункти з іменами команд "Створити", "Відкрити" й "Вихід". Після вибору команд "Створити" або "Відкрити" додаються рядки "Зберегти" й "Печатку", а також розділ "Виправлення" з рядками "Вирізати", "Вклеїти" й "Копіювати".

· При виборі одного з пунктів меню другої групи (задати самостійно) виробляється додавання нового пункту в головне меню додатки, причому кількість таких додавань не повинне перевищувати кількості вихідних пунктів меню, а вибір цього пункту меню приводить до його видалення.

· Третя група виконує заміну назв пунктів меню з Німецького на Українські й навпаки.

· Тип зображення - корабель.

· У рядку стану забезпечити підказки до команд меню при наведенні на них курсору миші.

Варіант № 16

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

· Головне меню містить розділ "Файл", у якому перераховані рядки з іменами команд "Створити", "Відкрити" й "Вихід", які можуть бути відзначені як залежні перемикачі. Після вибору рядків "Створити" або "Відкрити" додати розділ "Виправлення" з командами "Вирізати", "Вклеїти" й "Копіювати", які можуть бути відзначені як незалежні прапорці.

· За допомогою функцій Win32 API визначити пункт меню в другій групі, на якому встановлений курсор миші й зробити цей пункт утопленим (тобто розташованим нижче стосовно інших пунктів меню)

· Третя група виконує заміну назв пунктів меню з Українського на Англійський і навпаки.

· Тип зображення - літак.

Рядок стану відбиває шлях переміщення курсору по рядках меню.

Варіант № 17

· Головне меню містить розділ "Файл" з рядками "Створити", "Відкрити", "Видалити" й "Вихід". При… · При виборі одного з пунктів меню другої групи (задати самостійно)… · Третя група виконує заміну назв пунктів меню з Українського на Росіянин і навпаки.

Варіант № 18

· У другій групі пунктів меню (задати самостійно) виробляється додавання нового рядка меню, що містить один новий пункт, вибір якого приводить до… · Вибором одного з пунктів меню "Виправлення" повинна здійснюватися… · Тип зображення - довільне найменування валюти.

Варіант № 19

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

· Головне меню містить розділ "Файл" з іменами команд "Створити", "Відкрити", "Зберегти", "Закрити", "Печатку" й "Вихід", а розділ "Виправлення" з рядками "Вирізати", "Вклеїти" й "Копіювати". Після вибору команди "Закрити" видалити розділ "Виправлення".

· Друга групу пунктів у меню містить 4 пункти, при цьому довільний вибір одного з них повинен бути відзначений перемикачем "(". За замовчуванням у вихідному стані обраним повинен бути передостанній елемент із групи.

· Третя група виконує заміну назв пунктів меню з Українського на Англійський і навпаки.

· Тип зображення - карикатура.

· У рядку стану дублювати найменування обираних пунктів меню залежно від установленого в п.3 мови.

Варіант № 20

· Робочу область вікна додатка займають два тимчасових вікна. Головне меню першого тимчасового вікна містить розділ "Файл" з командами "Створити", "Відкрити", "Демо-версiя" й "Вихід". Передбачити можливість маніпулювання станом меню "Демо-версiя" із другого вікна.

· Головне меню другого вікна містить два різних деревоподібних меню додатка. При виборі однієї з опцій довільного меню (задати самостійно) додатка по черзі завантажується одне зі створених меню, які встановлюються в якості головного меню.

· Вибором одного з пунктів меню першого вікна здійснює заміну всіх назв пунктів меню в обох вікнах з Українського на Німецький і навпаки.

· Тип зображення - молодий півмісяць.

При наведенні на пункт меню у вигляді іконки вказувати в рядку складаючись шлях до файлу, що містить її образ.

 

ЗАВДАННЯ 2

У головне меню додатка, виконане в завданні № 1, додати пункти, що відповідають таким діалоговим вікнам.

Діалоговому вікну настроювання виду меню.

Настроювання виду меню включають додавання й видалення нових пунктів меню, зміна назви існуючих пунктів. Діалог повинен включати:

- с однієї сторони вибір пункту меню за допомогою заданого в п.1 індивідуального завдання елемента керування;

- с іншої сторони можливі стани (звичайна, заборонена й сіре) і можлива операції з пунктами меню (додати, видалити або модифікувати);

- мати обмеження на мінімальне й максимальне кількостей що видаляють/ пунктів, щододають, меню (відповідно до п.1 індивідуального завдання).

2. Діалогового вікна з інформацією про автора, номер групи, довільним графічним об'єктом (наприклад, особистою фотографією) і призначенні програми.

3. Індивідуального діалогового вікна, заданого в п.2 свого варіанта.

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

Варіант № 1

· Тип елемента керування: Combobox. Мінімальне число пунктів меню - 4, максимальне число пунктів меню - 12.

· Створити макет калькулятора, що містить поле уведення чисел, кнопки цифр від 0 до 9, десяткової крапки, арифметичного дії ("*", "/") і знака "=".

Варіант № 2

· Тип елемента керування: Listbox. Мінімальне число пунктів меню - 3, максимальне число пунктів меню - 11.

· У першій сторінці блокнота встановити стиль вирівнювання тексту ("По лівій границі", "По правій границі" й "По центрі"), у другій сторінці - шрифт ("Звичайний", "Напівжирний", "Курсив" й "Напівжирний Курсив"). Після натискання кнопки ОК у центрі клієнтської області вікна блокнота обраним стилем і шрифтом відобразити текст "Пробний висновок".

Варіант № 3

· Тип елемента керування: Combobox. Мінімальне число пунктів меню - 7, максимальне число пунктів меню - 15.

· У діалоговому вікні розташувати тимчасове вікно. У центрі цього вікна намалювати поле з 9 кліток й у кожнім полі вивести його значення (від 1 до 9). Поля виділяти різними квітами, обраними за допомогою одного з 9 довільних квітів.

Варіант № 4

· Тип елемента керування: Listbox. Мінімальне число пунктів меню - 6, максимальне число пунктів меню - 20.

· У чотирьох комбінованих списках діалогового вікна перебувають прізвища, імена та по батькові студентів (задати самостійно в кількості не менш 10) і номера їхніх телефонів (подібність із реальними можна не забезпечувати). Передбачити адекватний і синхронний вибір даних із чотирьох списків. При виборі в будь-якому списку (наприклад, у списку прізвищ) забезпечити вибір відповідних даних в інших списках. Після натискання клавіші "Застосувати" у заголовку головного вікна додатка відобразити дані про студента.

Варіант № 5

· Тип елемента керування: Combobox. Мінімальне число пунктів меню - 5, максимальне число пунктів меню - 12.

· Перша сторінка блокнота запитує ім'я користувача, пароль і його підтвердження. У випадку успішної реєстрації користувача розкрити другу сторінку зі списком доступних цьому користувачеві даних. Після натискання кнопки ОК блокнота відобразити ім'я користувача й обрані дані.

Варіант № 6

· Тип елемента керування: Listbox. Мінімальне число пунктів меню - 7, максимальне число пунктів меню - 13.

· Діалогове вікно містить тимчасове вікно. У центрі цього вікна намалювати кругову діаграму. Кількість секторів й їхні процентні частки задати за допомогою органів керування панелі (при необхідності обмежити). Для вибору квітів зафарбування секторів використати стандартну панель вибору квітів.

Варіант № 7

· Тип елемента керування: Combobox. Мінімальне число пунктів меню - 4, максимальне число пунктів меню - 15.

· При виборі рядка меню "Установити пароль" створити діалогове вікно, де за допомогою клавіатури ввести ім'я користувача й пароль, потім кнопку ОК. Уведення пароля супроводжувати показом символу "*". Після цього створити іншу діалогову панель для підтвердження уведених даних. Після підтвердження даних завершити роботу вікна й відобразити уведені дані.

Варіант № 8

· Тип елемента керування: Listbox. Мінімальне число пунктів меню - 3, максимальне число пунктів меню - 16.

· У тимчасовому вікні створити порожні списки для зберігання імен файлів і шляхів до них. За допомогою стандартної панелі вибрати імена файлів у будь-якому каталозі й записати їхні дані в списки тимчасового вікна. Тимчасове вікно повинне обробляти клавіатурні повідомлення так само, як і модальні вікна.

Варіант № 9

· Тип елемента керування: Combobox. Мінімальне число пунктів меню - 4, максимальне число пунктів меню - 14.

· Діалогове вікно містить 3 горизонтальні смуги прокручування для регулювання значень RGB-складові кольори й 3 статичних органи для відображення значень складові кольори. Нижче смуг прокручування перебуває тимчасове вікно, у якому відображається текст "Пробний висновок" поточним значенням кольори на прозорому тлі. Після будь-якої зміни складових відобразити текст цими кольорами.

Варіант № 10

· Тип елемента керування: Listbox. Мінімальне число пунктів меню - 5, максимальне число пунктів меню - 16.

· Вікно містить розділ меню "Вид" з рядками "Звичайний", "Стислий" й "Скорочений". На звичайній панелі розташувати тимчасове вікно із тлом "Робочий стіл", горизонтальну смугу прокручування й кілька статичних органів. На стислій панелі повинні отсутствовать статичні органи, а на скороченій панелі відсутній і смуга прокручування. При зміні виду змінити й розміри панелі.

Варіант № 11

· Тип елемента керування: Combobox. Мінімальне число пунктів меню - 7, максимальне число пунктів меню - 18.

· У діалоговому вікні розташувати список з іменами констант системних квітів. Правее списку відобразити тимчасове вікно. Вибрати назва системних кольорів і нажати кнопку "Готове". Після цього обраними кольорами зафарбувати робочу область тимчасового вікна. У заголовку цього вікна відобразити ім'я обраної константи.

Варіант № 12

· Тип елемента керування: Listbox. Мінімальне число пунктів меню - 3, максимальне число пунктів меню - 14.

· Діалогова панель містить два списки пунктів меню, кнопки <<, >>, ОК. і "Назад". Після натискання кнопки << (або кнопки >>) обрані в правом (або в левом) списку рядка переслати в лівий (або в правий). При натисканні кнопки "Назад" скасувати останній перенос. Після натискання кнопки ОК завершити роботу.

Варіант № 13

· Тип елемента керування: Combobox. Мінімальне число пунктів меню - 4, максимальне число пунктів меню - 12.

· Перша сторінка персонального блокнота містить назви книг (задати самостійно в кількості не менш 8), друга - назва розділів обраної книги (не менш 2), назви параграфів обраної глави. Всі сторінки містять вікно уведення й кнопки "Додати", "Видалити" й "Властивості". Після натискання кнопки "Додати" уміст вікна уведення додається в список. Після натискання кнопки "Видалити" виробляється видалення обраної назви зі списку. Після вибору рядка в списку й натискання кнопки "Властивості" розкрити наступну сторінку. Передбачити кнопки навігації між сторінками в обох напрямках.

Варіант № 14

· Тип елемента керування: Listbox. Мінімальне число пунктів меню - 5, максимальне число пунктів меню - 13.

· Створити діалогове вікно для відображення номера телефону, що набирає. Номер набирати за допомогою розташованих на поверхні панелі кнопок від "0" до "9". Якщо перша цифра дорівнює "8", то забороняти на кілька секунд уведення даних.

Варіант № 15

· Тип елемента керування: Combobox. Мінімальне число пунктів меню - 6, максимальне число пунктів меню - 16.

· Діалогова панель містить вікно уведення, два списки й кнопки "Уліво", "Вправо", "Готове" й "Назад". Після натискання кнопки "Уліво" (або кнопки "Вправо") уміст вікна уведення або обрану в правом (або в левом) списку рядок переслати в лівий (або в правий) список. Роботу завершити після натискання кнопки "Готове". При натисканні кнопки "Назад" скасувати останній перенос.

Варіант № 16

· Тип елемента керування: Listbox. Мінімальне число пунктів меню - 7, максимальне число пунктів меню - 15.

· Діалогова панель містить список студентів групи й список їхнього рейтингу (під рейтингом мається на увазі середній бал попередньої сесії). Після вибору студента на панелі намалювати прямокутник, висота якого пропорційна рейтингу студента. Нижче прямокутника вивести ім'я студента, вище - рейтинг.

Варіант № 17

· Тип елемента керування: Combobox. Мінімальне число пунктів меню - 6, максимальне число пунктів меню - 12.

· При виборі рядка меню "Установити пароль" створити панель, де за допомогою клавіатури ввести ім'я користувача й пароль, потім нажати кнопку ОК. Уведення пароля відображати символом "(". Після цього створити іншу діалогову панель для підтвердження уведених даних. Після підтвердження даних завершити роботу панелі й відобразити уведені дані.

Варіант № 18

· Тип елемента керування: Listbox. Мінімальне число пунктів меню - 3, максимальне число пунктів меню - 14.

· Створити діалогове вікно завдання тексту виведеного рядка, кольори букв, кольори тла тексту. Після вибору атрибутів висновку відобразити зазначений рядок із цими атрибутами в клієнтській області вікна.

Варіант № 19

· Тип елемента керування: Combobox. Мінімальне число пунктів меню - 4, максимальне число пунктів меню - 13.

· Створити два списки. Між ними розташувати кнопки "Перемістити" й "Перемістити". Лівий список повинен бути споконвічно заповнений списком товарів народного споживання. Якщо вибрати рядок і нажати одну із кнопок, то обраний рядок повинна переміститися ліворуч праворуч або навпаки. Передбачити відкіт від проведених дій.

Варіант № 20

· Перша сторінка блокнота містить назви книг, друга - на звання глав обраної книги, третя - назви параграфів обраної глави. Всі сторінки містять… Контрольні питання до завдання 1. 1. Перелічити основні види меню й укажіть розходження між ними.

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

 

Розробка програм на керованому С++

 

Ціль лабораторної роботи - придбання практичних навичок роботи з елементами керованого C++.

Перед виконанням лабораторної роботи студент повинен знати: основи застосування масивів і структур у керованому C++.

Після виконання лабораторної роботи студент повинен уміти: розробляти прості програми з використанням контейнерів даних мовою C++.

 

Короткі теоретичні відомості й історичний аспект

Середовище .NET Framework   .NET Framework — центральна частина Visual C++ 2005, як і всіх інших засобів розробки .NET компанії Microsoft.…

Програмування на C++/CLI

C++/CLI пропонує безліч розширень і додаткових можливостей, основні з яких наступні:

Всі фундаментальні типи даних ISO/ANSI, можуть бути використані в програмах C++/CLI, але тут вони мають деякі додаткові властивості в певних контекстах.

C++/CLI надає власний механізм клавіатурного уведення й висновку в командний рядок консольних програм.

C++/CLI надає операцію safe_cast, що гарантує, що операція приведення приведе до генерації коду, що перевіряє.

C++/CLI надає альтернативну можливість перерахування на основі класів і забезпечує більшу гнучкість, чим оголошення enum з ISO/ANSI C++.

 

Специфіка C++/CLI: фундаментальні типи даних

  long long від -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807

Таблиця 8.1.

Фундаментальні типи C++/CLI

  Оскільки імена фундаментальних типів ISO/ANSI C++ служать псевдонімами для… int count = 10;

Створення простого керованого консольного додатка.

  1. Запустите на виконання Visual Studio. NET (2005 або більше нової) 2. Виберіть послідовно пункти меню File - New Project (Файл - Створити новий

Стандартний ввід-вивід

String^ line = Console::ReadLine (); Цей оператор читає повний вхідний рядок тексту, завершену натисканням клавіші… Прочитати окремий символ можна застосувавши для цього функцію Console::Read().

Часто використовувані специфікатори формату

Взагалі можна писати специфікацію формату у вигляді {n, w:Ахх}, де n - значення індексу, що вказує номер аргументу, що випливає за форматним рядком,… Console::WriteLine(L"Пакетів:{0,3} Вага: {1,5:F2} фунтів.",… Кількість пакетів виводиться в поле шириною 3 знаки, а вага - у поле шириною 5, тому в результаті одержимо:

Динамічне виділення пам'яті в програмах на C++/CLI

Збирач сміття CLR здатний видаляти об'єкти й звільняти пам'ять, що вони займали, коли необхідність у них відпадає. Виникає очевидне питання: як може… Оскільки процес зборки сміття може містити в собі стиск області пам'яті купи…  

Дескриптори, що відслідковують

Всі об'єкти, створені в купі CLR, повинні забезпечуватися дескрипторами. Всі об'єкти посилальних типів класів зберігаються в купі й тому створені…  

Оголошення дескрипторів, що відслідковують

String^ proverb; Це визначає змінну proverb дескриптор, що відслідковує як, типу String^. Коли… proverb = nullptr; // Установити дескриптор в null

Масиви CLR

array<int>^ data; Змінна масиву data може зберігати посилання на одномірний масив елементів типу… Ви можете створити масив CLR, використовуючи операцію gcnew, одночасно з оголошенням змінної масиву:

Багатомірні масиви

array<int, 2>^ values = gcnew array<int, 2>(4, 5); Цей оператор створює двовимірний масив із чотирьох рядків і п'яти стовпців,… int nrows = 4; int ncols = 5;

Об'єднання рядків

String^ namel = L"Пат"; String^ name2 = L"Паташон"; String^ nаmез = namel + L" й " + name2;

Цикл foreach

Використання циклу for each для доступу до кожного символу в String   Створіть новий проект консольної програми CLR і модифікуйте код у такий спосіб:

Завдання до лабораторної роботи

Варіант 1

В одномірному масиві, що складається з п речовинних елементів, обчислити:

o суму негативних елементів масиву;

o добуток елементів масиву, розташованих між максимальним і мінімальним елементами.

Упорядкувати елементи масиву по зростанню.

Варіант 2

В одномірному масиві, що складається з п речовинних елементів, обчислити:

o суму позитивних елементів масиву;

o добуток елементів масиву, розташованих між максимальним по модулі й мінімальним по модулі елементами.

Упорядкувати елементи масиву по убуванню.

Варіант 3

В одномірному масиві, що складається з « цілих елементів, обчислити:

o добуток елементів масиву з парними номерами;

o суму елементів масиву, розташованих між першими й останнім нульовими елементами.:

Перетворити масив таким чином, щоб спочатку розташовувалися всі позитивні елементи, а потім - всі негативні (елементи, рівні 0, уважати позитивними).'

Варіант 4

В одномірному масиві, що складається з п речовинних елементів, обчислити:

o суму елементів масиву з непарними номерами;

o суму елементів масиву, розташованих між першими й останнім негативними елементами.

Стиснути масив, видаливши з нього всі елементи, модуль яких не перевищує 1. елементи, Що Звільнилися наприкінці масиву, заповнити нулями.

Варіант 5

В одномірному масиві, що складається з п речовинних елементів, обчислити:

o максимальний елемент масиву;

o суму елементів масиву, розташованих до останнього позитивного елемента.

Стиснути масив, видаливши з нього всі елементи, модуль яких перебуває в інтервалі [а,Ь]. елементи, Що Звільнилися наприкінці масиву, заповнити нулями.

Варіант 6

В одномірному масиві, що складається з п речовинних елементів, обчислити:

o мінімальний елемент масиву;

o суму елементів масиву, розташованих між першими й останнім позитивними елементами.

Перетворити масив таким чином, щоб спочатку розташовувалися всі елементи, рівні нулю, а потім - всі інші.

Варіант 7

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

o номер максимального елемента масиву;

o добуток елементів масиву, розташованих між першими й другим нульовими елементами.

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

Варіант 8

В одномірному масиві, що складається з п речовинних елементів, обчислити:

o номер мінімального елемента масиву;

o суму елементів масиву, розташованих між першими й другим негативними елементами.

Перетворити масив таким чином, щоб спочатку розташовувалися всі елементи, модуль яких не перевищує 1, а потім - всі інші.

Варіант 9

В одномірному масиві, що складається з п речовинних елементів, обчислити:

o максимальний по модулі елемент масиву;

o суму елементів масиву, розташованих між першими й другим позитивними елементами.

Перетворити масив таким чином, щоб елементи, рівні нулю, розташовувалися після всіх інших.

Варіант 10

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

o мінімальний по модулі елемент масиву;

o суму модулів елементів масиву, розташованих після першого елемента, рівного нулю.

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

Варіант 11

В одномірному масиві, що складається з п речовинних елементів, обчислити:

o номер мінімального по модулі елемента масиву;

o суму модулів елементів масиву, розташованих після першого негативного елемента.

Стиснути масив, видаливши з нього всі елементи, величина яких перебуває в інтервалі [а,Ь]. елементи, Що Звільнилися наприкінці масиву, заповнити нулями.

Варіант 12

В одномірному масиві, що складається з п речовинних елементів, обчислити:

o номер максимального по модулі елемента масиву;

o суму елементів масиву, розташованих після першого позитивного елемента.

Перетворити масив таким чином, щоб спочатку розташовувалися все елемент ти, ціла частина яких лежить в інтервалі [а,Ь], а потім - всі інші.

Варіант 13

В одномірному масиві, що складається з п речовинних елементів, обчислити:

o кількість елементів масиву, що лежать у діапазоні від А до В;

o суму елементів масиву, розташованих після максимального елемента.

Упорядкувати елементи масиву по убуванню модулів елементів.

Варіант 14

В одномірному масиві, що складається з п речовинних елементів, обчислити:

o кількість елементів масиву, рівних 0;

o суму елементів масиву, розташованих після мінімального елемента.

Упорядкувати елементи масиву по зростанню модулів елементів.

Варіант 15

В одномірному масиві, що складається з п речовинних елементів, обчислити:

o кількість елементів масиву, більших З;

o добуток елементів масиву, розташованих після максимального по модулі елемента.

Перетворити масив таким чином, щоб спочатку розташовувалися всі негативні елементи, а потім - всі позитивні (елементи, рівні 0, уважати позитивними).

Варіант 16

В одномірному масиві, що складається з п речовинних елементів, обчислити: 1) кількість негативних елементів масиву;

2) суму модулів елементів масиву, розташованих після мінімального по модулі елемента.

Замінити всі негативні елементи масиву їхніми квадратами й упорядкувати елементи масиву по зростанню.

Варіант 17

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

o кількість позитивних елементів масиву;

o суму елементів масиву, розташованих після останнього елемента, рівного нулю.

Перетворити масив таким чином, щоб спочатку розташовувалися всі елементи, ціла частина яких не перевищує 1, а потім - всі інші.

Варіант 18

В одномірному масиві, що складається з п речовинних елементів, обчислити:

o кількість елементів масиву, менших З;

o суму цілих частин елементів масиву, розташованих після останнього негативного елемента.

Перетворити масив таким чином, щоб спочатку розташовувалися всі елементи, що відрізняються від максимального не більше ніж на 20%, а потім - всі інші.

Варіант 19

В одномірному масиві, що складається з п речовинних елементів, обчислити:

o добуток негативних елементів масиву;

o суму позитивних елементів масиву, розташованих до максимального елемента.

Змінити порядок проходження елементів у масиві на зворотний.

Варіант 20

o добуток позитивних елементів масиву; o суму елементів масиву, розташованих до мінімального елемента. Упорядкувати по зростанню окремо елементи, що коштують на парних місцях, і елементи, що коштують на непарних місцях. …

Рекомендована література

1. Павловская Т. А. С/С++. Программирование на языке высокого уровня. – СПб.: Питер, 2006. — 462 с.

2. ПавловскаяТ. А. С++. Объектно-ориентированное про-граммирование: Практикум. – СПб.: Питер, 2006. — 266 с.

3. Пирогов В. Ю. Программирование на Visual C++.NET. – СПб.: БХВ-Петербург, 2003. – 800 с.

4. Подбельский В. В. Язык С++: Учебн.пособие. – 4-е изд. – М.: Финансы и статистика, 1999, -- 560 с.

 

 

Зміст

Загальні положення …………………………………………………………….3

1.Лабораторна робота №1. Підготовка і розв’язання на ПК задач обробки масивів з використанням покажчиків ……………………………. 7

2.Лабораторна робота №2. Підготовка і рішення на ПК завдань з використанням рядків і макросів …………………………………………… 24

3. Лабораторна робота №3. Підготовка і рішення на ПК завдань з використанням рядків і макросів ……………………………………………. 41

4. Лабораторна робота №4. Підготовка і рішення на пк завдань обробки масивів структур ……………………………………………………. 50

Лабораторна робота №5. Підготовка й рішення на пк завдань обробки масивів структур з використанням контейнерів ………………. 66

6. Лабораторна робота № 6. Дослідження структури windows-додатка ………………………………………………………………….. 85

7. Лабораторна робота № 7. Дослідження взаємодії додатка з користувачем …………………………………………………………………. 108

Лабораторна робота №8. Розробка програм на керованому С++ ……………………………………………………………………………… 163

9. Рекомендована література ……………………………………….. 208

 

Навчальне видання

Методичні рекомендації до лабораторних робіт з навчальної дисципліни «Основи програмування та алгоритмічні мови»

Дк №481 від 13.06.2001р.

Видавець і виготівник – видавництво ХНЕУ, 61001, м. Харків, пр. Леніна, 9а

– Конец работы –

Используемые теги: НАВЧАЛЬНОЇ, дисципліни, основи, програмування, Алгоритмічні, мови0.081

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Навчальної дисципліни Основи програмування та алгоритмічні мови

Что будем делать с полученным материалом:

Если этот материал оказался полезным для Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Еще рефераты, курсовые, дипломные работы на эту тему:

РОБОЧА ПРОГРАМА НАВЧАЛЬНОЇ ДИСЦИПЛІНИ Основи суспільної географії
Кафедра економічної і соціальної географії... ЗАТВЕРДЖУЮ Проректор з науково педагогічної...

КОНСПЕКТ ЛЕКЦІЙ з дисципліни Економічна і соціальна географія світу Конспект лекцій з дисципліни Економічна і соціальна географія світу розроблений викладачем 1 категорії Рибаченко І.М. Затверджений на засіданні циклової комісії загальноосвітніх дисциплін
МІНІСТЕРСТВО НАУКИ І ОСВІТИ УКРАЇНИ Верстатоінструментальний технікум... НАЦІОНАЛЬНОГО ТЕХНІЧНОГО УНІВЕРСИТЕТУ... ХПІ...

Українська мова серед інших мов світу. Походження української мови.
У свiтi налiчується понад тисяч мов Бiльшiсть iз цих мов не мають своєї... Найближчою до української мови із східнослов янських мов є білоруська із південнослов янських сербохорватська із...

ТЕМАТИЧНИЙ ПЛАН з навчальної дисципліни Основи філософських знань 4. Гуманістичний характер філософії епохи Відродження
В С Т У П Динамічні процеси сучасного суперечливого світу ставлять кожну людину в складні умови соціального життя Зростаюча напруга пов язана зі зміною...

Опорний конспект лекцій З навчальної дисципліни ЛІНГВОКРАЇНОЗНАВСТВО ДРУГОЇ ІНОЗЕМНОЇ МОВИ (НІМЕЦЬКОЇ)
КАФЕДРА РОМАНО ГЕРМАНСЬКИХ МОВ... Опорний конспект лекцій...

Конспект лекцій з дисципліни Фінансовий облік комерційно-економічних дисциплін Тема 1. Основи побудови фінансового обліку
Конспект лекцій з дисципліни Фінансовий облік...

Тексти лекцій З навчальної дисципліни Основи сценарної роботи соціального педагога
З навчальної дисципліни... Основи сценарної роботи соціального педагога... Для денної форми навчання...

Основы планирования. Теоретические основы управления проектами. Основы планирования. Планирование проекта в MS Project 7
Использованная литература В В Богданов Управление проектами в Microsoft Project Учебный курс Санкт Петербург Питер г...

КОНСПЕКТ ЛЕКЦІЙ навчальної дисципліни АУДИТ Теоретичні та організаційні основи аудиту
ОДЕСЬКА НАЦІОНАЛЬНА МОРСЬКА АКАДЕМІЯ... КОНСПЕКТ ЛЕКЦІЙ навчальної дисципліни АУДИТ...

НОРМАТИВНОЇ ДИСЦИПЛІНИ Методичні вказівки до вивчення нормативної дисципліни дисципліни Безпека життєдіяльності
Національний транспортний університет... Кафедра екології та безпеки життєдіяльності...

0.032
Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • По категориям
  • По работам