- •Лабораторна робота №1
- •Теоретичні відомості
- •Завдання для виконання
- •Int main()
- •Int main()
- •Лабораторна робота №2
- •Теоретичні відомості
- •Void main()
- •Void main()
- •Int k,m; //опис змінних
- •Void main()
- •Int k,m; //опис змінних
- •Void main()
- •Int k,m; //опис змінних
- •Void main()
- •Int k,m; //опис змінних
- •Завдання для виконання
- •Лабораторна робота №3
- •Теоретичні відомості
- •Приклади виконання завдання
- •Void main()
- •Void main()
- •Int main()
- •Завдання для виконання
- •Лабораторна робота №4
- •Теоретичні відомості
- •Приклади виконання завдання
- •Void main ( )
- •Void main ( )
- •Завдання для виконання
- •Лабораторна робота №5
- •Теоретичні відомості
- •Void main()
- •Void main()
- •Приклади виконання завдання
- •Void main ( )
- •Void main ( )
- •Завдання для виконання
- •Лабораторна робота №6
- •Теоретичні відомості
- •Приклади виконання завдання
- •Void main ( )
- •Void main ( )
- •Void main ( )
- •Завдання для виконання
- •Лабораторна робота №7
- •Теоретичні відомості
- •Void fact(int k);
- •Void fact(k);
- •Int *I; //Вказівник - змінна на дані типу int
- •Int k, *vk; //Опис змінної - вказівника *vk
- •Приклади виконання завдання лабораторної роботи
- •Int fact(int n)// Функція, що обчислює n!
- •Void dryk(int Cnm) /* Функція, що виводить на екран значення Cnm */
- •Void main ( )
- •Int Factorial(int n) /*Рекурсивна функція,що обчислює n! */
- •Void main()
- •Void Vs(double &V, double &s, double r)
- •Void main ( )
- •Void Vs(double *V, double *s, double r)
- •Void main ( )
- •Void main()
- •Завдання для виконання
- •Лабораторна робота №8
- •Теоретичні відомості
- •Приклади виконання завдання
- •Void main()
- •Void main()
- •Void main()
- •Завдання для виконання
- •Лабораторна робота №9
- •Теоретичні відомості
- •Приклади виконання завдання
- •Void main()
- •If (!feof(f1))
- •Void main()
- •Void main()
- •Void main()
- •Void main ()
- •Void main ()
- •Ifstream in( "vvid" );
- •In.Close();
- •Завдання для виконання
- •Лабораторна робота №10
- •Теоретичні відомості
- •Char st[40]
- •Char st3[100]
- •Char str4[100]
- •Приклади виконання завдання
- •Void main()
- •Void insert (char *str, int p, char c)
- •Void main()
- •Insert(s,n,c);
- •Void main()
- •Завдання для виконання
- •Лабораторна робота 11
- •Теоретичні відомості
- •Приклади виконання завдання
- •Void main()
- •If(!strcmp(ms[I].Ngr,"m21"))
- •Завдання для виконання
- •Лабораторна робота 12
- •Теоретичні відомості
- •Void show_complex() /*вивід комплекснеого числа на екран */
- •Void show_complex();
- •Void complex::show_complex()
- •Void main()
- •Приклади виконання завдання
- •Завдання для виконання
- •Лабораторна робота 13
- •Теоретичні відомості
- •Приклади виконання завдання
- •Void operator --();
- •Void operator --(int);
- •Void show_complex();
- •Завдання для виконання
- •Завдання для самостійного виконання
- •Додаток №2. Базові типи даних
- •Додаток №3. Основні специфікатори формату функції printf
- •Додаток №5. Основні математичні функції бібліотеки math.H
- •Додаток №6.
- •Додаток №7. Можливі специфікатори аргументу mode
- •Додаток №8. Основні функції для роботи із рядковими змінними бібліотеки string.H
- •Додаток №9. Основні функції для роботи із символами бібліотеки ctype.H
- •Література
- •Ткачук Валерій Михайлович
- •Лабораторний практикум
- •76000, М. Івано-Франківськ, вул. С. Бандери, 1
Void fact(int k);
{
. . .
Void fact(k);
. . .
}
Щоби функція не створила нескінчену послідовність викликів самої себе, обов’язковою є перевірка досягнення вибраним параметром граничного значення (див приклад №2).
Функція в головну програму може повернути тільки одне значення. Для повернення в головну програму більше одного значення в якості аргументів функції необхідно використовувати вказівники або адреси змінних.
Кожна змінна у програмі – це об’єкт, який володіє ім’ям і значенням. Після компіляції програми всі імена змінних заміняються адресами комірок пам’яті, в яких містяться відповідні дані. На машинному рівні імена змінних у командах не використовуються, а тільки відповідні адреси.
Вказівник – це змінна або константа стандартного типу для збереження змінної визначеної типу. Значення вказівника – це беззнакове ціле, що вказує на адресу розміщення і ніяким чином не говорить про саму змінну. Змінна типу вказівника оголошується аналогічно до змінних іншого типу, тільки із використанням унарного символу *. Вказівник містить адресу нульового байту змінної, а тип змінної визначає, скільки байтів, починаючи із цієї адреси, займає це значення. Синтаксис оголошення вказівника є наступним:
<тип> * <вказіввник>
де:
<тип> - тип змінної, адресу якої буде містити покажчик.
Наприклад:
Int *I; //Вказівник - змінна на дані типу int
double *Fx;/* Вказівник - змінна на дані типу double */
float *x; /*Вказівник - змінна на дані типу float */
С++ для роботи зі змінними дозволяє використовувати дві основні операцій: & та *. Ці операції служать для:
&<імя змінної> – визначення адреси розміщення значення змінної;
* <вказівник> – отримання значення визначеного типу за вказаною адресою.
Оператор присвоєння значення адреси покажчику має наступний синтаксис:
<змінна - вказівник>=&<імя змінної>
і при цьому операндом операції & повинно бути імя змінної того ж типу, що і вказівник лівої частини оператора. Наприклад:
Int k, *vk; //Опис змінної - вказівника *vk
vk=&i; /*Вказівнику присвоюється значення адреси змінної i */
Непряма адресація змінної за допомогою вказівника дозволяє отримати доступ до значення змінної. Синтаксис такої операції є наступним:
<імя змінної>=* <вказівник>
Наприклад:
i=*vk; /* Змінна і отримує значення, розташоване за заданою
вказівником *vk адресою */
В програмі для звертання до значення за допомогою вказівника його можна використовувати в операторі присвоєння скрізь, де може бути ім’я самої змінної. Фактично вказівник є «синонімом» змінної, на яку він вказує. До вказівників можуть бути застосовані операції присвоєння, цілочисельної арифметики та порівняння.
С++ допускає створення декількох функцій із одним і тим же ім’ям, але різним набором формальних параметрів (різним типом, кількістю чи порядком слідування). Такі функції називають перевантаженими. Вони створюються у випадках, коли одна функція над різними наборами даних має виконувати обчислення за різними алгоритмами.
Приклади виконання завдання лабораторної роботи
Приклад №1
Програма знаходження числа комбінацій із елементів по за формулою
.
#include <iostream>
#include <windows.h>
using namespace std;
