C, PHP, VB, .NET

Дневникът на Филип Петров


Архив за ноември, 2008

* Константи, псевдоними и булев тип

Публикувано на 06 ноември 2008 в раздел С/С++.

Всички типове данни от С (int, float, double, char, указатели, и тн…), които сме разгледали дотук, са валидни и за С++. Като разширение на езика ни се предоставят и допълнителни възможности:

1. Константи: Досега, когато ни се налагаше да въвеждаме константи използвахме предпроцесора. Това не винаги е удобно, а освен това може да доведе до неочаквани грешки. Затова в С++ са въведени константи:

	const <тип> <име на променлива> = <стойност>;

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

.

 


* Въведение в C++

Публикувано на 06 ноември 2008 в раздел С/С++.

C++ на практика е език, който „надгражда“ езика за програмиране С, като добавя нови възможности:

– Обектно-ориентирано програмиране
– Създаване и използване на абстрактни типове данни
– Подобрения на някои съществуващи конструкции

На практика вие можете да използвате всичко научено дотук от езика за програмиране С при С++ (най-малкото примерите от предишните статии са писани за компилаторът на Microsoft – Visual C++ 6.0). Затова няма да преразглеждаме вече научени езикови конструкции, а ще даваме примери за част от нововъведенията. Прочети още…

.

 


* Накратко за обектно-ориентираното програмиране

Публикувано на 06 ноември 2008 в раздел С/С++.

За да обясним понятието „обектно-ориентирано програмиране“ е добре да опишем какви програми писахме на езика за програмиране С досега:

1. Скриптови програми: Последователно изпълнение на предварително зададена поредица от операции.

2. Процедурно програмиране: Възможност за „разклоняване“ на програмата, така че тя да извършва различни последователности от операции (процедури или както споменахме в т.1 – скриптове), в зависимост от въведени данни от потребителят. След изпълнение на дадена процедура програмата се „връща“ на мястото, където процедурата е извикана.

3. Модулно-процедурно програмиране: Предоставя възможност за обединяване на различни процедури в т.нар. „модули“. По този начин разделяме програмата на различни логически части, които се свързват почежду си чрез т.нар. „procedure calls“. Прочети още…

.

 


* Допълнителни задачи към упражнения 2 и 3

Публикувано на 01 ноември 2008 в раздел С/С++.

Задача: Дадена е матрица с N реда и M стълба, която може да съдържа елементи числата 0 и 1. Нека тази матрица е лабиринт, в който 0 означава, че има път, а 1 че има препятствие. Елемент (0, 0) се нарича вход, а елемент (N, M) изход от лабиринта. В лабиринта можем да се движим само по хоризонтала и вертикала. Напишете програма с меню и следните функции:
– Въвежда елементите на матрицата от клавиатурата.
– Генерира случаен лабиринт.
– Обхожда лабиринта и намира възможен път (ако има такъв).
– Намира най-краткият от възможните пътища (ако има такива).

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

Задача: В текстов файл са записани имена, телефони и e-mail адреси в следния формат:

Ivan, 0888555666, ivan@abv.bg
Petko, 0899555666, petko@yahoo.com

Напишете програма, която прочита файла и:
– Изважда имената и телефоните и ги записва в нов файл phonebook.txt, като всяко име и телефон са на отделен ред.
– Изважда всички e-mail адреси и ги записва във файл maillist.txt, като всеки адрес е на нов ред.

.