Базові типи даних для ПК на базі платформи Intel



МІСТ

Загальні положення. 4

1 Розробка та виконання простих програм у середовищі VISUAL C ++. Розв’язання задач з простою змінною.. 5

2 Розв’язання задач з використанням масивів. 20

3 Робота з рядками. 26

4 Робота зі структурами. 31

5 Використання функцій при розробці програм. 35

6 Пространства имен (поименованные области) 39

7 Пошук і сортування. 51

Перелік посилань. 55

 

 

 

 

.

 

 


Загальні положення

 

В наш час персональні комп’ютери мають широке застосування в pізноманітних галузях людської діяльності. Все це неможливо без знань мов програмування і тому таку актуальність надбав лозунг “Програмування – друга грамотність”.

Головною метою даних методичних вказівок є допомога студентам в оволодінні практичними навичками у підготовці та розв’язанні задач найбільш розповсюдженою мовою програмування С++, а також придбанні початкових знань в складній сучасній системі програмування VISUAL C ++.

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

Для виконання роботи необхідно: опрацювати теоретичний матеріал, дати відповіді на контрольні запитання, які надаються в цих методичних вказівках, розробити схему алгоритму, скласти програму свого варіанту завдання та розв’язати його на персональному комп’ютері (ПК), оформити звіт і захистити його.

Звіт повинен мати: номер лабораторної роботи, назву та мету роботи, завдання, схему алгоритму (в деяких випадках – короткий опис алгоритму), роздрук-лістинг тексту програми та результати її розв’язання, аналіз одержаних результатів і висновок щодо роботи.

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

 

 


 

1 Розробка та виконання простих програм у середовищі VISUAL C ++.
Розв’язання задач з простою змінною

 

     1.1 Мета роботи

 

Освоїти прийоми роботи з текстовим редактором і основними компонентами інтегрованого середовища програмування С++; придбати практичні навички введення – виведення даних, складання і налагодження простіших програм мовою С++; освоїти правила опису типів даних; придбати навички у використанні операторів керування й організації циклів.

 

 

Методичні вказівки до організації самостійної роботи студентів

 

При підготовці до роботи повторити типи констант і змінних, способи їхнього опису, використання інтегрованого середовища програмування на С++ [1–7, конспект лекцій].

 

1.2.1 Розробка консольного додатка у середовищі VISUAL C ++

 

Visual C++— це інструмент професійного програмування в середовищі Windows. Основна сила пакета – використання бібліотеки класів. Спеціальні програми –майстри пишуть за користувача значну частину проекту – програми. Інтегроване середовище  Visual C++  дає можливість писати та виконувати складні програми . Програма в цьому середовищі — це проект, що складається із набору файлів, розміщених в робочих областях. У середовищі можна також реалізовувати звичайні ( без використання стандартних класів) програми мовою С++ . Для цього застосовується консольний режим.

 

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

1. Запустити за допомогою менюVisual C++.

    2. Використати команду File/New, з’являється вікно New.

    3. Перейти на вкладку  Projects і вибрати із списку рядок Win32 Console Application.

    4. В текстовому поліProject ввести ім’я створюємого проекта Pro1, а в полі Location вказати каталог для проекта за допомогою ієрархічного списку в правому кутку .

    5. Натинути кнопку Ок у вікні New. Проект Pro1 створено у вигляді файлів Pro1.dsw, Pro1.dsp.

    6. Якщо необхідно продовжити роботу над програмою, з якою працювали раніше, слід використати команду File/Open Workspaces і відкрити файл з розширенням .dsw.

    7. Для створення файла Pro1.cpp слід знову використати команду File/New, але з вкладкою Files.

    8. Вибирати зі списку рядок C++ Source File, ввести імя файла Pro1.cpp у полі Filename та слідкувати, щоб прапорець Add to project було виставлено! Натиснути Ок. В результаті файл Pro1.cppбуде створено і відкрито у середовищіVisual C++.

    9. Якщо необхідний файл .сpp знаходиться на дискеті, слід спочатку створити проект і в ньому всередині замінити його файл з розширенням .cpp на файл .cpp, що знаходиться на дискеті. Для цього найкраще використовувати програму роботи з файлами Far .

    10. Набрати текст програми на С++ та відкомпілювати його командою Build/Build Pro1.exe або натисненням іконочної кнопки чи клавіші F7.

    11.Запустити програму командою Build/Execute Pro1.exe або клавішами Ctrl+W.

    12. Для пошуку та виправлення помилок компіляції у нижньому вікні слід знайти помилковий оператор та два рази натиснути на ньому лівою клавішою мишки. Виходимо на текст програми , виправляємо помилку та знову виконуємо компіляцію. При цьому треба не забувати зберігати на дискові новий варіант програми.

Відладчик вмикається та вимикається в полі меню Build/ Start Debug /Configurations.

 

Структура програми

Як відомо, кожна програма представляє собою якусь послідовність інструкцій в машинних кодах, що керують поведінкою певного обчислювального засобу. Кожна програма мовою С++ включає до себе підключення заголовних файлів за допомогою директиви препроцесора #include<ім’я заголовного файлу.h>, головну функцію main() і, якщо це необхідно, декілька інших функцій, створених користувачем. Загальна структура простішої програми мовою С++ має вигляд:

#include<ім’я заголовного файлу.h>

Int main()

{тіло головної функції;}

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

 

    Коментарі.В процесі створення програми використовуються коментарі, текст яких завжди ігнорується компілятором, але дозволяє програмісту описувати призначення тої чи іншої частини програми. В мові С++ використовується два різновиду коментарів:

/*  текст */  — багатострочний коментар, який не може бути вкладеним і

// текст  — однострочний коментар до кінця строки.

 

    Змінні та типи даних.Для того, щоб програма могла на протязі свого виконання зберігати визначенні дані, використовуються змінні та константи. Одним із базових понять властивостей програми є ідентифікатор – ім’я змінної, ім’я функції або метка. В програмі ідентифікатор може містити прописні та строчні латинські букви, цифри та символ підкреслення та обов’язково починатися з буква або символу підкреслення. Ідентифікатор не повинен співпадати з ключовими словами з урахуванням регистру. Ключові слова — це заразервовані мовою ідентифікатори, які мають спеціальне призначення.

Для використання змінної в програмі вона повинна бути оголошена. Створення ідентифікаторів і здійснюється при такому оголошенні.

Змінна — це об’єкт програми, що занімає в загальному випадку декілька комірок пам’яті, та призначений зберігати дані. При оголошенні змінної для неї резервується якась область пам’яти, розмір якої залежить від конкретного типу змінної. Будь-яка константа, змінна, значення чи функції вираження в С++ характеризуються своїм типом. Тип цих об'єктів визначає безліч припустимих значень, форму внутрішнього уявлення, а так само безліч припустимих операцій. Тому всі дані, що використовуються в програмі, до їхньої появи обов'язково повинні бути оголошені (описані).

Нижче приведено перелік базових типів змінних і їхній розмір в байтах.

Таблиця 1.1

Базові типи даних для ПК на базі платформи Intel

Тип Розмір, байт Значення
bool 1 true (1) або false(0)
unsigned short int 2 від 0 до 65 535
short int 2 від –32 768 до 32 767
unsigned long int 4 від 0 до 4 294 967 295
long int 4 від –2 147 483 648 до 2 147 483 647
int (16 розрядів) 2 від –32 768 до 32 767
int(32 розряда) 4 від –2 147 483 648 до 2 147 483 647
unsigned int (16 розрядів) 2 від 0 до 65 535
unsigned int (32 розряда) 4 від 0 до 4 294 967 295
char 1 від 0 до 256
float 4 від 1.2е-38 до 3.4е38
double 8 від 2.2е-308 до 1.8е308
long double 10 від 3.4е-4932 до 3.4е 4932
void 2 або 4 -

 

Наприклад,

bool dd = true; — логічна змінна dd=1;

  bool dd1 = 1;   — логічна змінна dd1=true;

int a = 1, b = 0; — цілі змінні a = 1, b = 0;

сhar sim =’A’; — символічна змінна sim =’A’;

float Age = 18.5; — десяткова змінна Age = 18.5 з крапкою, що плаває;

void MyFunction();   — функція не вертає ніякого значення, тощо.

 

Константивідрізняються від змінних тим, що значення, що присвоєне константі первісно, не може бути змінено на протязі виконання всієї програми. Оголошеня констант виконується за наступною схемою:

сonst [тип] ідентифікатор = значення;

Наприклад:

const double Pi = 3.1415; // константа Pi принимает значение 3.1415;

const a=1; // по умолчанию  тип int.

 

     Введення – виведення даних.При введенні - виведенні потоку всі дані розглядаються як потік окремих байтів. Функції введення - виведення для потоку дозволяють обробляти дані різних розмірів і форматів: від одиночного символу до великих структур даних. Програміст може використовувати функції чи бібліотеки, розробляти власні і включати їх у бібліотеку. Для доступу до бібліотеки цих класів треба включити в програму відповідні файли заголовків, наприклад:

#include <iostream>         .

    За замовчуванням стандартні введення, виведення і виведення повідомлень про помилки відносяться до консолі користувача (клавіатура й екран). Це означає, що всякий раз, коли програма очікує введення зі стандартного потоку, дані повинні надходити з клавіатури, а якщо програма виводить, то на екран.

Найчастіше в С++ використовується потокове введення даних, операції якого включені до складу класів istreamчиiostream. Воно може здійснюватися з визначеним у цих класах вхідним потоком std::cin чи вхідним потоком, що визначен користувачем. Для читання символів з цього потоку вказується операція витягу з потоку, що позначається за допомогою символів    “ >> “. Це перевантажена операція, визначена для всіх простих типів і покажчика на char.

  Формат запису оператора cinмає вид:

std::cin [ >> values ];               

  Наприклад, для введення значень змінним х і у можна написати:

std::cin >> x >> y;             

Виведення даних може бути неформатованим і форматованим. Найчастіше для виведення застосовується визначена операція <<, що записується разом з ім'ям вихідного потоку std::cout. Таким чином, запис:

std::cout << x;

означає вивести значення перемінної x (чи записати в потік). Цей оператор вибирає необхідну функцію перетворення даних у потік байтів.

Формат запису cout відрізняється від форми запису команд С++ :

std::cout << data [ << data << "\n"];                   

де data ¾ це змінні, константи чи вирази, "\n" – керуючий символ переведеннякаретки. Запис std::означає, що потоки cin і cout об’явлені в простір імен std. Для того щоб спростити форму запису, можна підключити простір імен у глобальну видимість застосувавши оператор using:

using namespace std;

Для додаткового керування вихідними даними використовуються маніпулятори: setw(n) і setprecision(k). Маніпулятор setw(n) служить для вказівки довжини поля, що приділяється для виведення наступних даних (тут n- кількість позицій у рядку), setprecision(k) призначений для вказівки кількості позицій у дробовій частині дійсних чисел. Для використання цих маніпуляторів треба підключати заголовний файл <iomanip.h>.

     Для форматованого введення даних використовується функція scanfз заголовного файлу <stdio.h>.Функція scanfмає змінне число параметрів, але як фактичні параметри вона використовує адреси змінних, а не їхні значення. При цьому перед відповідним параметром ставиться знак & — символ взяття адреси змінної. Наприклад, &x означає "адреса змінної x", а не значення, що ця змінна має в даний момент. Рядок форматів функції scanf указує, які дані очікуються на вході. Якщо функція зустрічає у форматному рядку знак %, за яким випливає знак перетворення, то вона буде пропускати на вході символи доти, поки не зустріне який – небудь непорожній символ. Таким чином функція scanf змінює значення змінних у зухвалій програмі.

     Форма запису цієї функції має вигляд:

scanf ( "рядок форматних кодів",список імен змінних );        .

     Для форматованого виведення даних використовується функція з того ж заголовного файлу <stdio.h>. Для звертання до функції використовуються параметри, які розташовують у круглі дужки. Найчастіше функція printf використовується для виведення значень змінних. Першим аргументом у звертанні до функції ставиться рядок форматів (полягає в подвійних лапках), а наступними, якщо вони є, виведені об'єкти.

Рядок форматів може включати звичайні символи, що копіюються при виведення і специфікації перетворення, що починаються зі знака %: за специфікаціями випливає символ перетворення. Кожна специфікація перетворення відповідає одному з аргументів, що випливають за форматним рядком, і між ними установлюється взаємно однозначна відповідність, наприклад:

printf ("Значення а, b, с рівні: %d %d %d \n", a, b, c);

Тут буква d у специфікації перетворення вказує, що значення аргументу повинне бути надруковане як десяткове ціле число. 

При виведення використовуються ті ж специфікації, що і при введенні:

 % с - для виведення окремого символу;

 % s - для печатки символьного рядка;

 % x - для виведення шістнадцятирічної букви;

 % 0 - для виведення восьмірічних чисел;

 % f - для виведення чисел із крапкою, що плаває.

 

Використання математичних функцій у мові С++ потребує підключення заголовного файлу #include <math.h>

Таблиця 1.2

Математичні функції заголовочного файлу <math. h>

 

Прототип функції Ім'я Зміст
double acos (double _x); acos (x) Арккосинус
double asin (double _x); asin (x) Арксинус
double atan (double _x); atan (x) Арктангенс
double atan2 (double _y, double _x); atan2 (y, x) Арктангенс від y/x
double ceil (double _x); ceil (x) Округлення в більшу сторону
double cos (double _x); cos (x) Косинус x, в радіанах
double cosh (double _x); cosh (x) Косинус, гіперболічний
double exp (double _x); exp (x) eх, e у ступені x
double fabs (double _x); fabs (x) Абсолютне значення |x| типу double
double floor (double _x); floor (x) Вертає найближче ціле, не більше x
double fmod (double _x, double_y); fmod (x) Залишок від ділення x на y
double log (double _x); log (x) Натуральний логарифм
double log10 (double _x); log10 (x) Десятковий логарифм
double pow (double _x, double_y); pow (x, y) xу, x у ступені y
double sin (double _x); sin (x) Синус x, в радіанах
double sinh (double _x); sinh (x) Синус, гіперболічний
double sqrt (double _x); sqrt (x) Корінь з x, x>0
double tan (double _x); tan (x) Тангенс x, x у радіанах
double tanh (double _x); tanh (x) Тангенс, гіперболічний
int abs (int _x); abs (x) Модуль x типу int
double atof (const char*_s); atof (s) Перетворює рядок символів у число з плаваючою комою
double hypot (double_x, double_y); hypot (x, y) Корінь із (x2+y2)
long labs (long _x); labs (x) Абсолютна величина типу long |x|
double pow10 (int _p) pow10 (p) Вертає 10р

 

Приклад 1.1 Обчислити значення площі круга зхр значенням радіуса, який вводиться з клавіатури.

#include <iostream>

int main()

{

const double Pi = 3.1415; 

float Rad; double Square;

std::cout<<"Input radius, radius =";

std::cin>>Rad;

Square = Pi*Rad*Rad; // Square = Pi*pow(Rad,2);

std::cout<<"Square = "<<Square<< std::endl;

std::cin.get();// затримка экрана

std::cin.get();

return 0;

}

 


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

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






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