Кратък преглед на известните езици за програмиране. Езици за компютърно програмиране: видове, описание, приложение и прегледи Видове програмиране и техните характеристики

Процедурно (императивно) програмиранее отражение на архитектурата на традиционните компютри. Програмата на процедурен език за програмиране се състои от последователност от оператори (инструкции), които определят процедурата за решаване на проблем. Основният е операторът за присвояване, който служи за промяна на съдържанието на областите на паметта. Концепцията за паметта като хранилище на стойности, чието съдържание може да се актуализира чрез програмни изрази, е фундаментална за императивното програмиране. Процедурният език за програмиране позволява на програмиста да дефинира всяка стъпка в процеса на решаване на проблем. Особеността на такива езици за програмиране е, че задачите се разделят на стъпки и се решават стъпка по стъпка. Императивното програмиране е най-подходящо за изпълнение на малки подзадачи, където скоростта на изпълнение е много важна за съвременните компютри.

Процедурните езици за програмиране включват: Ada, Basic (версии от Quick Basic до Visual Basic), C, COBOL, Fortran, модула- 2, Паскал, PL/1, Рапира, REXX.

Структурно програмиране- методология за разработка на софтуер, базирана на представянето на програмата под формата на йерархична структура от блокове, изградени от три типа основни структури: последователно изпълнение, разклоняване и цикъл.

Обектно ориентирано програмиранее методология за програмиране, която се основава на представяне на програма като набор от обекти, всеки от които е имплементация на определен клас (специален тип данни), а класовете образуват йерархия, базирана на принципите на наследяване.

Обектите се разбират като комбинация от данни и процедури, обработващи ги в едно цяло. Обектите могат да обменят съобщения помежду си. Когато даден обект получи съобщение, неговият съответен манипулатор, наречен иначе метод. Един обект има асоциативен контейнер, който ви позволява да извлечете неговия метод от съобщение, за да го обработите. Освен това обектът има обект-предшественик. Ако не бъде намерен метод за обработка на съобщението, съобщението ще бъде препратено към предшестващия обект. Тази структура като цяло (таблица с манипулатори + предци), от съображения за ефективност, е отделена в отделен обект, наречен кластози обект. Самият обект ще има препратка към обект, представляващ неговия клас. Обектите комуникират изключително чрез изпращане на съобщения един към друг.

Важно е да се подчертаят следните три основни свойства на обектите.

Капсулиране (защита на данните)- механизъм, който комбинира данни и методи, които манипулират тези данни, и защитава и двете от външна намеса.


Наследствое процесът, чрез който един обект може да наследи свойствата на друг обект и да добави към тях функции, които са уникални за него. Връзката "потомък-предшественик" на класовете се нарича наследяване.

Полиморфизъме свойство, което прави възможно заместването на обект с друг обект с подобна класова структура. Следователно, ако в който и да е сценарий на взаимодействие на обект заменим произволен обект с друг, способен да обработва същите съобщения, сценарият също ще бъде реализиран.

Декларативно програмиране. Специално вниманиев декларативното програмиране фокусът е върху това какво да се направи, а не как да се направи (в императивните езици). Тук основното е точната формулировка на проблема, а изборът и прилагането на необходимия алгоритъм за решаването му е проблем на изпълняващата система, а не на програмиста. Например HTML уеб страниците са декларативни, защото описват какво трябва да съдържа страницата, а не как страницата трябва да се показва на екрана. Този подход се различава от императивните езици за програмиране, които изискват от програмиста да посочи алгоритъм за изпълнение.

Има два клона на декларативното програмиране: функционално, базирано на математическата концепция за функция, която не променя своята среда, за разлика от функциите в процедурните езици, които позволяват странични ефекти, и логическо, в което програмите се изразяват като формули на математическата логика , а компютър за решаване на задача се опитва да изведе логически следствия от тях.

Логическо програмиранена базата на математическата логика. Но най-известният език за логическо програмиране е Prolog. Програма PROLOGUE съдържа два компонента: факти и правила. Фактите са данните, с които работи програмата, а колекцията от факти съставлява базата данни PROLOG, която по същество е релационна база данни. Основната операция, извършвана върху данни, е операцията за съпоставяне, наричана още операция за обединяване или съгласуване.

Що се отнася до другите декларативни езици, когато работи с него, програмистът описва ситуацията (правила и факти) и формулира целта (заявка), което позволява на интерпретатора на PROLOG да намери решение на проблема за него. Интерпретаторът PROLOG е механизъм за решаване на проблем с помощта на езика PROLOG. Програмата PROLOGUE е набор от факти и (евентуално) правила. Ако програмата съдържа само факти, тогава тя се нарича база данни. Ако съдържа и правила, тогава често се използва терминът база от знания.

За разлика от програмите, написани на процедурни езици, които предписват последователност от стъпки, които компютърът трябва да изпълни, за да реши даден проблем, в PROLOG програмистът описва факти, правила, връзки между тях и запитвания по проблем. Най-характерното приложение на PROLOG е в експертните системи.

Въпроси за самопроверка

1. Какво представлява програмата? Какво се има предвид под изпълнител?

2. Какво е машинен код?

3. Какво е преводач? Избройте видовете преводачи.

4. Как работи преводачът? Какви са неговите достойнства?

5. Какво е предимството на компилаторите?

6. Какви компоненти са включени в интегрираната система за програмиране?

7. Какво се разбира под структура от данни, каква е класификацията на структура от данни?

8. Какво се разбира под масиви от данни и какви операции могат да се извършват с тях?

9. Какви са алгоритмите за сортиране на масиви?

10. Каква е целта на подпрограмите?

11. За какво служи библиотеката с подпрограми?

12. Какви са видовете програмиране?

Литература

1. Ставровски A.B., Karnaukh T.A. Първи стъпки към програмирането. Урок. - М.: Уилямс, 2006. - 400 с.

2. Окулов С. Основи на програмирането Издателство: Бином. Лаборатория Знание, 2008. - 383 с.

3. Kantsedal S.A. Основи на алгоритмизацията и програмирането. - М.: Форум, 2008. - 351 с.

4. httn//www myfreesoft ru/default-windows-nropramshtml - стандартни програми Windows

5. httn//khni-iin mink kharkiv edu/lihrary/datastr/hook/nrt01 html#lb11 - модели на данни и структури

6. http://www.intuit.ru/denartment/se/nhmsu/11/3.html#sect5 - модели и структури от данни

7. http://inf.1sentemher.ru/2007/15/00.htm - енциклопедия на учителя по информатика

8. http://www.delnhi.int.ru/articles/119/ - подпрограми.

9. httn//inroc ru/narallel-nroPramminP/lection-5/ - сортиране на купчина.

В момента има много направления в програмирането. Всеки може да намери нещо по свой вкус, но за целта трябва да знаете какво точно ще правите във вашата област.

Разработка на уеб приложения

Тази посока е насочена към разработването на уеб приложения (с други думи сайтове, но в момента сайтовете имат толкова богата функционалност, че могат да се нарекат пълноценни приложения).

Уеб програмирането може да се раздели на бекенд (сървърни скриптове - PHP, Python, Ruby) и фронтенд (разработка на потребителски интерфейс - Javascript, HTML, CSS).

Разработка на десктоп приложения

Разработка на софтуер за различни операционни системи. Цялото разнообразие от софтуер, който използваме в ежедневието. Искате ли да напишете свой собствен манипулатор на снимки, аудио плейър или текстов редакторзначи си тук.

Разработка на сървърни приложения

Това са различни сървъри за игри(любимата ви Dotka, CS: GO), IM услуги (Skype, ICQ, MSN сървърна част), банкови бази данни.

Разработка на мобилни приложения

Много Java приложения. VK, Viber, Yandex.Maps, преводачи, електронни четци.

Програмиране на вградени системи

Интересен клон на програмиране за различни домакински уреди: прахосмукачки, хладилници, перални машини, плеъри, навигатори, електронни везни. Това включва научно развитие с помощта на специализирани езици, като MATLAB.

Системно програмиране

Писане на различни драйвери за оборудване, програмиране на "ядрото" на операционни системи. Между другото, създаването на компилатори и интерпретатори за програмни езици също е включено тук.

Разработка на игри

Гигантска индустрия. Това включва разработка на игри за компютър, конзоли и мобилни устройства.

Олимпиадно програмиране и решаване на задачи

Програмиране на различни "непрактични" и нечесто срещани езици (Pascal, Delphi) за решаване на някои оригинални проблеми, които изискват нестандартен подход, изобретателност и IQ над 160.

Програмиране на счетоводни и финансови продукти

"1C: Предприятие". Цялото счетоводство в Русия е свързано с този продукт. Но не е достатъчно да знаете само самия език, важно е да разберете основите на счетоводството. Плюсът е, че има много работа, а и без хляб няма да останеш.

Програмиране на база данни

Сериозна посока. Ако искате да разработите бази данни, които могат да съхраняват милиарди редове информация за всички потребители на VKontakte или Facebook и да не се забавят, вие сте тук.

Наука

Науката казва всичко. Невронни мрежи, моделиране на структурата на ДНК, изстрелване на сателити, моделиране на Големия взрив.

Между другото, наскоро новината за търсенето на програмист на „древния“ език Fortran, който вече е на повече от 60 години, беше публикувана на уебсайта на НАСА. Необходим беше програмист за разработване на програми за управление на автоматичните сонди Voyager 1 и Voyager 2, софтуерът за които беше написан на Assembler, Fortran и COBOL още през 70-те години. Никога не знаеш какво знание може да ти бъде полезно.

Операционна система. Видове, изисквания, характеристики, функции,.

Операционна система- това е цял комплекс от програми за управление, които действат като интерфейс между компонентите на персонален компютър и осигуряват ефективното използване на компютърните ресурси. Операционната система осигурява взаимното свързване и управление на всички елементи на компютъра и изпълнимите програми. Зареждане операционна системаизпълнява се, когато компютърът е включен. Операционните системи от ново поколение включват: Windows XP, Windows NT, Windows Vista, операционни системи от семейството OS \ 2, UNIX, LUNIX.

Всяка операционна система има свой собствен команден език, който позволява на потребителя да извършва определени действия. Операционната система е сложна и заема много памет. Обикновено в оперативна паметКомпютърът съдържа само онези части от операционната система, с които процесорите работят в момента. Програмите и техните части, които са в RAM, се наричат ​​резидентни програми. Останалите програми се намират във външна памет. Драйверите взаимодействат с операционната система - това са софтуерни комплекси, които изпълняват интерфейсни и контролни функции. Приложенията на всяка операционна система са програми, предназначени да работят под тази операционна система.

Изисквания към ОС:

Съвместимост - означава, че операционната система трябва да включва средства за стартиране на приложения (програми), подготвени за други операционни системи,

Преносимостта означава, че операционната система може да се прехвърля от една хардуерна платформа на друга,

Надеждност и устойчивост на грешки - включва защита на операционната система от вътрешни и външни грешки, повреди и повреди,

Сигурност - означава, че операционната система трябва да съдържа средства за защита на ресурсите на някои потребители от други, трябва да осигури удобството за извършване на последващи промени и допълнения,

Производителност - означава, че операционната система трябва да има достатъчна скорост.

Операционната система Windows е модерна и най-модерна операционна система, съхранявана във външната памет на компютъра, която непрекъснато се развива и подобрява.

Характеристики на Windows OS:

GUI за прозорец. Прозорецът е основното поле на действие на програмата,

Многозадачност - системата осигурява работа с няколко задачи едновременно с възможност за превключване между тях,

Възможност за използване на дълги имена на файлове и директории - до 255 знака,

Удобен и гъвкав справочна система,

Стандарт - система от менюта, отчетна форма, обработка на операции за обслужване и приложни програми,

Стабилност в работата, сигурност на програмата и информацията,

Пълна независимост от хардуер и др.

Характеристики на ОС:

Осигуряване на няколко вида интерфейс (интерфейс командна линия, GUI),

Осигуряване на взаимодействие между потребителя и софтуера и хардуера посредством компютър,

Осигуряване на взаимодействие между различни видовесофтуер,

Подкрепа за функционирането на местния компютърна мрежабез специален софтуер,

Осигуряване на достъп до основни интернет услуги,

Наличие на средства за защита срещу неоторизиран достъп, преглед и извършване на промени, осигуряване на алтернативна работа на различни потребители на един компютър при запазване на личните настройки на работната среда на всеки потребител и други /

Програмни езици. Понятие, класификация, видове.

Дори и с десетки хиляди готови програми, потребителите може да се нуждаят от нещо, което съществуващите готови програми не правят или правят погрешно. В тези случаи се използват системи за програмиране за разработване на нови програми - набор от програми, използвани за автоматизиране на процеса на разработване на програми.

Програмни езициса езици за писане на компютърни програми. Първите езици за програмиране бяха Algol, Fortran, BASIC, Pascal.

Съществуващите в момента езици за програмиране могат да бъдат класифицирани в четири групи. В същото време трябва да се отбележи, че няма единен език, който да задоволи всички области на програмирането и интересите на всички програмисти. Такъв език във всеки случай трябва да бъде избран от разработчика на програмата въз основа на нивото на умения и личните предпочитания.

Езици за програмиране на ниско ниво- това са машинни езици - (езици на асемблер). Командите на такъв език са по-разбираеми за процесора, отколкото за потребителя. Асемблерният език е за писане системни програми, се използва главно от системни програмисти, които разработват програми, които контролират работата на компютъра и автоматизират процеса на разработване на приложни програми. Тъй като командите на различните процесори са различни, когато използвате такива езици, трябва да ги научите за всеки отделен процесор. По същите причини написаните програми не могат да бъдат прехвърлени на друг процесор. В момента езиците на ниско ниво се използват главно за драйвери на устройства и компоненти на операционни системи за персонални компютри и суперкомпютри. Тези езици включват асемблиращи езици и до известна степен C.

Езици за програмиране на високо нивоса немашинни езици. Те са по-разбираеми за нас, отколкото за компютър, но това не ни пречи да създаваме почти всичко върху тях. съществуващи програмиза персонални компютри. Езиците за програмиране от високо ниво улесняват работата на програмистите, като предоставят важни функции, които биха изисквали хиляди редове код за изпълнение на език от ниско ниво. Най-популярният език е Basic, разработен през 60-те години като образователен език. Известни са версии на Visual BASIC 7 и Qbasic. Езикът за програмиране Pascal е разработен от Н. Вирт, основател на много идеи за модерно програмиране в края на 70-те години. Pascal има способността да създава големи проекти, но също така успешно се използва за писане на малки програми за ежедневна употреба. Delphi 2006 в момента е най-мощната визуална среда на Pascal.

Езиците от високо ниво включват:

Процедурно ориентирани езици. Те са средство за запис на процедури или алгоритми за обработка на информация за определен клас задачи. Те включват езици - Fortran, BASIC, C (C), Pascal.

Проблемно-ориентирани езици.Появи се във връзка с постоянното разширяване на областта на приложение на компютърните технологии и появата на цели класове нови проблеми, за които е необходимо да се намери решение. Те включват езици - Lisp, Prolog.

Обектно ориентирани езици. Те представляват развитието на версии на процедурни и проблемни езици. Програмирането с помощта на езици от тази група е по-просто и по-визуално. Езиците от тази група включват Visual Basic, Delphi, Visual Fortran, C++ (C), Prolog.

За операционна зала Windows системи Microsoft създаде семейството от езици Visual Basic в средата на 90-те години като основенИнструменти за разработка на софтуер за персонални компютри.

Езици за уеб програмиране

Развитието на Интернет доведе до появата на качествено нови езици - програмни езици за мрежи : HTML, Java, Javascript, PHP, Perl

Основният и първи език на този клас е HTML, езикът за форматиране на документи. По-голямата част от интернет езиците се подчиняват на неговите правила и зависят от него.

език Java е машинно независим програмен език за корпоративни мрежиКомпютър, създаден от Sun. Език Javascriptе език на хипертекстови подпрограми (скриптове), които могат да се изпълняват от браузъри на всеки персонален компютър, който може да се свърже с локален или глобална мрежаКОМПЮТЪР. Този език е признат за международен стандарт за скриптов език за всички браузъри. PHP-най-популярният интерпретиран интернет език. Много уебсайтове са базирани на него. Това е доста просто, позволява ви да създавате добри системи за управление на съдържанието. Perl. Той е много по-мощен от езици като C. Той въведе много функции за работа с низове, масиви, всякакви инструменти за преобразуване на данни.

Езици за програмиране на бази данни

Релационните бази данни са набори от таблици, съставени от редове и колони. Всяка таблица има фиксиран брой колони, посочени в нейното описание, и променлив брой редове, който може да се променя при работа с базата данни. Езиците за програмиране на бази данни се различават от другите езици за програмиране по своята задача - да управляват бази данни. Structured Query Language SQL е унифициран език за работа с бази данни. Този език се разбира от всяка система за управление на бази данни (СУБД), но в допълнение към това, много СУБД също имат свой собствен уникален език, който е фокусиран конкретно върху тази СУБД и не е преносим на други. Основните видове заявки в езика SQL са: създаване на таблици и бази данни, извличане на информация от база данни, редактиране на информация в база данни и администриране на бази данни.

Разделението на езиците на универсалени специализиран.
Всички популярни езици могат да бъдат разделени на универсални и специализирани. Универсалните езици се използват за решаване на различни проблеми. Специализираните езици са предназначени за решаване на проблеми от един, най-много няколко вида задачи (например работа с бази данни, уеб програмиране или писане на скриптове за администриране на операционни системи).

Видове специализирани езици:

1.Езици за база данни:
а) Езици, които са част от индустриални системи за управление на бази данни клиент-сървър (СУБД) (PL-SQL в Oracle СУБД, Transact-SQL в Microsoft SQL сървър)
б) Езици, които са част от други видове СУБД (Visual FoxPro, Microsoft Access, Paradox и др.)

2. Езици, предназначени за уеб програмиране.
a) Езици, работещи на сървъра, който хоства уеб сайта (PHP, Perl, VBScript)
б) Езици, работещи на клиента на браузъра (viewer) JavaScript, JScript, VBScript

3.Езици за математически изчисления

4.Езици за автоматизация на работатаопределени софтуерни продукти. (VBA в Microsoft Office)

6.Специализирани езици от други видове.
Универсалните езици включват Visual C++, Visual C++.Net, Visual C#.Net, Visual J#.Net, Java, Delphi, Borland C#, Borland C++ Builder.
Въпреки че повечето специализирани езици произлизат от езици с общо предназначение като PHP, Perl и JavaScript произлизат от C++, VBScript и VBA произлизат от Visual Basic, разликите между специализираните и езиците с общо предназначение са много значителни .
Специализираните езици най-често се използват за писане на малки програми, така че те са оптимизирани за бързо писане на програми и намаляване на размера на изходния код и в по-малка степен за намаляване на грешките, използване на обектно-ориентирано програмиране и разделяне на кода на модули. И универсалните езици, като правило, се използват за създаване на големи и много големи проекти, така че в тях се прави всичко, за да се намали броят на грешките и да се улесни проектирането на програми, да се улесни разработването на големи програми.

Основната разлика между специалните езици и универсалните езици:
1) Те имат по-малко обектно-ориентирани инструменти и инструменти за достъп до технологиите COM +, DCOM, CORBA, до API функциите на операционните системи;
2) По-малко средства за многопоточно програмиране и разпределено програмиране;
3) Използват се само динамични типове (т.е. типът на променливата се определя в зависимост от нейната стойност, а не когато променливата е декларирана), а не статични. Единственото изключение е, че във версия 9 на езика Visual FoxPro можете също да използвате типове статични променливи.
Структура модерни езиципрограмиране.
Универсални езици (и езици, произлизащи от тях)
аз) C++ производни
1. Базиран на C++:
1.1 Borland C++, Watcom C++ (отхвърлен)
1.2 Microsoft Visual C++
1.3 Microsoft Visual C++ .Net
1.4 Borland C++ Builder
1.5 Borland C++ Builder .Net
1.6 JavaScript (специализиран език за разработване на уеб страници)

2. Базиран на Java:
2.1 Java и Java2
2.2 Microsoft Visual J++
2.3 Microsoft Visual J# .Net
3. Базиран на C#:
3.1 Microsoft Visual C# .Net
3.2 Borland C# Builder.Net
II) Производни от Език Паскал
1 Borland Pascal, Turbo Pascal (остарял)
2 Modula, Oberon, Component Pascal, Active Oberon, Zonnon (сега непопулярно)
3 Borland Delphi
4 Borland Delphi .Net
III) Производни от основния език
1 Microsoft Visual Basic
2 Визуално Основен заПриложение
3 VBScript (специализиран език за разработване на уеб страници)
4 Microsoft Visual Basic .Net
Специализирани езици
аз) Езици за програмиране, предназначени за Интернет:
1.PHP
2. Perl
3.JavaScript
4.VBScript
II) Езици за програмиране в системи за управление на бази данни
1. В локални и файлово - сървърни СУБД
1.1 Microsoft Visual FoxPro (В СУБД със същото име)
1.2 Visual Basic за приложение (в Достъп до СУБД)
2. Клиент - сървър индустриална СУБД
1.1 PL-SQL (в Oracle DBMS)
1.2 Transact - SQL (в СУБД на Microsoft SQL Server)
Java е разработен от Sun, а JavaScript е разработен от Nescafe и като цяло те са два различни езика, но тъй като техният синтаксис е много сходен, ще считаме JavaScript за извлечен от Java. Има и диалект на JavaScript, разработен от Microsoft, използван в Internet Explorerи се нарича Jscript.
Много програмисти вероятно ще кажат, че Java изобщо не е еволюирала от C++ и въпреки че това може да е вярно, но ако сравните синтаксиса им, ще видите, че синтаксисът им е подобен, така че можете да ги считате за "роднини".
В СУБД Oracle, освен езика PL-SQL, можете да използвате и езика Java.

1. Въведение

Въвеждането на компютри във всички сфери на човешката дейност изисква специалисти от различни профили да овладеят уменията за използване на компютърни технологии. Повишава се нивото на обучение на студентите, които още от първите курсове се запознават с използването на компютри и най-простите числени методи, да не говорим за факта, че използването на компютърни технологии в курсовите и дипломните проекти се превръща в норма. в по-голямата част от университетите.

Компютърно инженерствоСега се използва не само в инженерните изчисления и икономиката, но и в такива традиционно нематематически специалности като медицина, лингвистика и психология. В тази връзка може да се каже, че използването на компютри е широко разпространено. Появи се голяма категория специалисти - компютърни потребители, които се нуждаят от знания за използването на компютри в тяхната индустрия - умения за работа със съществуващи софтуер, както и създаване на собствен софтуер, адаптиран за решаване на конкретен проблем. И тук описанията на езиците за програмиране идват на помощ на потребителя.

2. Какво е език за програмиране

Програмен език- формална знакова система, предназначена да описва алгоритми във форма, която е удобна за изпълнителя (например компютър). Езикът за програмиране дефинира набор от лексикални, синтактични и семантични правила, използвани при компилирането на компютърна програма. Той позволява на програмиста да определи точно на какви събития ще реагира компютърът, как ще се съхраняват и предават данните и какви точно действия трябва да бъдат извършени при различни обстоятелства.

От създаването на първите програмируеми машини човечеството е измислило повече от две и половина хиляди езика за програмиране. Всяка година техният брой се попълва с нови. Някои езици се използват само от малък брой собствени разработчици, други стават известни на милиони хора. Професионалните програмисти понякога използват повече от дузина различни езици за програмиране в работата си.

Създателите на езици тълкуват концепцията по различен начин. програмен език. Сред често срещаните места, признати от повечето разработчици, са следните:

· функция:езикът за програмиране е за писане компютърни програми, които се използват за предаване на инструкции към компютъра за изпълнение на определен изчислителен процес и организиране на управление на отделни устройства.

· Задача:Езикът за програмиране се различава от естествените езици по това, че е предназначен да прехвърля команди и данни от човек към компютър, докато естествените езици се използват само за комуникация между хората. По принцип може да се обобщи определението за "езици за програмиране" - това е начин за предаване на команди, заповеди, ясно ръководство за действие; докато човешките езици също служат за обмен на информация.

· Екзекуция:Езикът за програмиране може да използва специални конструкции, за да дефинира и манипулира структури от данни и да контролира процеса на изчисление.

3. Етапи на решаване на проблема на компютър.

Най-ефективното приложение на VT е установено при извършване на трудоемки изчисления в научни изследвания и инженерни изчисления. Когато решавате проблем на компютър, основната роля все още принадлежи на човек. Машината изпълнява задачите си само по разработената програма. ролята на човека и машината е лесна за разбиране, ако процесът на решаване на проблема се раздели на стъпките, изброени по-долу.

Формулиране на проблема.Този етап се състои в смислено (физическо) формулиране на проблема и определяне на окончателните решения.

Сграда математически модел. Моделът трябва правилно (адекватно) да описва основните закони на физическия процес. Изграждането или изборът на математически модел от съществуващите изисква задълбочено разбиране на проблема и познаване на съответните раздели на математиката.

Развитие на Световната купа.Тъй като компютърът може да изпълнява само най-простите операции, той "не разбира" постановката на проблема, дори в математическа формулировка. За да се реши, трябва да се намери числен метод, който позволява да се сведе проблема до някакъв изчислителен алгоритъм. Във всеки конкретен случай е необходимо да се избере подходящото решение от вече разработените стандартни.

Разработка на алгоритъм.Процесът на решаване на проблем (изчислителен процес) се записва като последователност от елементарни аритметични и логически операции, водещи до краен резултати нарече алгоритъма за решаване на проблема.

Програмиране.Алгоритъмът за решаване на задачата е написан на разбираем за машината език под формата на точно определена последователност от операции – програма. Процесът обикновено се извършва с помощта на някакъв междинен език, а неговият превод се извършва от самата машина и нейната система.

Отстраняване на грешки в програмата.Компилираната програма съдържа различни видове грешки, неточности и пропуски. Отстраняването на грешки включва програмен контрол, диагностика (търсене и определяне на съдържанието) на грешки и тяхното отстраняване. Програмата се тества при решаване на контролни (тестови) задачи за получаване на увереност в надеждността на резултатите.

Извършване на изчисления.На този етап се подготвят първоначалните данни за изчисленията и изчислението се извършва съгласно дебъгваната програма. в същото време, за да се намали ръчният труд при обработката на резултатите, могат да се използват широко удобни форми за издаване на резултати под формата на текстова и графична информация във форма, разбираема за хората.

Анализ на резултатите.Резултатите от изчисленията се анализират внимателно и се изготвя научно-техническа документация.

4. За какво са езиците за програмиране?

Процесът на работа на компютъра се състои в изпълнение на програма, т.е. набор от завършени определени командив много специфичен ред. Машинната форма на командата, състояща се от нули и единици, показва какво действие трябва да се извърши процесор. Това означава, че за да кажете на компютъра последователността от действия, които трябва да извърши, трябва да зададете последователността от двоични кодове за съответните команди. Програмите с машинен код се състоят от хиляди инструкции. Писането на такива програми е трудна и досадна задача. Програмистът трябва да запомни комбинацията от нули и единици от двоичния код на всяка програма, както и двоичните кодове на адресите на данни, използвани при нейното изпълнение. Много по-лесно е да напишете програма на език, който е по-близък до естествения човешки език, и да поверите на компютъра задачата да преведе тази програма в машинни кодове. Така се появиха езици, предназначени специално за писане на програми - програмни езици.

Има много различни езици за програмиране. Всъщност можете да използвате всеки от тях, за да решите повечето проблеми. Опитните програмисти знаят кой език е по-добре да се използва за решаване на всеки конкретен проблем, тъй като всеки език има свои собствени възможности, ориентация към определени типове задачи, свой собствен начин за описване на концепции и обекти, използвани при решаването на проблеми.

Целият набор от езици за програмиране може да бъде разделен на две групи: езици на ниско нивои езици на високо ниво.

Езиците на ниско ниво включват езици за сглобяване (от английски toassemble - да сглобявате, сглобявате). Асемблерният език използва символи за инструкции, които са лесни за разбиране и лесни за запомняне. Вместо поредица от двоични командни кодове се записват техните символни обозначения, а вместо двоичните адреси на данните, използвани при изпълнение на командата, се записват символните имена на тези данни, избрани от програмиста. Асемблерният език понякога се нарича мнемокод или автокод.

Повечето програмисти използват езици от високо ниво за писане на програми. Подобно на обикновен човешки език, такъв език има своя собствена азбука - набор от символи, използвани в езика. Тези символи образуват така наречените ключови думи на езика. Всяка от ключовите думи изпълнява своята функция, така както в езика, с който сме свикнали, имаме думи, съставени от букви от азбуката. даден език, може да изпълнява функциите на различни части на речта. Ключови думиса свързани помежду си в изречения според определени синтактични правила на езика. Всяко изречение определя някаква последователност от действия, които компютърът трябва да изпълни.

Езикът от високо ниво действа като посредник между човек и компютър, позволявайки на човек да комуникира с компютър по по-познат за човека начин. Често такъв език помага да се избере правилният метод за решаване на проблем.

Преди да напише програма на език от високо ниво, програмистът трябва да пише алгоритъмрешаване на проблем, тоест план за действие стъпка по стъпка, който трябва да бъде изпълнен, за да се реши този проблем. Следователно често се наричат ​​езици, които изискват предварителна компилация на алгоритъм алгоритмични езици.