Содержание
- 2. Основы алгоритмизации Алгоритм – это конечная последовательность действий, позволяющая по заданным исходным данным получить результат решения
- 3. Основы алгоритмизации Алгоритм имеет две характеристики. 1. Конечность, или результативность. Алгоритм приводит к получению результата за
- 4. Проектирование сверху вниз Основной метод создания алгоритмов — проектирование, или программирование, сверху вниз, или пошаговая детализация.
- 5. Проектирование сверху вниз Главные модули все равно приходится проектировать программистам. Таким образом, алгоритм является деревом модулей:
- 6. Принцип черного ящика означает, что не имеет значения, как модуль выполняет свою функцию, какие алгоритмы скрыты
- 7. Структурное программирование Структурное программирование позволяет проектировать алгоритмы только из трех элементарных алгоритмов. Каждый модуль является иерархией
- 8. Объектно-ориентированное программирование Компьютер = аппаратура + программы, а программа = алгоритм + данные. Объектно-ориентированное программирование (ООП)
- 9. Визуальное программирование Визуальное программирование существенно облегчает программирование для графического интерфейса типа Windows, который состоит из множества
- 10. Язык программирования, программа Чтобы создать компьютерную программу, нужно записать алгоритм по специальным правилам на языке программирования,
- 11. Возможны два способа компиляции. Первый способ называется трансляцией и заключается в компилировании сразу всей программы в
- 12. Сборщик, приложение Большинство современных компиляторов работают в режиме трансляции. При трансляции модулей исходных текстов, оформленных специальным
- 13. Ошибки программирования Ошибки в программах бывают двух видов. 1. Синтаксические ошибки — несоответствие формальным требованиям языка
- 14. Средства изображения алгоритмов Основными изобразительными средствами алгоритмов являются следующие способы их записи: словесный; формульно-словесный; блок-схемный; псевдокод;
- 15. Рассмотрим пример словесной записи алгоритма. Пусть задан массив чисел. Требуется проверить, все ли числа принадлежат заданному
- 17. Блок-схемный – это графическое изображение логической структуры алгоритма, в котором каждый этап процесса переработки данных представляется
- 18. Рассмотрим пример блок-схемы той же задачи, для которой приведен словесный алгоритм.
- 19. Псевдокод - позволяет формально изображать логику программы, не заботясь при этом о синтаксических особенностях конкретного языка
- 20. Структурные диаграммы - могут использоваться в качестве структурных блок-схем, для показа межмодульных связей, для отображения структур
- 21. Рассмотрим пример использования диаграмм МЭСИД. Задан одномерный массив из положительных и отрицательных чисел. Требуется определить частное
- 22. Базовые канонические структуры алгоритмов Доказано, что любую программу можно написать, используя комбинации трех управляющих структур: следования
- 23. Базовые канонические структуры алгоритмов Следование, линейная инструкция. Линейная инструкция Действия А и В могут быть: -
- 24. ПРИМЕР. Зная длины трех сторон треугольника, вычислить площадь и периметр треугольника. Пусть a, b, c -
- 25. ПРИМЕР. Известны плотность и геометрические размеры цилиндрического слитка, полученного в металлургической лаборатории. Найти объем, массу и
- 26. ПРИМЕР Заданы длины двух катетов в прямоугольном треугольнике. Найти длину гипотенузы, площадь треугольника и величину его
- 27. Базовые канонические структуры алгоритмов 2) Алгоритмы разветвленной структуры (развилка) применяются, когда в зависимости от некоторого условия
- 28. ПРИМЕР Известны коэффициенты a, b и с квадратного уравнения. Вычислить корни квадратного уравнения. Входные данные: a,
- 29. ПРИМЕР Составить программу нахождения действительных и комплексных корней квадратного уравнения.
- 30. ПРИМЕР Заданы коэффициенты a, b и с биквадратного уравнения ах4 + bх2 + с = 0.
- 31. Базовые канонические структуры алгоритмов 3) Цикл (повторение) Циклом в программировании называют повторение одних и тех же
- 32. Цикл с постусловием Тело цикла всегда выполняется хотя бы один раз. Тело цикла перестает выполняться, как
- 33. Цикл с параметром
- 34. Вычисление суммы Найти сумму первых 10 членов последовательности
- 35. Найти произведение n чисел вида 1 ⋅ 3 ⋅ 5 ⋅ 7 ⋅ … 1. Формулы.
- 36. Найти произведение n чисел вида 1 ⋅ 3 ⋅ 5 ⋅ 7 ⋅ … Проектирование алгоритма.
- 37. ПРИМЕР Составить таблицу значений функции y=2 e sin(3x) cos(4x) на отрезке [xn; xk] с шагом dx
- 38. Платформа .NET. Обзор технологий .NET ПЛАТФОРМА – в контексте информационных технологий – среда, обеспечивающая выполнение программного
- 39. Платформа .NET. Обзор технологий .NET .NET Framework – инфраструктура платформы Microsoft .NET включает следующие основные компоненты:
- 40. CLR (Common Language Runtime) – Среда Времени Выполнения или Виртуальная Машина. Обеспечивает выполнение сборки. Основной компонент
- 41. Ядро среды выполнения реализовано в виде библиотеки mscoree.dll. При компоновке сборки в нее встраивается специальная информация,
- 42. FCL (.NET Framework Class Library соответствующая CLS-спецификации объектно-ориентированная библиотека классов, интерфейсов и системы типов, которые включаются
- 43. MSIL (Microsoft Intermediate Language) – промежуточный язык платформы Microsoft .NET. Исходные тексты программ для .NETприложений пишутся
- 44. Компиляция В прошлом почти все компиляторы генерировали код для конкретных процессорных архитектур. При разработке платформы .NET
- 45. Типы приложений Visual Studio Console Application – позволяют выполнять ввод/вывод с использованием «консоли», то есть в
- 46. Типы приложений Visual Studio Windows Forms – используют элементы графического оконного интерфейса, включая формы, кнопки, флажки
- 47. Объектно-ориентированный подход Программные системы предназначены для моделирования реальных систем, поэтому очень важно, в каких терминах описываются
- 48. Объектно-ориентированный подход Инкапсуляция Инкапсуляция – это сокрытие информации о внутреннем устройстве объекта. В основе построения объектно-ориентированных
- 49. Объектно-ориентированный подход Состояние объекта Каждый объект характеризуется своим состоянием. Состояние объекта характеризуется текущим значением его атрибутов.
- 50. Объектно-ориентированный подход Идентификация объекта Метод идентификации объекта должен отвечать на вопрос, как отличить один объект от
- 51. Объектно-ориентированный подход Идентификация объекта Во многих случаях один из атрибутов объекта по определению является уникальным. При
- 52. Объектно-ориентированный подход Идентификация объекта При создании любого нового объекта ему присваивается уникальный идентификатор, отличающийся от идентификаторов
- 53. Объектно-ориентированный подход Интерфейс объекта Важнейшей характеристикой объекта является описание того, как он может взаимодействовать с окружающим
- 54. Объектно-ориентированный подход Интерфейс объекта Наряду с методами и атрибутами, входящими в интерфейс и доступными другим объектам,
- 55. Объектно-ориентированный подход Интерфейс объекта Применительно к программированию это означает, что, используя принцип инкапсуляции, намного легче и
- 56. Интерфейс объекта Наряду с методами и атрибутами, входящими в интерфейс и доступными другим объектам, у объекта
- 57. Объектно-ориентированный подход Создание и уничтожение объектов В любой системе объекты создаются, функционируют и, в конце концов,
- 58. Объектно-ориентированный подход Создание и уничтожение объектов К удалению объектов существует два подхода: объекты должны уничтожаться явно,
- 59. Классы В системе обычно функционирует множество объектов. Некоторые из них «похожи» или однотипны. Однотипные объекты объединяются
- 60. Классы. Различие понятий «интерфейс» и «тип» Интерфейс - это внешняя часть класса. Интерфейс определяет, как объекты
- 61. Классы. Различие понятий «тип» и «класс» Понятия типа и класса часто употребляются в одном и том
- 62. Пространство имен Пространство имен – это способ организации системы типов в единую группу. В рамках .NET
- 63. Создание консольного приложения Запускаем Visual Studio. Выбираем Новый проект (New project)
- 64. Создание консольного приложения Выбираем Win 32 Console Application. Задаем имя проекта и выбираем папку, в которой
- 65. Создание консольного приложения Щелкаем по кнопке: Далее (Next), в новом окне – по Выход (Finish)
- 66. Создание консольного приложения Открывается окно Редактора кода.
- 67. Создание консольного приложения Пример. Вводится целое число, программа подсчитывает количество разрядов, определяет максимальную цифру и ее
- 68. Создание консольного приложения Задача. Составить схему алгоритма и программу для вычисления значений функций Y и F
- 69. Создание консольного приложения #include "stdafx.h" #include #include #include using namespace std; int main() { double x,
- 70. Создание консольного приложения Запускаем приложение
- 71. Создание консольного приложения В диалоговом окне щелкаем по кнопке
- 72. Создание консольного приложения Если нет ошибок, то программа начинает работать. Вводим исходные данные и получаем результат.
- 73. :: = | | :: = A | B | …| Z | a | b
- 74. Структура программы Любая программа на языке С++ представляет собой одну или несколько функций. В любой программе
- 75. Основные этапы обработки программы на языке С++ Сначала программа обрабатывается препроцессором, который выполняет директивы препроцессора, в
- 76. Различные объекты программы должны иметь имена. В качестве имен используются идентификаторы. Идентификатор (имя объекта программы) -
- 77. Данные в языке С++ Для решения задачи в любой программе выполняется обработка каких-либо данных. Данные могут
- 78. Данные в языке С++
- 79. Данные в языке С++
- 80. Данные в языке С++ Как видно из таблицы, базовые типы могут быть расширены с помощью спецификаторов
- 81. Переменные языка С++ Переменная – поименованный участок памяти, в котором хранится значение. Имя (идентификатор) в языке
- 82. Переменные языка С++ Все переменные в языке С++ должны быть описаны. Оператор описания переменных имеет вид:
- 83. Массивы Массив – совокупность данных одного и того же типа. Число элементов массива фиксируется при описании
- 84. Многомерные массивы В С++ определены и многомерные массивы. Двумерный массив (матрицу) можно объявить так: тип имя_переменной
- 85. Для обращения к элементу матрицы необходимо указать ее имя, и в квадратных скобках номер строки, а
- 86. Строки Строка – последовательность символов. Если в выражении встречается одиночный символ, он должен быть заключен в
- 87. По месту объявления переменные в языке Си можно разделить на три класса: 1. Локальные – переменные,
- 88. 2. Глобальные – переменные, которые описаны до всех функций, они доступны из любой функции. #include float
- 89. Константы в языке С++ Константы не изменяют своего значения в процессе выполнения программы. Если при объявлении
- 90. Целые числа можно записывать в восьмеричной или шестнадцатеричной системе. Шестнадцатеричное число начинается с 0х(например, 0х80 –
- 91. Операции в языке С++ Операция присваивания В операторе присваивания слева всегда стоит имя переменной, а справа
- 92. Арифметические операции
- 93. Арифметические операции
- 94. Арифметические операции
- 95. Операции увеличения (инкремента) и уменьшения (декремента) Оператор p=p+1; можно записать в префиксной форме ++p; так и
- 96. Составное присваивание К операторам составного присваивания относятся +=, -=, *=, /=. Оператор x+=p; предназначен для увеличения
- 97. Операции целочисленной арифметики К операциям целочисленной арифметики относятся: целочисленное деление / остаток от деления %. При
- 98. Операции битовой арифметики Во всех операциях битовой арифметики действия происходят над двоичным представлением целых чисел. К
- 99. Арифметическое ИЛИ (|). Здесь также оба операнда переводятся в двоичную систему, после чего над ними происходит
- 100. Арифметическое исключающее ИЛИ (^). Здесь также оба операнда переводятся в двоичную систему, после чего над ними
- 101. Сдвиг влево (M Пример 17 > L). В этом случае двоичное представление числа M сдвигается вправо
- 102. Логические операции и операции отношения Логические операции выполняются над логическими значениями ИСТИНА (true) и ЛОЖЬ (false).
- 103. Логические операции и операции отношения
- 104. Операция ? Тернарное условие Для организации разветвлений в простейшем случае можно использовать оператор ? следующей структуры:
- 105. Операция явного приведения типа Для приведения выражения к другому типу данных в С++ существует операция явного
- 106. Стандартные математические функции в языке С++
- 107. Стандартные математические функции в языке С++
- 108. Стандартные математические функции в языке С++
- 109. Возведение в степень С++ Определенную проблему представляет возведение x в степень y. Есть функция pow(x,y), которая
- 110. Написать программу, которая демонстрирует различные варианты операции возведения в степень. #include using namespace std; int main()
- 111. Результаты работы программы
- 112. Ввод данных с помощью функции cin. Вывод данных с помощью функции cout #include using namespace std;
- 113. Ввод данных с помощью функции cin. Вывод данных с помощью функции cout #include using namespace std;
- 114. Результаты работы программы
- 115. Условный оператор IF IF ; [ ELSE ] Оператор выполняется таким образом: если результат вычисления выражения
- 116. Условный оператор IF Примеры. If ((a>0) &&(m%6==0)) q+=1; if ((a>0) &&(m%6==0)) q+=1; else {s=q; q=0;}
- 117. Оператор варианта switch Оператор switch предназначен для варианта ветви вычислительного процесса в зависимости от значения параметра.
- 118. Пример: op=‘*‘; switch (op) { case ‘+’: res=a+b; break; case ‘-’: res=a-b; break; case ‘*’: res=a*b;
- 119. Циклические алгоритмы, их реализация в С++ Циклом в программировании называют повторение одних и тех же действий
- 120. Циклические алгоритмы, их реализация в С++ Вычислить значение факториала F=N! Фрагмент программы: … F=1; I=1; WHILE
- 121. Циклические алгоритмы, их реализация в С++ 2. Цикл с постусловием. Оператор do-while do { оператор; }
- 122. Циклические алгоритмы, их реализация в С++ Вычислить значение факториала F=N! Фрагмент программы: … F = 1;
- 123. Цикл с параметром Оператор for for(начальные_присваивания ; условие; приращение) оператор; for(начальные_присваивания ; условие; приращение) { оператор
- 124. Цикл с параметром Вычислить значение факториала F=N! Фрагмент программы: Решение 1: … for (F=1, I=1; I
- 125. Операторы break, continue Оператор break осуществляет немедленный выход из циклов while, do-while и for. Его можно
- 126. Пример Заданы коэффициенты a, b и с биквадратного уравнения ах4 + bх2 + с = 0.
- 127. Блок - схема
- 128. Текст программы #include #include using namespace std; int main() { float a,b,c,d,y1,y2,x1,x2,x3,x4; printf("\n Vvedi a,b,c\n"); scanf_s("%f%f%f",&a,&b,&c);
- 129. Результаты
- 130. Пример Вводится последовательность целых чисел, 0 – конец последовательности. Найти минимальное среди положительных, если таких значений
- 131. Блок - схема
- 132. Текст программы #include "stdafx.h" #include #include #include using namespace std; int main(int argc, char* argv[]) {
- 133. Результаты
- 134. Пример Дано натуральное число N. Определить самую большую цифру и ее позицию в числе (N=573863, наибольшей
- 135. Текст программы #include "............" #include #include using namespace std; int main() { long int N,M,kol=1; int
- 136. Результаты
- 137. Пример Составить таблицу значений функции y=2esin(3x)cos(4x) на отрезке [xn; xk] с шагом dx. Найти сумму положительных
- 138. Блок - схема
- 139. Текст программы #include #include using namespace std; int main() { float xn, xk, dx, x, y,
- 140. Результаты
- 141. Пример Условие задачи. Построить таблицу значений альтернативно заданной функции f(d) d изменяется от начального значения dn
- 142. Блок-схема
- 143. Программа #include #include using namespace std; int main() { double dn, dk, dh, d, s, y,
- 144. Условие задачи Для x, изменяющегося в интервале от x0 до xk с шагом h, вычислить значения
- 146. Фрагмент текста программы double x0, x, xk, h, u,s,y,e=1E-5; int n; cout cin >> x0>> xk
- 147. Использование функций Подпрограмма – именованная, логически законченная группа операторов языка, которую можно вызвать для выполнения любое
- 148. Использование функций Заголовок функции имеет вид имя_функции ([список параметров]) – тип возвращаемого функцией значения; список параметров
- 149. В случае, если вызываемые функции идут до функции main, структура программы будет такой. директивы компилятора ...
- 150. Если вызываемые функции идут после функции main, структура программы будет такой (заголовки функций должны быть описаны
- 151. Для того, чтобы функция вернула какое-либо значение, в ней должен быть оператор return значение; Для вызова
- 152. Передача параметров Параметры, указанные в заголовке функции, называются формальными. Параметры, передаваемые в функцию, называются фактическими. При
- 153. Пример Составить таблицу значений функции y=2esin(3x)cos(4x) на отрезке [xn; xk] с шагом dx. Найти максимальное и
- 154. Текст программы #include #include using namespace std; float f(float x, float a, float b, float c);
- 155. Результаты
- 156. Пример Дано натуральное число N. Определить самую большую цифру и ее позицию в числе (N=573863, наибольшей
- 157. Текст программы #include #include using namespace std; int kol_raz(int M) { int k=0; while(M/10>0) { k++;
- 158. Результаты
- 159. Пример Вводится последовательность целых чисел, 0 – конец последовательности. Найти минимальное среди простых чисел и максимальное,
- 160. Текст программы #include using namespace std; int prostoe(int N) { int i,pr; if (N else for(pr=1,i=2;i
- 161. Результаты
- 162. Пример Вводится последовательность из N целых чисел, найти среднее арифметическое совершенных чисел и среднее геометрическое простых
- 163. Текст программы #include #include using namespace std; int prostoe(int N) { int i,pr; if (N for(pr=1,i=2;i
- 164. Результаты
- 165. Рекурсивные функции Рекурсия — это такой способ организации вспомогательного алгоритма (подпрограммы), при котором эта подпрограмма (процедура
- 166. Рекурсивные функции Рекурсивные версии большинства подпрограмм могут выполняться немного медленнее, чем их итеративные эквиваленты, поскольку к
- 167. Рекурсивные функции long int factoial(int n) предназначена для вычисления факториала числа n.
- 168. Текст программы #include "stdafx.h" #include using namespace std; long int factorial(int n) { if (n return(n);
- 169. Результаты
- 170. float stepen(float a, int n) предназначена для возведения числа a в степень n.
- 171. Текст программы #include "........" #include #include using namespace std; float stepen(float a, int n) { if
- 172. Рекурсивные функции long int fibonachi(int n) предназначена для вычисления n-го числа Фибоначчи. Если нулевой элемент последовательности
- 173. Текст программы #include "stdafx.h" #include #include #include using namespace std; long int fibonachi(unsigned int n) {
- 174. Результаты
- 175. Область видимости переменных в функциях С/С++, расширение области видимости переменных Рассмотрим особенности использования локальных и глобальных
- 176. Рассмотрим пример: float pr=100.678; int prostoe (int n) { int pr=1,i; if (n if (n%i==0){pr=0;break;} //
- 177. Результаты работы программы g=7 local pr=1 global pr=100.678 g - prostoe
- 178. Перегрузка и шаблоны функций Язык С++ позволяет связать с одним и тем же именем функции различные
- 179. Перегрузка и шаблоны функций Пример перегрузки функций. Рассмотрим различные варианты операции возведения в степень: ak/m, a
- 180. Описание функции для операции 1: float ctep (float a, int k, int m) { cout if
- 181. Описание функции для операции 2: float ctep(float a, int n) { cout if (a == 0)
- 182. Описание функции для операции 3: int ctep(int a, int n) { cout if (a == 0)
- 183. #include… #include #include using namespace std; // сигнатуры перегружаемых функций float ctep (float a, int k,
- 185. Шаблоны Перегрузку можно применять при использовании различных алгоритмов решения задачи, при различных типах исходных данных и
- 186. Рассмотрим пример шаблона поиска наименьшего из четырех чисел. #include "stdafx.h" #include //Определяем абстрактный тип данных с
- 187. Результаты работы программы:
- 188. Использование значений формальных параметров по умолчанию В С++ существует возможность задать значение некоторых формальных параметров по
- 189. Использование значений формальных параметров по умолчанию float stepen(float a, int n=3) { if (n==0) return(1); else
- 190. Обработка массивов Одномерный массив описывают так: тип имя_переменной [n]; где n – количество элементов в массиве,
- 191. Обработка массивов Двумерный массив (матрицу) можно объявить так: тип имя_переменной [n][m]; где n – количество строк
- 192. Обработка массива for (i=0; i обработка X[i];
- 193. Ввод элементов массива float x[10]; int i,n; cout >n; cout for(i=0;i cin>>x[i];
- 194. Ввод элементов массива float x[10]; int i,n; printf("\n N="); scanf_s("%d",&n); printf("\n Введите массив X \n"); for(i=0;i
- 195. Вывод элементов массива cout for (i=0; i cout cout
- 196. Вывод элементов массива При организации вывода элементов массива можно использовать специальные символы \t \n. printf("\n Массив
- 197. Алгоритм вычисления суммы и произведения элементов массива for (s=0,i=0; i s+=X[i]; for(P=1, i=0; i P*=X[i];
- 198. for (nmax=0, i=1; i if (X[i]>X[nmax]) { nmax=i; } __________________________ nmax – индекс максимального элемента, X[nmax]
- 199. Пусть необходимо удалить из массива, состоящего из семи элементов, четвертый по номеру элемент. Алгоритм удаления элемента
- 200. Алгоритм удаления элемента из массива Удалить элементы с 4-го по 8-й в массиве из N элементов
- 201. Упорядочение элементов массива Сортировка выбором
- 202. Сортировка выбором #include … #include using namespace std; int main() { setlocale(LC_ALL, "Russian"); float b, max,
- 203. Результаты работы программы:
- 204. Упорядочение элементов массива Сортировка методом пузырька
- 205. Упорядочение элементов массива int main() { float b,max,a[20]; int i,j,n,k,nom; cout cin>>n; cout for(i=0; i cin>>a[i];
- 206. Запись положительных элементов массива A в массив B
- 207. Запись положительных элементов массива A в массив B int main() { float a[20],b[20]; int i,n,k; cout
- 208. Запись положительных элементов массива A в массив B
- 209. Свойства матриц В программах матрицы представляются в виде двумерных массивов. Рассмотрим некоторые свойства матриц: если номер
- 210. Найти сумму элементов матрицы, лежащих выше главной диагонали
- 212. Текст программы #include…. #include using namespace std; int main() { setlocale(LC_ALL, ""); float b, a[20][20], s;
- 213. Результаты работы программы:
- 214. Использование генератора случайных чисел Генератор случайных чисел - это объект, формирующий последовательность из псевдослучайных чисел. Работа
- 215. Использование генератора случайных чисел #include"…" #include #include using namespace std; int main() { // описание объекта
- 216. Результаты работы программы:
- 217. Строка – последовательность символов. Если в выражении встречается одиночный символ, он должен быть заключен в одинарные
- 218. Описание строки: char s[20]; диалог: на экран выводится подсказка " s= " : cout ввод строки
- 219. #include #include #include using namespace std; int main() { // объявление и инициализация строки char string[]
- 220. В современном стандарте C++ определен класс с функциями и свойствами (переменными) для организации работы со строками
- 221. Основные возможности, которыми обладает класс string: копирование одной строки в другую. Для встроенного типа приходится использовать
- 222. Инициализация строк при описании и длина строки (не включая завершающий нуль-терминатор): string st ( "Моя строка\n"
- 223. Для того чтобы убедиться, что строки совпадают воспользуемся оператором сравнения (==): if ( st == st3
- 224. Операция сложения может сцеплять объекты класса string не только между собой, но и со строками встроенного
- 225. #include…. #include #include #include #include using namespace std; int main() { setlocale(LC_ALL, "Russian"); cout stringstr; getline(cin,
- 226. Структуры Структура является совокупностью одного или более объектов(переменных, массивов, указателей, других объектов), которые для удобства работы
- 227. Структуры struct student { char fio[30];// определено поле fio char group[8];// определено поле group int year;
- 228. Задано n комплексных чисел, найти число наибольшего модуля. #include "…" #include #include using namespace std; int
- 229. Файлы Файлом называют способ хранения информации на физическом устройстве. Файл — это понятие, которое применимо ко
- 230. Файлы. Организация работы с файлами Файл (file) – именованная совокупность данных, находящаяся на внешнем устройстве и
- 231. Файловый ввод-вывод с использованием потоков средствами C++ Библиотека потокового ввода-вывода fstream Связь файла с потоком вывода
- 233. Скачать презентацию