Первый слайд презентации: Программирование на языке C++
§ 55. Простейшие программы 1
Слайд 2: Простейшая программа
2 main () { // это основная программа /* здесь записывают операторы */ } Что делает эта программа ? ? это основная программа комментарии после // не обрабатываются это тоже комментарий
Слайд 3: Вывод на экран
3 main () { cout << "2+" ; cout << "2=?\n" ; cout << " Ответ : 4" ; } Протокол: 2+2=? Ответ: 4 " \ n" – новая строка console output – выходной поток [ символов ] на консоль
Слайд 4: Подключение библиотечных функций
4 #include < iostream > using namespace std; main () { setlocale (0, " rus " ); cout << "2+" ; cout << "2=?\n" ; cout << " Ответ : 4" ; } стандартные потоки ввода и вывода стандартное пространство имен
5 #include < iostream > main () { std:: cout << "2+" ; std:: cout << "2=?\n" ; std:: cout << " Ответ : 4" ; std:: cin.get (); } пространство имен std
Слайд 6: Вывод в поток
6 cout << "2+" << "2=?" << "\ n " << "Ответ: 4" ; cout << "2+" << "2=?" << endl << "Ответ: 4" ; end of line – конец строки
Слайд 7: Задания
7 « B »: Вывести на экран текст «лесенкой» Вася пошел гулять « C »: Вывести на экран рисунок из букв Ж ЖЖЖ ЖЖЖЖЖ ЖЖЖЖЖЖЖ HH HH ZZZZZ
Слайд 8: Сложение чисел
8 Задача. Ввести с клавиатуры два числа и найти их сумму. Протокол: Введите два целых числа 25 30 25+30=55 компьютер пользователь компьютер считает сам! Как ввести числа в память? Где хранить введенные числа ? Как вычислить? Как вывести результат? ?
Слайд 9: Сумма: псевдокод
9 main() { // ввести два числа // вычислить их сумму // вывести сумму на экран } Псевдокод – алгоритм на русском языке с элементами языка программирования. Компьютер не может исполнить псевдокод! !
Слайд 10: Переменные
10 Переменная – это величина, имеющая имя, тип и значение. Значение переменной можно изменять во время работы программы. a Значение Имя Поместится? ? Другой тип данных В переменной хранятся данные определенного типа! !
Слайд 11: Имена переменных
11 МОЖНО использовать латинские буквы ( A-Z, a-z) цифры знак подчеркивания _ заглавные и строчные буквы различаются НЕЛЬЗЯ использовать рус c кие буквы скобки знаки +, =, !, ? и др. имя не может начинаться с цифры Какие имена правильные? AXby R&B 4Wheel Вася “PesBarbos” TU154 [QuQu] _ABBA A+B
Слайд 12: Объявление переменных
12 Типы переменных: int // целая float // вещественная и другие… Объявление переменных: int a, b, c; выделение места в памяти тип – целые список имен переменных
Слайд 13: Тип переменной
13 область допустимых значений допустимые операции объём памяти формат хранения данных для предотвращения случайных ошибок int a, b = 1, c = 55 ; Начальные значения: Что в переменной a ? ?
Слайд 14: Как записать значение в переменную?
14 a = 5 ; оператор присваивания При записи нового значения старое стирается! ! 5 Оператор – это команда языка программирования (инструкция). Оператор присваивания – это команда для записи нового значения в переменную. a
Слайд 15: Ввод значения с клавиатуры
15 Программа ждет, пока пользователь введет значение и нажмет Enter. Введенное значение записывается в переменную a. ! 5 a cin >> a; ввести значение a из входного потока
Слайд 16: Ввод значений двух переменных
16 через пробел: 25 30 через Enter : 25 30 a 25 b 30 a 25 b 30 cin >> a >> b;
Слайд 17: Изменение значений переменной
17 int a, b; a = 5 ; b = a + 2 ; a = (a + 2 )*(b – 3 ); b = b + 1 ; a ? 5 5 b ? 5+2 7 a 5 7*4 28 b 7 7+1 8
Слайд 18: Вывод данных
18 // вывод значения // переменной a //... и переход // на новую строку cout << a ; cout << a << endl ; // вывод текста // вывод текста и значения переменной c cout << " Привет! " ; cout << " Ответ : " << c; cout << a << "+" << b << "=" << c; 2+3=5
Слайд 19: Сложение чисел: простое решение
19 #include <iostream> using namespace std; main() { int a, b, c; cin >> a >> b; c = a + b; cout << c; cin.get(); cin.get(); } Что плохо? ? читаем остатки входного потока после ввода ждём нажатия на клавишу
Слайд 20: Сложение чисел: полное решение
20 main() { int a, b, c; cout << " Введите два целых числа\ n" ; cin >> a >> b; c = a + b; cout << a << "+" << b << "=" << c; } Протокол: Введите два целых числа 25 30 25+30=55 компьютер пользователь подсказка
Слайд 21: Снова про оператор вывода
21 # include < iomanip > ... a = 123 ; cout << setw (5) << a; Форматный вывод : Вычисление выражений: cout << a << "+" << b << "=" << a+b ; a+b 5 знаков 123 5 манипуляторы для управления потоками set width – установить ширину поля
Слайд 23: Типы данных
23 int // целое long int // длинное целое float // вещественное double // веществ. двойной точности bool // логические значения char // символ
Слайд 24: Арифметическое выражения
24 a = (c + b * 5 * 3 - 1 ) / 2 * d; Приоритет ( старшинство ): скобки умножение и деление сложение и вычитание 1 2 3 4 5 6
Слайд 25: Деление
25 Результат деления целого на целое – целое число (остаток отбрасывается): int a = 3, b = 4 ; float x; x = 3 / 4 ; // = 0 x = 3. / 4 ; // = 0.75 x = 3 / 4.; // = 0.75 x = a / 4 ; // = 0 x = a / 4.; // = 0.75 x = a / b; // = 0 x = float (a) / 4 ; // = 0.75 x = a / float (b); // = 0.75 Что запишется в x ? ?
Слайд 26: Остаток от деления
26 % – остаток от деления int a, b, d; d = 85 ; b = d / 10 ; // 8 a = d % 10 ; // 5 d = a % b; // 5 d = b % a; // 3 Для отрицательных чисел : int a = -7 ; b = a / 2 ; // -3 d = a % 2 ; // -1 В математике не так! ! -7 = ( -4 )*2 + 1 остаток 0
Слайд 27: Сокращенная запись операций
27 int a, b; ... a ++; // a = a + 1; a --; // a = a – 1; a += b; // a = a + b; a -= b; // a = a - b; a *= b; // a = a * b; a /= b; // a = a / b; a % = b; // a = a % b;
Слайд 28: Вещественные числа
28 Целая и дробная части числа разделяются точкой ! ! Форматы вывода : float x = 123.456 ; cout.width ( 10 ); cout.precision ( 5 ); cout << x << endl ; 123.46 cout.width ( 10 ); cout.precision (2); cout << x << endl ; 5 значащих цифр 1.2e+002 1,2 10 2 всего 10 знаков
Слайд 29: Вещественные числа
29 Экспоненциальный (научный) формат : float x; x = 1. / 30000 ; cout << x; x = 12345678. ; cout << x; 3.33333e - 0 05 1.2345 7 e+007 3,33333 10 –5 float x = 123.456 ; cout.width (10); cout.precision (2); cout << scientific << x; 1.23e+002 1,2345 7 10 7 в дробной части научный
Слайд 30: Стандартные функции
30 abs (x) — модуль целого числа fabs (x) — модуль вещественного числа sqrt ( x ) — квадратный корень sin ( x ) — синус угла, заданного в радианах cos ( x ) — косинус угла, заданного в радианах exp ( x ) — экспонента е х ln ( x ) — натуральный логарифм pow ( x,y ) — x y : возведение числа x в степень y floor ( x ) — округление «вниз» ceil ( x ) — округление «вверх» #include < с math> подключить математическую библиотеку float x; x = floor( 1.6 ); // 1 x = ceil( 1.6 ); // 2 x = floor(- 1.6 ); //-2 x = ceil(- 1.6 ); //-1
Слайд 31: Случайные числа
31 Случайно… встретить друга на улице разбить тарелку найти 10 рублей выиграть в лотерею Случайный выбор : жеребьевка на соревнованиях выигравшие номера в лотерее Как получить случайность?
Слайд 32: Случайные числа на компьютере
32 Электронный генератор нужно специальное устройство нельзя воспроизвести результаты 318458191041 564321 209938992481 458191 938992 малый период (последовательность повторяется через 10 6 чисел) Метод середины квадрата (Дж. фон Нейман) в квадрате Псевдослучайные числа – обладают свойствами случайных чисел, но каждое следующее число вычисляется по заданной формуле. зерно
Слайд 33: Генератор случайных чисел
33 Генератор на отрезке [0,RAND_MAX] : int X, Y; X = r a nd () ; // псевдослучайное число Y = r a nd () // это уже другое число! англ. random – случайный Целые числа на отрезке [a,b] : int X, Y; X = a + rand ( ) % (b - a + 1 ) ; Y = a + rand ( ) % (b - a + 1 ) ; #include < с stdlib > Почему так? ? rand ( ) % (b - a + 1 ) ; [0,b-a]
Слайд 34: Задачи
34 « A »: Ввести с клавиатуры три целых числа, найти их сумму, произведение и среднее арифметическое. Пример : Введите три целых числа: 5 7 8 5+7+8=20 5*7*8=280 (5+7+8)/3= 6.667 « B »: Ввести с клавиатуры координаты двух точек (A и B) на плоскости (вещественные числа). Вычислить длину отрезка AB. Пример : Введите координаты точки A: 5.5 3.5 Введите координаты точки B: 1.5 2 Длина отрезка AB = 4.272