
- •1 Вопрос: Поняття алгоритму. Властивості алгоритму. Способи описування алгоритмів
- •40 Вопрос
- •Создание простого конструктора
- •Представление о деструкторе
- •Что вам необходимо знать
- •41 Вопрос: ------
- •42 Вопрос: Урок 26. Наследование
- •Простое наследование
- •43 Вопрос 44 вопрос:
- •Дружні функції
- •46 Вопрос:
- •Первое знакомство с перегрузкой функций
- •Когда необходима перегрузка
- •Что вам необходимо знать
- •Создание простого шаблона функции
- •Шаблоны, которые используют несколько типов
- •Что вам необходимо знать
- •Шаблоны классов
- •16.1. Определение шаблона класса
- •50 Вопрос:
- •Класс cFile
- •Структуры
- •Класифікація мов програмування
- •Типы переменных. Объявление переменных. Константы. Присваивание. Арифметические операции. Инкремент и декремент.
Класс cFile
Класс CFile предназначен для работы с файлами, используется как базовый класс для других классов MFC, предназначенных для работы с файлами. Обеспечивает небуфферизованный двоичный ввод/вывод в файлы.
В класс включено несколько конструкторов.
Конструктор по умолчанию:
CFile();
Конструктор с параметрами:
CFile(LPCTSTR lpszFileName,UINT nOpenFlags),
где lpszFileName – указатель на строку, содержащую имя файла и путь к нему;
nOpenFlags – целочисленная переменная, определяющая режимы доступа к файлу или его атрибуты и принимающая следующие значения:
CFile::modeCreate – создать новый файл; если файл уже существует, информация из него удаляется;
CFile::modeRead – открыть файл для чтения; для этого файл должен находиться в заданном каталоге; если файл отсутствует, возникает ошибка;
CFile::modeWrite – открыть файл для записи; если указанный файл не найден, он создается в указанном каталоге; указатель файла устанавливается на начало файла; если в файле была какая-либо информация, она стирается.
Пример создания объекта класса CFile:
CFile MyFile("my.txt",CFile::modeRead);
В класс включены методы для работы с файлами:
Virtual UINTRead(void* lpBuf,UINTnCount) – чтение из файла; lpBuf – указатель на буфер, в который помещается прочитанная информация, nCount – размер буфера; возвращает количество информации в байтах, помещенной в буфер;
virtualvoidWrite(constvoid* lpBuf,UINTnCount) – запись в файл; имеет те же параметры, что и метод Read();
virtual LONG Seek(LONG lOff,UINT nFrom) – позволяет произвольно устанавливать указатель текущей позиции в файле; lOff – смещение в байтах, nFrom – позволяет устанавливать начало отсчета: значение CFile::begin – отсчет от начала файла; CFile::current – отсчет от текущей позиции указателя; CFile::end – отсчет от конца файла;
Open() – открытие файла в соответствии с выбранным режимом;
Close() – закрытие файла.
Пример сохранения строки в текстовом файле:
CFile myfile;
char* pFileName="test.txt";
myfile.Open(pFileName,CFile::modeCreate|CFile::
modeWrite);
myfile.Write("123456789",4);
myfile.Close();
Результатом выполнения этого фрагмента программы будет создание файла test.txt и запись в него строки "1234".
34.) Структури. Операції над структурами. Структури як параметри функції і як тип фунції.
Структуры
Структура-это совокупность логически связанных переменных, возможно, различных типов, сгруппированных под одним именем для удобства дальнейшей обработки. Традиционным примером структуры служит учетная карточка работающего: служащий предприятия описывается набором атрибутов, таких, как табельный номер, имя, дата рождения, пол, адресс, зарплата. В свою очередь, некоторые из этих атрибутов сами могут оказаться структурами. Таковы, например: имя, дата рождения, адресс, имеющие несколько компонент. Элементы структуры обозначаются идентификаторами, с которыми можно связываьб описатели типов. В результате структуру можно рассматривать как единое целое и осуществлять при необходимости выбор составляющих ее элементов. Для образования структуры присваиваются имена каждому из включаемых элементов и структуре в целом. Затем посредством спечиального описания задают иерархию, порядок следования и типы элементов, включаемых в структуру. Так, для рассмотренного выще примера с анкетой служащего можно выбрать имена:
: Все эти понятия можно объединить в такую, например, структуру:
Эта запись называется описанием структуры. Она начинается с ключевого слова struct и состоит из заключенного в фигурные скобки списка описаний. За словом struct может следовать необязательное имя, которое называется именем типа структуры (иногда его называют тэгом или ярлыком структуры). Этот ярлык именует структуру и в дальнейшем может использоваться для сокращения подробного описания. Переменные, упоминающиеся в записи, называются элементами. Следом за правой фигурной скобкой, заканчивающей список элементов, может следовать список переменных, так же, как и в случае базисных типов. Вот почему в приведенном выше описании структуры после закрывающей фигурной скобки стоит точка с запятой; она завершает пустой список. Описание struct {....} p1, p2, p3; синтаксически аналогично int p1, p2, p3; в том смысле, что каждый из операторов описывает p1, p2, p3 как переменные соответствующего типа и приводит к выделению для них памяти. Описание же структуры без последующего списка переменных не выделяет никакой памяти. Оно только определяет форму сируктуры и действует как шаблон. Если такое описание снабжено ярлыком (именем типа), то его можно позже использовать при определении фактических экземпляров структуры. Например, используя указание выше описане anketa, можно с помощью строки struct anketa a0, a1 ,a2; описать структурные переменные a0, a1, a2, каждая из которых строится по шаблону, введенному структурой anketa. Любая переменная a0, a1, a2 содержит в строго определенном порядке элементы tab_nom, fio, data, pol, adres, summa. Все переменные , как и все остальные переменные языкаЮ получают места в памяти. Внешние и статические структуры можно инициировать, помещая следом за определением список начальных значений элементов: struct anketa a0={ 1024, "Макагон В.М", "10.01.1943",0 , "Одесса, Варневская, 23/99", 175.00}; Каждой структурной переменной в нашем случае могут быть присвоены шесть значений, имеющих соответствующие базовые типы. Доступ к этим значениям осуществляется с помощью следующей конструкции: имя_структуры.имя_елемента Операция выделения элемента . (точка) связывает имя структуры в имя элемента. Например, мы можем с учетом введенных обозначений написать:
Действия над структурами, в общем, ограничены. Все, что можно делать со структурой, - это взять ее адресс с помощью операции & и обращаться к ее элементам, как показано выше. Записи нельзя копировать или присваивать как единое целое; их нельзя передавать в функцию или получить оттуда целиком. Однако, к указателям на структуры это замечание не относится. На практике структурные переменные обычно появляются в виде массива или списка. Нетрудно видеть, что наши три переменные a0, a1, a2 будет проще использовать, если их объединить в массив, сосотоящий из элементов типа struct anketa. Применив в программе описание: struct anketa a[3]; мы можем употреблять в ней, например, такие операторы:
4 Поняття про мову програмування. Класифікація мов програмування. Поняття транслятора. Їх різновиди. |
Мова — це система знаків (символів, жестів, міміки, положень перемикача і т. д.) для представлення, обміну інформацією. Це загальне визначення включає в себе і природні, і штучні (формальні) мови. До штучних мов належать мови, створені людьми для розв’язання специфічних задач. Це мова математичних формул, нотна грамота, мови програмування тощо. Алгоритмічна мова — це мова, призначена для представлення алгоритму у вигляді послідовності вказівок для виконання їх виконавцем алгоритму. Алгоритмічна мова, як і кожна інша, має свій словник. Основу цього словника складають слова, що використовуються для запису команд, які входять у систему команд виконавця. Мови програмування — це алгоритмічні мови, призначені для опису алгоритмів, що орієнтовані для виконання на комп’ютері, або система позначень для точного опису алгоритму, який треба виконати за допомогою комп’ютера. Мова програмування, як і будь-яка інша мова, являє собою набір символів (алфавіт), систему правил складання базових конструкцій мови (синтаксис) та правила тлумачення мовних конструкцій (семантика). Ця система позначень і правил призначена для одноманітного і точного запису алгоритму. Алфавіт, синтаксис і семантика — три основні складові мов програмування. Програма — це алгоритм, записаний мовою програмування. Трансляція (від англ. translation — переклад) — програма, яка перетворює команди мови програмування на машинну мову. Існує два способи трансляції: інтерпретація та компіляція. Інтерпретація (від англ. interpretation) — спосіб трансляції, при якому кожна інструкція програми перекладається в машинні коди та виконується, і тільки після виконання одного фрагмента програми процесор переходить до обробки іншого фрагмента. Це гнучка система перекладу, яка реалізовується нескладно. Вона використовується в тих випадках, коли потрібна простота трансляції (Basic), або там, де інший спосіб перекладу дуже складний або навіть неможливий (Lisp). Компіляція (від англ. compile — збирати) — спосіб трансляції, при якому здійснюється переклад усього тексту програми, збір перед її виконанням та запис у пам’ять комп’ютера. При перегляді програми компілятор виділяє місце в пам’яті для кожної змінної.