Шпаргалка по "Программированию и компьютерам"

Автор работы: Пользователь скрыл имя, 27 Января 2012 в 00:57, шпаргалка

Краткое описание

Работа содержит ответы на вопросы по дисциплине "Программирование и компьютеры"

Содержимое работы - 12 файлов

1 алгоритмич языки и программирование.doc

— 79.00 Кб (Скачать файл)

 тип *имя;

 имя = new тип ([размер]);

 Освобождение  памяти, выделенной с помощью операции new, должно выполняться с использованием операции delete:

 delete имя указателя;

 Операции  над указателями:

 new, delete

 косвенное обращение (разадресация) - *

 присваивание  значений указателя

 сравнение на равенство или неравенство  с другим указателем (или с NULL)

 арифметика  указателей (учитывает размер типа, адресуемого указателем)

 сложение  с константой (вычитание)

 вычитание указателей одного типа

 деление указателей на размер типа

 ++, -- (инкремент, декремент)

 Организация списковых структур

 Обычно  динамические переменные имеют тип  массивов, объектов структур или классов. Динамические переменные типа структур или класса чаще используются в виде самоадресуемых. В этом случае они имеют поля, являющиеся указателями на другой объект типа этой структуры.

 Пример.

 struct Node

 { AnsiString Name;

 int count;

 Node *link;}; 

 Node *head = new Node;

 head->Name = “Rose”;

 head->count = 15;

 head->link = NULL;

 typedef  Node* Node Ptr;

 Node Ptr temp = new Node;

 temp->Name = “Tulip”;

 temp->count=5;

 temp->link = NULL;

 head->link=temp;

 Виды  списков 

 Односвязный, двусвязный, циклические, мультисписок (каждый узел такого списка входит не в один список,  а в множетво списков)

 Пример  реализации двусвязного  списка.

 Struct Node

 {int data;

 Node *prev;

 Node *next;};

 Node *head = NULL, end_ptr = 0;

 void add (Node *head, Node *end_ptr, int d)

 {

 Node *temp = new Node;

 Temp->data = d;

 Temp->next = 0;

 If (head)

 {

 end_ptr->next=temp;

 temp->prev=end_ptr;

 end_ptr = temp;

 }

 else

 {

 temp->prev=0;

 head=temp;

 end_ptr = temp;

 }

 } 
 
 
 

 4. Файловый ввод-вывод.

 Сущ-ют файловые потоки, с пом-ью кот-ых в  С++ осуществляется файловый ввод-вывод: ifstream – чтение, ofstream – запись, fstream – чт/зап. Ifstream in(“test.txt”);in>>v_per;

 Кроме того, сущ-ют операции для работы с  файлами посредством объявления файловых переменных. Открытие файла  – это объявление переменной-объекта, к-ая будет играть роль файла. Как только р-та с файлом закончена, прога должна сообщить ОС, что этот дескриптор не нужен, т.е. закрыть файл, при этом файловую переменную м-но использовать несколько раз. Классификация: способ доступа, способ представления.

 fopen

 Открывает или создает файл. Возвращает указатель  на переменную типа FILE. В качестве параметра  используется NULL-terminated строка и способ открытия, тоже как строка. В Хелпе  перечислены варианты r - только для  чтения. Если попробуете записать в такой файл, вылетит исключение. Вариант w - создает (переписывает заново) файл для записи. Символ a говорит, что файл открыт для обновления.

 Другие  варианты - r+, w+, a+ говорят о том, что  файл открыт для обновления.

 fread, fwrite

 Параметры у fread и fwrite одинаковы. Первый - указатель на область, получающую данные. Второй - размер порции считываемых данных. Третий - количество этих самых порций. Четвертый - собственно дескриптор потока. У fwrite все, аналогично, только относится к записываемым данным.

 feof

 Логическая  функция EOF, возвращающая true при установлении указателя на символ "конец файла", Все мы знаем циклы while(!feof(file)){ ... }.

 fseek, ftell

 Управляют текущей позицией дескриптора потока. Функция fseek реляционна. Смещение может  быть относительно начала файла, его текущей позиции или конца файла. Параметры этой функции такие - дескриптор потока, смещение, определение типа смещения. Последнее как раз и определяет, от чего смещается указатель и может быть одной из трех констант:

 *SEEK_SET Смещает курсор относительно начала файла.

 * SEEK_CUR Относительно текущей позиции. 

 * SEEK_END Относительно конца файла. 

 Функция ftell с единственным параметром - дескриптором потока, передает приложению текущую  позицию указателя.

 fflush, fclose

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

 6. Объектно-ориентированные приемы программирования. Классы.

 ООП позволяет разбить задачу на ряд  самостоятельных  связанных между  собой подзадач, содержащих модели объектов реального  мира.

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

 Понятие объекта  тесно связано с понятием класса. Класс – это дальнейшее развитие понятия структуры. Он позволяет создавать новые типы и определять функции, манипулирующие с этими типами.

 Объект - это представитель определенного  класса.

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

 Инкапсуляция  позволяет создавать объекты - данные, процедуры и функции,  манипулирующие с этими данными.

 Данные, доступные для использования  внутри объекта - private, данные доступные  извне - public.

 В общем, виде объект можно рассматривать  как переменную,  определенную программистом.

 Полиморфизм позволяет одно имя функции использовать для  решения разных задач (общих для класса действий).

 В зависимости  от данных выполняются те или иные действия.

 Наследование  позволяет одному объекту наследовать  свойства другого  объекта, т.е. порожденный  класс  наследует  свойства  родительского  класса и добавляет собственные свойства.

 Классы.

 Класс используется для создания объектов. Основная форма имеет вид:

 class  имя  класса

 {

 закрытые  функции и переменные

 public:

 открытые  функции, функции-члены и переменные

 }

 список объектов;//не является обязательным

 Закрытые  функции и переменные - члены(members)  доступны  только для других членов этого класса.

 Открытые  функции и переменные доступны для  любой части программы, в которой  находится класс.

 Функции, объявленные внутри описания класса называются функциями членами (member functions).

 Для определения функций-членов используется форма:

 тип имя класса:: имя функции-члена (параметры)

 {

 тело  функции

 }

 Два двоеточия после имени класса называются операцией расширения области  видимости (scope resolution operator).

 Определение класса  только  определяет  тип  объектов,  а  сами объекты не задает), мять не выделяется).  Для создания объектов имя класса используется  как спецификатор типа данных.

 После создания объекта к открытым членам  класса  можно  обращаться, используя операцию точка.

 Пример.

 #include <iostream.h>

 class class1 {//объвлен сласс class1

 int a; //доступна для функций  членов class1

 public:

 int kwadrat(int b);//функция член класса class1

 }; 

 int class1::kwadrat(int b) //определение функции kwadrat()

 {

 a=b*b;

 return a;

 }

 main()

 {

 class1 c; //создается объект с типа class1

 cout<<"\n"<<c.kwadrat(3)<<"\n";//вычисление  и вывод квадрата трех

 return 0;

 }

2 Технология программирования.doc

— 81.00 Кб (Открыть файл, Скачать файл)

3 базы данных. управл бд ..doc

— 227.00 Кб (Открыть файл, Скачать файл)

4 информационные технологии.doc

— 131.50 Кб (Открыть файл, Скачать файл)

5 проектирование АСОИУ.doc

— 861.00 Кб (Открыть файл, Скачать файл)

6 Дискретная математика.doc

— 91.50 Кб (Открыть файл, Скачать файл)

6 Математическая логика и теория алгоритмов.doc

— 92.50 Кб (Открыть файл, Скачать файл)

7 МО+ТПР.doc

— 177.50 Кб (Открыть файл, Скачать файл)

8 системное программное обеспечение. операц системы.doc

— 140.00 Кб (Открыть файл, Скачать файл)

9 методы и средства защиты информации.doc

— 216.00 Кб (Скачать файл)

Практика МО+ТПР.doc

— 307.50 Кб (Открыть файл, Скачать файл)

Практика МС+СИИ.doc

— 205.00 Кб (Открыть файл, Скачать файл)

Информация о работе Шпаргалка по "Программированию и компьютерам"