Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






  • Как продвинуть сайт на первые места?
    Вы создали или только планируете создать свой сайт, но не знаете, как продвигать? Продвижение сайта – это не просто процесс, а целый комплекс мероприятий, направленных на увеличение его посещаемости и повышение его позиций в поисковых системах.
    Ускорение продвижения
    Если вам трудно попасть на первые места в поиске самостоятельно, попробуйте технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Если ни один запрос у вас не продвинется в Топ10 за месяц, то в SeoHammer за бустер вернут деньги.
  • Теоретична частина. У загальному мова програмування базується на двох основних поняттях - дані і алгоритми






    У загальному мова програмування базується на двох основних поняттях - дані і алгоритми. Дані-це інформація, яку обробляє програма. Алгоритми - методи, які використовує програма. Мова С++ є процедурною, тобто основний акцент в ній робиться на алгоритмах. Це означає, що спочатку визначається послідовність дій, а потім ці дії реалізуються з допомогою мови програмування. Програма містить набір процедур, які комп’ютер повинен виконати для досягнення необхідного результату. Програмування на С++ є структурним. Програми проектуються за принципом " зверху вниз", ідея якого полягає у розбитті великої задачі на менші і такі, що легко розв’язуються.

     

    Дані в С++ бувають прості і складені. Прості типи наведено в таблиці.

    Типи даних:

     

    Тип Розмір, байт Діапазон Опис
    char signed char   Від -128 до 127 Символьний тип. Містить один символ або рядок символів. Кожен символ представляється одним байтом. Компілятор розрізняє як окремі наступні типи: char, signed char і unsigned char
    unsigned char   Від до 255 Символьний тип. Кожен символ представляється одним байтом (значення в діапазоні від 0 до 255)
    short signed short   Від -32768 до 32767 Цілий тип. Скорочене позначення типу short int. Довжина цього типу поза залежністю від використовуваного компілятора завжди більше або дорівнювати довжині значення типу char і менше або дорівнює довжині значення типу int
    Unsigned short   Від 0 до 65535 Беззнаковий цілий тип
    int signed int   Від -2147483648 до 2147483647 Цілий тип. Довжина цього типу поза залежністю від використовуваного компілятора завжди більше або дорівнює довжині значення типу short int
    unsigned int   Від 0 до 4294967259 Беззнаковий цілий тип
    intn n/8   Цілий тип, розмір у бітах якого визначається значенням п, і може бути рівним 8, 16, 32 або 64 бітам
    long signed long   Від -2147483648 до 2147483647 Цілий тип. Скорочене позначення типу long int
    unsigned long   Від до 4294967259 Беззнаковий цілий тип
    float   Від 3.4Е-38 до 3.4Е+38 Тип даних із плаваючою крапкою

    До складених типів належать покажчики, масиви, перерахування, об’єднання, структури, класи. Більш детально вони будуть розглянуті в наступних лабораторних роботах.

    Основними поняттями у програмуванні є

    Імена (ідентифікатори) - послідовність символів для позначення об'єктів програми (змінних, масивів, функцій і інших.).

    Операції. Існують такі типи операцій:

    - Арифметичні операції:

    Оператор Операція
    - Унарний мінус, віднімання
    + Додавання
    -- Декремент
    ++ Інкремент
    * Множення
    / Ділення
    % Залишок від ділення

     

    - Логічні операції:

    Оператор Операція
    & & І
    || АБО
    ! НЕ

     

    - Операції порівняння:

    Оператор Операція
    < Менше
    < = Менше-рівне
    > Більше
    > = Більше-рівне
    ! = Не дорівнює
    == Дорівнює

    - Порозрядні операції:

    Оператор Операція
    & І
    | АБО
    ~ НЕ
    ^ Виключаюче АБО
    > > Зсув вправо
    < < Зсув вліво

     

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

    Дані - величини, оброблювані програмою.

    Константи - це дані, які зафіксовані в тексті програми і не змінюються в процесі її виконання.

    Змінні - це дані, які можуть змінювати свої значення в ході виконання програми.

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

    Програмування включає в себе наступні етапи

    1. Скориставшись текстовим редактором, написати текст програми і зберегти її в файлі. Цей файл буде вихідним кодом програми.

    Допустимі розширення імен вихідного коду

    2. Скомпілювати вихідний код. Це означає виконання програми, яка транслює вихідний файл у машинний код. Файл, що містить трансльований код, називається об’єктним кодом.

    3. Зв’язати об’єктний код програми з об’єктними кодами функцій, використаних в програмі (додатковим кодом) і скомпонувати їх у єдину програму. Файл, який містить цю програму, називається виконуваним кодом.

     

    Програми на С++ мають наступну структуру

    1. Директиви препроцесора

    #include

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

    2. Блок опису вхідних змінних

    3. Заголовок функції main() і її тіло у фігурних дужках{}. Тіло функції містить інструкції для комп’ютера. Кожна завершена функція називається оператором і завершується крапкою з комою. Слово, що стоїть перед назвою функції, називається типом функції (фактично, це тип результату, одержаного при виконанні функції). У круглих дужках після назви функції мітиться список аргументів (параметрів) функції.

    4. Оператор return, що завершує виконання функції main()

    Нижче наведено приклад програми, що здійснює перемноження двох чисел

     

    #include < stdio.h> //підключення стандартної бібліотеки вводу/виводу

    #include < math.h> //підключення стандартної бібліотеки математичних функцій

    float x, y, z; //змінні типу „з плаваючою крапкою”

    float main()

    {

    printf(" Enter the number x: "); //вивід на екран тексту вимоги введення 1-го множника

    scanf(" %f", & x); //зчитування введеного числа у форматі„з плаваючою крапкою”

    printf(" Enter the number y: "); //вивід на екран тексту вимоги введення 2-го множника

    scanf(" %f", & y); //зчитування введеного числа у форматі„з плаваючою крапкою”

    z=x*y;

    printf(" result\n%f\n", z); //виведення результату множення у форматі„з плаваючою крапкою”, \n-перехід на новий рядок

    return (0);

    }

    Стандартні бібліотеки

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

    Стандартні функції вводу/виводу. Їхні описи включені у файл заголовків stdio.h і віртуальний заголовок cstdio. У цю групу включають функції консольного вводу/виводу, такі як printf, scanf, gets, puts, getchar і putchar. Сюди також входять функції файлового вводу/виводу fopen (для відкриття файлів), fprintf, fscanf, fputs, fgets і ряд інших (для читання/ запису текстових файлів), fread і fwrite (для читання/ запису двійкових файлів). Також до цієї групи відносяться функції одержання поточної позиції у файлі й установки нової позиції у файлі (fseek, ftell, rewind), що дозволяють організувати довільний доступ до даних у файлі

    Нижче приведені основні функції консольного вводу/виводу

    · getchar() повертає черговий символ із клавіатури
    як ціле;

    · gets(s) читає символи з клавіатури до появи символу нового рядка і поміщає їх у рядок s (сам символ нового рядка в рядок не включається);

    · printf (fmt, par1, par2,...) виводить рядок параметрів par1, раг2 і т.д. у форматі, визначеному рядком fmt на стандартний пристрій виводу (звичайно монітор). Повертає число виведених символів (див. опис функції printf);

    · putchar(ch) виводить символ ch на стандартний пристрій виводу. Якщо вивід успішний, повертається значення ch,;

    · puts(s) виводить рядок s на стандартний пристрій виводу, додаючи наприкінці символ нового рядка. Повертає ненегативне значення при успіху або EOF -при помилці;

    · scanf (fmt, par2, раг2,...) уводить рядок параметрів раr1, раг2 і т.д. у форматі, обумовленому рядком fmt зі стандартного пристрою вводу (із клавіатури), повертає число змінних, котрим привласнене значення

    Для реалізації потокового вводу/виводу використовується функції. Описані в iostream.h

    При підключенні цього файлу за допомогою директиви # include < iostream.h> в програмі автоматично створюються віртуальні канали зв'язку cin для введення з клавіатури і cout для виведення на екран, а також операції приміщення в потік < < і читання з потоку > >.

    За допомогою об'єкта cin та операції > > можна присвоїти значення будь-якої змінної. Наприклад, якщо змінна x описана як целочисленная, то команда cin > > x;

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

    cin > > x > > y > > i;.

    Об'єкт cout і операція < < дозволяє вивести на екран значення будь-якої змінної або текст. Текст необхідно укладати в подвійні лапки. Запис

    cout < < x;

    означає виведення на екран значення змінної x.

    Функції роботи з рядками. Їхні описи включені у файл заголовків string.h і віртуальний заголовок cstring. У цю групу входять функції роботи з простими рядками типу char*: strlen повертає довжину рядка, strcpy копіює рядок в іншу і strcat додає рядок у кінець рядка. Функція stremp використовується для порівняння двох рядків на співпадіння. Інші важливі функції: strncat, strnemp, strncat і strstr. Є також ряд функцій типу strchr для пошуку необхідного символу. Функція strtok корисна для розбивки рядка на окремі елементи.

    · strcat(s1fs2) додає s2 до s1;

    · strcmp(s1, s2) порівнює рядки і повертає негативне (якщо s1 менше s2), нульове (якщо s1 дорівнює s2) або позитивне (якщо s1 більше s2) значення;

    · strcpy(s1, s2) копіює s2 у s1;

    · strlen(s) повертає довжину рядка (без врахування символу завершення рядка);

    · strncat(s1, s2, n) додає s2 до s1, але не більш n символів;

    · strncmp(s1, s2, n) аналогічна strcmp, але порівнює не більше n символів;

    · strncpy(s1, s2, п) копіює s2 у s1, але не більш n символів;

    · strstr(s1, s2) пошук першого входження підрядка s2у рядок s1.

    · strchr(s, ch) повертає покажчик на перше входження символу ch у рядок s, якщо його немає, то повертається null;

    · strcoll(s1, s2) аналог strcmp, але враховує установки локалізації

    · strcspn(s1, s2) повертає значення індексу будь-якого з символів з s2 у рядку s1;

    · strerror(n) повертає покажчик на рядок з описом помилки номер n;

    · strpbrk(s1, s2) аналогічна strcspn, але повертає покажчик, а не індекс;

    · strrchr(s, ch) аналогічна strchr, але пошук ведеться з кінця рядка;

    strspn(s1, s2) повертає індекс першого символу в s1, відсутнього в s2;

    Функції визначення типу символу. Їхні описи включені у файл заголовків ctype.h і віртуальний заголовок її type. Ці функції дозволяють визначити приналежність символу до визначеної категорії.

    Математичні функції. Їхні описи включені у файл заголовків math.h і у віртуальний заголовок cmath. До цієї групи відносяться такі стандартні тригонометричні і гіперболічні функції, sin, cos, tan, asin, acos, atan, sinh, cosh і tanh. Також включаються функції pow для обчисленні ступеня числа, ехр для обчислення експонентної функції і логарифмічні функції log і log 10, а також функція для обчислення найближчого більшого цілого ceil, функції для обчислення найближчого меншого цілого floor, fabs, fmod, frexp, ldexp, modf і функції обчислення квадратного кореня sqrt. Необхідно відзначити, що такі математичні по своїй природі функції, як abs і rand, описані у файлі stdlib.h, а не в math.h.

     

    Функція Прототип
    abs int abs(int i) Повертає абсолютне значення цілого аргументу i
    acos double acos (double x); Функція арккосинуса. Значення аргументу має перебувати в діапазоні від -1 до +1
    asin double asin (double x); Функція арксинуса. Значення аргументу повинне перебуває в діапазоні від -1 до +1
    atan double atan (double x); функція арктангенса
    atan2 double atan2 (double у, double x); Функція арктангенса від значення у / х
    cabs double cabs (struct complex znum); Обчислює абсолютне значення комплексного числа znum. Визначення структури (типу) complex - у файлі math.h
    cos double cos (double x); Функція косинуса. Кут (аргумент) задається в радіанах
    cosh double cosh (double x); Повертає значення гіперболічного косинуса х
    exp double exp (double x); Обчислює значення е ^ x (експоненціальна функція)
    fabs double fabs (double x); Повертає абсолютне значення речового аргументу х подвійної точності
    floor double floor (double x); Знаходить найбільше ціле, яке не перевищує значення х. Повертає його у формі double
    fmod double fmod (double x, double y); Повертає залишок від ділення нецілого х на у
    hyport double hyport (double x, double у); Обчислює гіпотенузу z прямокутного трикутника за значеннями катетів х, у (z ^ 2 = х ^ 2 + у ^ 2)
    labs double labs (long x); Повертає абсолютне значення цілого аргументу long x
    ldexp double ldexp (double v, int e); Повертає значення виразу v * 2 ^ e
    log double log (double x); Повертає значення натурального логарифма
    log10 double log10 (double x); Повертає значення десяткового логарифма
    poly double poly (double x, int n, double з []); Обчислює значення полінома: C [n] x ^ n + C [n-1] x ^ (n-1) +... + C [1] x + C [0]
    pow double pow (double x, double y); Повертає значення х ^ у, тобто х в ступені у
    pow10 double pow10 (int p); Повертає значення 10 ^ p
    sin double sin (double x); Функція синуса. Кут (аргумент) задається в радіанах
    sinh double sinh (double x); Повертає значення гіперболічного синуса х
    sqrt double sqrt (double x); Повертає позитивне значення квадратного кореня
    tan double tan (double x); Функція тангенса. Кут (аргумент) задається в радіанах
    tanh double tanh (double x); Повертає значення гіперболічного тангенса для х

    Функції роботи з пам'яттю. Їхні описи включені у файл заголовків stdlib.h і у віртуальний заголовок cstdlib. В основному ці функції використовуються в бібліотеці для сумісності з мовою С.До них відносяться функції malloc, free, calloc і realloc. У мові С++ для тих же цілей переважно використовуються оператори new і delete.

    Робота з програмою Microsoft Visual C++

    Головне вікно програми має вигляд, зображений на рис.1

    Щоб почати роботу, необхідно обрати File®New®Files®C++ Source File (рис.2).

    Після завершення набору тексту програми натиснути кнопку (Build). Після виправлення помилок в разі їх виникнення, запустити програму на виконання, натиснувши кнопку Run

     
     

    Рис.1. Загальний вигляд головного вікна програми Microsoft Visual C++

    Рис.2. Вибір типу створюваного файлу.






    © 2023 :: MyLektsii.ru :: Мои Лекции
    Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
    Копирование текстов разрешено только с указанием индексируемой ссылки на источник.