- •Составление таблицы истинности.
- •Основы алгебры логики.
- •Логические операции с высказываниями: конъюнкция, дизъюнкция, инверсия.
- •Законы логических операций. Таблицы истинности.
- •9.Понятие системы программирования.
- •10. Эволюция языков прогаммирования.
- •11. Элементы языков программирования.
- •12.Исходный, объектный и загрузочный модули.
- •13.Интегрированная среда программирования.
- •14. Методы программирования
- •15. Сущность методов программирования.
- •16. Методы программирования: структурный, модульный, объектно-ориентированный. Достоинства и недостатки методов программирования.
- •17.Общие принципы разработки программного обеспечения. Жизненный цикл программного обеспечения.
- •18. Типы приложений. Консольные приложения.
- •19. Типы приложений. Оконные Windows приложения.
- •20. Типы приложений. Web-приложения
- •21.Типы приложений. Библиотеки.
- •22.Типы приложений. Web-сервисы.
- •23.Константа — это составная часть программы; объект, имеющий значение,неизменная величина.
- •25.К простым типам данных относятся: порядковые и вещественные типы.
- •Int(X) Real, integer Real Целая часть числа
- •27.Структура программы на языке Турбо Паскаль
- •Var………..; {раздел объявления переменных}{±}
- •28.Оператор – инструкция, задающая определенные действия программы. Одним из операторов является оператор присваивания, который присваивает значение некоторого выражения некоторой переменной.
- •29.Оператор присваивания имеет следующую структуру:
- •31.Составной оператор
- •32.Синтаксис оператора if:
- •35.Строковый тип данных.
- •37.Объединение разнородных элементов (Запись)
- •39.Типы файлов Турбо Паскаль
- •41.Доступ к файлу в программе происходит с помощью переменных файлового типа. Переменную файлового типа описывают одним из трех способов:
- •42.Работа с типизированными файлами
- •43.Стандартные процедуры и функции
- •45. Процедуры и функции обработки текстовых файлов.
- •46 Процедуры и функции
- •47 Структура процедуры, описание процедур
- •48 Передача параметров, вызов процедуры
- •49 Локальные и глобальные данные
- •50 Структура функции, описание функции
- •51 Передача параметров, вызов функции
- •52 Модули
- •53 Интерфейсная часть модуля
- •54 Инициирующая часть модуля
- •55 Исполняемая часть модуля
- •56 Обращение к модулю из основной программы
- •57 Объекты
- •58 Основные принципы ооп
- •59 Описание объектов, иерархия объектов
- •60 Наследование записей
- •61 Понятие метода, определение метода, область действия метода
- •62 Стандартные библиотечные модули
- •63 Назначение модуля Dos
- •64 Назначение crt модуля
- •65 Структурное программирование
- •66 Алгоритм
- •67) Способы изображения алгоритмов.
- •68) Элементарные базовые управляющие структуры: линейная последовательность, ветвление.
- •69) Базовые структуры организации цикла: циклы со счётчиком и итерационные циклы.
- •70) Языки программирования.
- •I) машинно-зависимые языки.
- •II) машинно-независимые языки
- •71)Машинно-ориентированные языки и их характеристики.
- •74) Объектно-ориентированные языки программирования. Их достоинства и недостатки.
- •75) Используемые символы.
- •76) Константы.
- •77) Идентификаторы.
- •78) Ключевые слова.
- •79) Комментарии.
- •84) Переменные перечисляемого типа.
- •85) Массивы.
- •86) Структуры.
- •87) Объявления.
- •88) Поля битов.
- •89) Переменные с изменяемой структурой.
- •90.Определение объектов и типов:
- •91.Инициализация данных:
- •Операнды и операции:
- •Преобразования при вычислении выражений:
- •Операции отрицания и дополнения:
- •Операции разадресации и адреса:
- •Операция sizeof:
- •Мультипликативные операции:
- •Аддитивные операции:
- •Операции сдвига:
- •Поразрядные операции:
- •101 Наиболее употребимы двоичная, восьмеричная, десятичная и шестнадцатеричная система исчисления.
- •107 В языке си операции с высшими приоритетами вычисляются первыми. Наивысшим приоритетом является приоритет равный 1. Приоритеты и порядок операций приведены в табл. 8.
- •108 При выполнении операций происходят неявные преобразования типов в следующих случаях:
- •109 Любое выражение, которое заканчивается точкой с запятой, является оператором.
- •1.4.2. Пустой оператор
- •111 Составной оператор представляет собой несколько операторов и объявлений, заключенных в фигурные скобки:
- •Вопрос № 112 (Оператор if)
- •Вопрос №113 (Оператор switch)
- •Вопрос №114 (оператор break)
- •Вопрос №115 (оператор for )
- •Вопрос №116 (оператор while)
- •Вопрос № 117 (оператор do while )
- •Вопрос №118 (оператор continue)
- •Вопрос №119 (оператор return)
- •Вопрос №120 (оператор goto)
- •Вопрос №121 (определение и вызов функций)
- •Вопрос № 122 ( вызов функции с переменным числом параметров)
- •Вопрос № 123 (Передача параметров функции main)
- •Вопрос №124 (Исходные файлы и объявление переменных)
- •Вопрос № 125 (Объявления функций)
- •Вопрос № 126 (Время жизни и область видимости программных объектов)
- •Вопрос №127 (Инициализация глобальных и локальных переменных)
- •Вопрос № 128 (Методы доступа к элементам массива)
- •Вопрос № 129 (Указатели на многомерные массивы)
- •Вопрос № 130 (Операции с указателями)
- •Вопрос № 131 (Массивы указателей)
- •Вопрос № 132 (Динамическое размещение массивов)
- •Вопрос №133 (директива #include)
- •134. Директива #define
- •135. Директива #undef
- •136. Методы организации и хранения линейных списков
- •136. Методы организации и хранения линейных списков
- •137. Операции со списками при последовательном хранении
- •138. Операции со списками при связанном хранении
- •5)Частичное упорядочение списка
- •139. Организация двух связанных списков
- •140. Стеки и очереди
- •141. Пузырьковая сортировка
- •142. Сортировка вставкой
- •143. Сортировка посредством вывода
- •144. Слияние списков
- •145. Сортировка списков путем слияния
- •146.Последовательный поиск
- •147. Бинарный поиск
- •148. Методы вычисления адреса
- •150.Типы данных языка программирования
- •154. Типы данных
- •155. Выражения и оперпции
- •178) Поиск, удаление, замена и добавление символов в строке.
- •Int strcmp(const char *, const char *); лексикографическое сравнение строк
- •Int strncmp(const char *, const char *, size_t); лексикографическое сравнение первых n байтов строк
- •Int strcoll(const char *, const char *); лексикографическое сравнение строк с учетом локали collating order
- •180) Операции со строками
- •181) Объявление множества
- •182) Операции над множествами
- •183) Объявление файла
- •184) Файл последовательного доступа
- •185) Давайте сперва перед файлами произвольного доступа разберем режимы открытия:
- •187,188,189)Операции файла последовательного доступа. ( Открытие и закрытие и т.Д)
- •191) Объектно-ориентированное программирование
- •192) Основные принципы ооп.
- •193) История ооп
- •194)Базовые понятия ооп
- •195)Основные принципы ооп (Инкапсуляция, Наследие, Полиморфизм).
- •196) Событийно управляемое программирование
- •197) Компонентно-ориентированный подход
- •198) Классы объектов. Компоненты и их свойства.
- •199) Требования к аппаратным и программным средствам интегрированной среды разработки разработчика.
- •200)Интерфейс среды разработчика.
- •201. Чтобы использовать в проекте уже созданные ole-элементы управления, необходимо понимать, как создать проект, допускающий встраивание ocx-объектов, и как добавить в проект эти элементы.
- •202. Для добавления элементов к панели, созданную в предыдущей процедуре, перетащите элементы управления из раздела Редактор ленты на панели Панель элементов в представлении конструирования.
- •211. Виды классов:
- •215. Основными механизмами в объекто ориентированном программирование является полиморфизм, наследование и инкапсуляция.
- •220. Компиляция и запуск приложения
- •221. Создание оконных приложений в Visual Studio
- •222. У всех Windows-приложений фиксированная структура, определяемая функцией WinMain. Структура приложения, построенного из объектов классов библиотеки mfc, является еще более определенной.
- •223. При разработке программы использовались перечисленные ниже объекты и их методы.
143. Сортировка посредством вывода
Реализуется с помощью функции select.
Double *select(doube *s , int m, int n)
Int I,j;
Double c;
For (i=m;is[j])
{c=s[i]
S[i]=s[j];
S[j]=c;
}
Return (s);
}
Упорядоченный список В` получается из В многократным применением выборки из В. Минимального элемента, удалением его из В и добавлением в конец списка В`.B` первоначально пуст
B=<20,10,8,-5,7,>
…
Аналогично В и В` размещаются в разных частях массива S. Дополнительной памяти не требуется.
144. Слияние списков
A-N, В-M сливаются в один упорядоченный список С длинной M+N.
Если каждый элемент из А и В входит в С, точно один раз.
A=<6,17,23,3,9,4,7> 5
B=<19,25,38,60> 4
C=<6,17,19,23,25,38,3,9,4,7,60>
Для слияние списков А и В список С сначала полагается пустым, а затем к нему последовательно приписывается первый узел из А или В оказавшийся меньшим и отсутствующий в С. Составив функцию для слияния двух упорядоченных расположенных рядом частей массивов s, параметром этой функции будет исходный массив C, с выделением в нем двух упорядоченных расположенных рядом под массивом.
Merge будет осуществлять слияние под массивом образую на их месте упорядоченный массив с индексами от low до up.double *merge(double*sбште low, intup,int l)double *b,*c,v)
Int I,j,k
b=calloc (l,sizeof (double))
c=calloc(up+l-l, sizeof (double))
for(i=low;i<low+l;i++)
b=[c-low]=s[i]
for (i=0;i<up-l;i++)
c[i]=s[i+l+low]
v=(b[1]=c[up-l]=(s[low+l-1]>
s[up-l]))?s[low+l-1]
(s[up-l]+1;
I=(j=0);
K=low;
While (b[i]<v||c[j]<v)
{if (b[i]<c[j])
S[k]=b[i++]
Else
S[b]=c[j++]
K++
}
Return (s);
}
145. Сортировка списков путем слияния
Для получения упорядоченного списка b’ последовательность значений b
B=<K1,k2,…kn>
N
B1=<>k1>,b2= <k2>
Длина каждого из списка единица, затем осуществляется функция прохода, при которой m>=2 упорядоченных списков b1,b2…bn заменяется на m/2 или (m+1)/2 упорядоченных списков и b(2i)(2i<=n) и добавлением bm при нечетном m.
Проход повторяется до тех пор пока не получится одна последовательность длины N.
Приведем пример сортировки списка путем использования слияния последовательность будем отделять косой чертой, а элементы запятой.
9/7/18/3/52/4/6/8/5/13/42/30/35/26;
7,9/3,18/4/52/6/8/5/13/30/42/26/35;
3,7,9,18/4,6,8,52/5,13,30,42/25,35;
3,4,6,7,8,9,18,52/5,13,26,30,35,42;
3,4,5,6,7,8,9,13,18,26,30,35,42,52;
Эту операцию выполняет функция , она упорядочивает массив сортировкой слиянием используя описанную раннее функцию merge.
Double*smerge(double*,int m,int n);
{int l, low, up;
Double*merge(double*,int, int, int);
L=1;
While (l<=(n-m))
{low=m;
Up=m-l;
While(l+ap<n)
{up=(low+2*l-1<n)?(low+2*l-1):n;
Merge (s,low,up,l);
Low=up-l;
}
L*2;
}
Return(a);
}
Для такой сортировки можем составить рекурсивную функцию для сортировки массива либо его части.
Srecmg
При каждом вызове сортируемый массив делится на две равных части каждая из которых сортируется отдельно.
Double*srecmg(double*a,int n,int m)
{double*merge(double*, int, int, int );
Double*smerge(double*, int, int);
Int I;
If(n>m)
{i=(n+m)2;
Srecmg(a,m,i);
Srecmg(a,+дбт)
Merge(a,m,n,(n-m)/2+l);
}
Return(a);
}
