For faster navigation, this Iframe is preloading the Wikiwand page for Імперативне програмування.

Імперативне програмування

Матеріал з Вікіпедії — вільної енциклопедії.

Імперати́вне програмува́ння — парадигма програмування (стиль написання вихідного коду комп'ютерної програми), згідно з якою описується процес отримання результатів як послідовність інструкцій зміни стану програми.

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

Для імперативного програмування характерні наступні риси

[ред. | ред. код]
  • у вихідному коді програми записуються інструкції (команди);
  • інструкції повинні виконуватися по черзі;
  • дані, отримані при виконанні попередніх інструкцій, можуть читатися з пам'яті наступними інструкціями;
  • дані, отримані при виконанні інструкцій можуть записуватися в пам'ять.

Імперативні мови програмування протиставляються функційним і логічним мовам програмування. Функційні мови, наприклад, Haskell, не є послідовністю інструкцій і не мають глобального стану. Логічні мови програмування, такі як Prolog, зазвичай визначають що треба обчислити, а не як це треба робити.

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

Обґрунтування та основи імперативного програмування

[ред. | ред. код]

Апаратне забезпечення є обов'язковим для всіх комп'ютерів і призначене для виконання машинного коду. Машинний код є інтегрований для апаратної частини(далі hardware) комп'ютера і написаний в особливому імперативному стилі. З точки зору низькорівневих команд стан програми визначається заповненістю пам'яті, а вирази — це інструкції, що написані інтегрованою низькорівневою мовою для hardware. Імперативні мови вищого рівня використовують змінні та складніші вирази, але все ж слідують тій же парадигмі. Засоби та списки процесів хоч і не є комп'ютерними програмами та вони також схожі за стилем з імперативним програмуванням. Кожен крок — команда.

Основні особливості імперативних мов програмування

[ред. | ред. код]
  • використання іменованих змінних;
    int main()
    {
        int number = 1;
    }
    
  • використання оператора присвоєння;
    int main()
    {
        int number = 1;
        int b += a; //присвоєння
    }
    
  • використання складних виразів;
    //Приклад обрахунку складного виразу sin(4*x);
    #include<iostream>
    #include<cmath>
    using namespace std;
    
    int main()
    {
    	double x;
    	double res = 0.0;
    	cin >> x;
    	res = sin(1 * x);
    	cout << res << endl;
    	system("pause");
    	return 0;
    }
    
  • використання підпрограм;
//Викорисатння підпрограм на прикладі знаходження найбільшого числа
#include<iostream>
using namespace std;

int main()
{
	
	int a, b, c;
	cout << "Ведіть a = ";
	cin >> a;
	cout << "Ведіть b = ";
	cin >> b;
	c = max(a, b); // виклик підпрограми
	if (c == (a + b))
		cout << "Числа рівні" << endl;
	else cout << "Максимальне число = " << c << endl;
	system("pause");
	return 0;
}
int max(int x, int y) //код підпрограми
{
	if (x > y)
		return x;
	else return y;
	if (x == y)
	{
		int s = x + y;
		return s;
	}
}
  • та інші.

Історія

[ред. | ред. код]

Першими імперативними мовами були машинні інструкції (коди) — команди, готові до виконання комп'ютером одразу (без будь-яких перетворень). Пізніше були створені асемблери (assembler), програми стали записувати на мовах асемблерів. Асемблер — комп'ютерна програма призначена для перетворення машинних інструкцій, записаних у вигляді тексту на мові зрозумілій людині (мові асемблера) в машинні інструкції, зрозумілі комп'ютеру (машинний код). Одній інструкції мовою асемблера відповідала одна команда в машинному коді. Різні комп'ютери підтримували різні набори інструкцій. Програми, записані для одного комп'ютера, доводилося заново переписувати для перенесення на інший комп'ютер. Були створенні нові мови програмування високого рівня і відповідні компілятори для них — програми, що перетворювали текст з мови програмування на машинний код. Одна інструкція мови високого рівня відповідала одній або кільком інструкціям машинної мови й для різних машин ці інструкції були різними. Першою розповсюдженою високорівневою мовою програмування, що отримала застосування на практиці, стала мова Fortran, розроблена Джоном Бекусом в 1954 році. Fortran є компільованою мовою програмування і дозволяє використовувати іменовані змінні, складові вирази, підпрограми і багато інших елементів, що поширені в імперативних мовах. Для написання операційних систем для деяких моделей комп'ютерів. Мови COBOL (1960 рік) і Basic (1964 рік) стали першими мовами розробники яких намагалися зробити ці мови схожими на англійську. В 1970-тих роках Ніклаус Вірт розробив мову Pascal. Деніс Рітчі створив мову C. В 1978 році команда розробників з компанії Honeywell розпочала розробку мови Ada, а вже через чотири роки опублікували вимоги для її роботи. Специфікація мови вийшла в 1983 році, була оновлена в 1995 і 2005—2006 роках.

В 1980-тих роках зріс попит на об'єктноорієнтоване програмування (ООП). В 1980 році працівники дослідницького центра Xerox PARC на основі мови Smalltalk, розробленого Аланом Кеєм в 1969 році, творили мову Smalltalk-80. Б'ярн Страуструп на основі мови С і по зразку мови Simula (можливо, першої с світі ООП мови програмування, розробленої ще в 1960-тих роках) розробив мову С++. Перша реалізація С++ була створена в 1985 році. В 1987 році Ларі Уолл випустив мову Perl і інтерпретатор для неї. В 1990 році Гвідо ван Россум випустив мову Python. В 1994 році в компанії Sun MIcrosystems була розроблена мова Java. В 1995 році Расмус Леодорф створив мову PHP. Мова Ruby була випущена 1995 році. Мова С# була випущена у 2002 разом з програмною платформою (фреймворком) .NET Framework, що підтримував кілька мов програмування.

Див. також

[ред. | ред. код]
{{bottomLinkPreText}} {{bottomLinkText}}
Імперативне програмування
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.

X

Get ready for Wikiwand 2.0 🎉! the new version arrives on September 1st! Don't want to wait?