
- •Методичні вказівки
- •6.050103 «Програмна інженерія»
- •Лабораторна робота №1 Програмування лінійних та розгалужених обчислювальних процесів Мета роботи
- •Завдання на лабораторну роботу
- •Основні теоретичні відомості
- •Контрольні запитання
- •Лабораторна робота №2 Програмування задач циклічної структури Мета роботи
- •Завдання на лабораторну роботу
- •Основні теоретичні відомості
- •Основні теоретичні відомості
- •Основні теоретичні відомості
- •Контрольні запитання
- •Лабораторна робота № 7 Вивчення методів сортування Мета роботи
- •Завдання на лабораторну роботу
- •Основні теоретичні відомості
- •Основні теоретичні відомості
- •Контрольні запитання
- •Література
- •Д.1. Функція printf()
- •Д.2. Функція scanf()
Контрольні запитання
Чим відрізняється визначення шаблона структури від визначення структури?
Запишіть (у виді прикладів) способи доступу до членів структури, до елементів масиву ‑ члена структури, до членів структури, що є елементом масиву.
Що означає код (*str).alpha і як його ще можна записати?
Як створити динамічну структуру? Як перевірити, чи створилася динамічна структура?
Як ініціалізувати елементи структури?
Напишіть код, що визначає розмір масиву структур.
Чи правильний запис struct x{int x,y;double z[2];}x;?
Схематично показати розподіл пам'яті для структури
struct{int alfa;
int a : 5;
int b : 3;
char ch;}record;
Наведіть приклад використання структури в іншій структурі. Привласніть значення одному елементу цієї структури.
Що таке об'єднання (union)? Як створити шаблон об'єднання і саме об'єднання?
Схематично показати розподіл пам'яті для об'єднання
union{long word;
char delta;
int number;
char gamma[4];}UN;
Як ініціалізувати об'єднання?
Чим структура відрізняється від об'єднання?
Для чого можна використовувати бітові поля?
Як задається розмір бітового поля при описі його в структурі?
Запишіть визначення структури для збереження імені, що включає до 40 символів, поля для збереження інформації про родинний стан як одного з чотирьох значень і поля для збереження відділу як одного з восьми значень.
Чи може до бітового поля застосовуватися операція "одержати адресу" &?
Література
Абрамов С.А. Задачи по программированию. – М.:Наука, 1988.с.
Архангельский А.Я. Библиотека С++ Builder 5: 70 компонентов ввода/вывода информации. – М.: ЗАО «Издательство Бином», 2004, - 288с.
Бен-Ари М. Языки программирования. Практический сравнительный анализ: Пер. с англ. – М.: Мир, 2002. – 366с.
Березин Б.И., Березин С.Б. Начальный курс С и С++: Учеб. пособие. – М.: Диалог – МИФИ, 2000. – 288с.
Браунси Кэн. Основные концепции структур данных и реализация в С++: Пер. с англ. – М.: Изд. Дом «Вильямс», 2002. – 320с.
Глинський Я.М. С++ Builder: Навч. посіб./ Я.М. Глинський, В.Є. Анохін, В.А. Ряжська. – Л.: Дсол., 2003. – 192с.
Глумаков С.В., Коваль А.В., Смирнов С.В. Язык программирования С++: Учеб. курс. – Х.: Фолио; М.: ООО «Издательство АСТ», 2001. – 500с.
Дворжецкий А. Программирование на С и С++. – М. Познавательная книга плюс, 2001. – 416с.
Дейтел Х.М. Дейтел П.Дж. Как программировать на С++: Пер с англ. – М.: Бином, 1999. – 1022с.
Демидович Е.М. Основы алгоритмизации и программирования. Язык С: Учеб. пособие, - СПб.: БХВ – Петербург, 2006. – 440с.
Ишкова Э.А. С++. Начала программирования. 2-е изд. перераб. и доп. – М.: ЗАО «Изд-во Бином», 2001. – 479с.
Карпов Б., Баранова Т. С++: Специальный справочник. – СПб.: Питер, 2001. – 479с.
Керниган Б. Язык программирования С: Пер. с англ./Б. Керниган, Д. Ритчи. – 2-е изд., перераб. И доп. – М.: Вильямс, 2006. – 304с.
Крупник А. Изучаем С. – СПб: Питер, 2001. – 256с.
Крячков А.В., Сухинина И.В., Томшин В.К. Программирование на С и С++: Учеб. Пособие для вузов/ Пер. ред. В.К. Томшина. – 2-е изд., испр. – М.: Горячая линия – Телеком, 2006. – 344с.
Культин М.Б. С/С++ в задачах и примерах. – СПб.: БХВ – Петербург, 2005. – 288с.
Кульпин Н.Б. С/С++ в задачах и примерах. – СПб: БХВ – Петербург, 2001. – 288с.
Либерти Д. Освой самостоятельно С++: 10 минут на урок. 2-е изд. – М.: Издат. Дом «Вильямс», 2004. – 352с.
Лоуден К. С++. Карманный справочник. – СПб.: Питер, 2004. – 220с.
Павловская Т.А. Структурное программирование: Учеб. пособие/ Т.А. Павловская, Ю.А. Щупак. – СПб.: Питер, 2002. – 240с.
Подбельский В.В. Практикум по программированию на языке С: Учеб. пособие. - М.: Финансы и статистика, 2004. – 576с.
Подбельский В.В. Язык С++: Учеб пособие для вузов. – 5-е издание – М.: Ф и С, 2001. – 560с.
Программирование на языке С++: Учеб. пособие/ под ред. А.Д. Хомоненко. – СПб.: Корона принт, 1999. – 256с.
Савитч У. Язык С++: Курс ООП: Пер. с англ. – 3-е изд. – М.: Изд. дом «Вильямс», 2001. – 704с.
Скляров В.А. Язык С++ и ООП: Спр. пособие. – Минск.: ВШ, 1997. – 480с.
Франка П. С++: Учеб. курс. – СПб.: Питер, 1999. – 522с.
Фридман А.Л. Основы ООП на языке С++. – 2-е изд. Перераб. И доп. – М.: Горячая линия, – Телеком, 2001. – 232с.
Шилдт Г. Искусство программирования на С++. СПб.: БХВ – Петербург, 2006. – 496с.
Шилдт Г. Справочник программиста по С/С++: Пер с анг. – 2-е изд. – М.: ВШ, 2000. – 447с.
Элдтер Дж. С++: Библиотека программиста. – СПб.: Питер, 2000. – 320с.
Додаток А Титульний аркуш
Міністерство освіти і науки, молоді та спорту України
Запорізький національний технічний університет
кафедра Програмних засобів
Лабораторна робота № 1
Програмування лінійних процесів
Викоконав(ла)
Ст. гр. ІОТ-714 В.В. Іванов
Прийняв
доцент Е.Н. Сидоров
ст. викл. В.В. Воробьов
ас. В.Д. Петров
Запоріжжя, 2011
Додаток Б Основні типи даних. Модифікатори
Усі типи, що використовуються у С++, поділяються на 3 вида:
вбудовані (базові),
похідні (покажчики та посилання),
непередвизначені (користувацькі, в т.ч. класові).
До базових типів відносять: int, char, bool, float, double.
Модифікатори типу: signed, unsigned, long, short
Таблиця Б.1 – Діапазони значень для змінних базових типів мови С++
-
Тип
Розмір біт
Мінімальний діапазон
char
8
-127-127 чи 0-255
unsigned char
8
0-255
int
16
-32767-32767
unsigned int
16
0-65 535
signed int
Аналогічний типу int
short int
16
Аналогічний типу int
unsigned short int
0-65 535
signed short int
Аналогічний типу short int
long int
32
-2 147 483 647-2 147 483 647
signed long int
Аналогічний типу long int
unsigned long int
32
0-4 294 967 295
long long int
-(263-1)-263-1(тільки в С99)
signed long long int
Аналогічний типу long long
Int (тільки в С99)
unsigned long long int
0-264-1(тільки в С99)
float
32
6 значимих цифр
double
64
10 значимих цифр
long double
80
10 значимих цифр
Додаток В Схема компіляції програми
Додаток Д Використання потоків у С-системі
введення/виведення
С-орієнтована система введення/виведення посилається на поняття потоку. В початку роботи програми автоматично відкриваються три текстові потоки, що визначені заздалегідь: stdin, stdout, stderr. Вони називаються стандартними потоками введення даних (вхідний поток), виведення даних (вихідний поток) та помилок відповідно. За замовчанням вони пов’язані з системними пристроями (дивись таблицю Д.1).
Таблиця Д.1 – Пристрої та пов’язані з ними потоки
Потік |
Пристрій |
stdin |
клавіатура |
stdout |
екран |
stderr |
екран |
Дві найпопулярніші С-функції введення/виведення є printf() та scanf(). Функція printf() записуєдані у стандартний пристрій введення (консоль), а функція scanf() , її доповнення, зчитує дані з клавіатури.