- •Понятие алгоритма. Свойства алгоритмов. Основные этапы решения задач
- •1. Формулировка задачи
- •2. Математическая постановка задачи
- •3. Разработка алгоритма
- •4. Написание текста и ввод программы
- •5. Выполнение программы. Поиск и устранение синтаксических ошибок
- •6. Тестирование программы. Поиск и устранение логических ошибок в программе
- •Этапы создания исполняемой программы (загрузочного модуля).
- •Структуры и формы написания программы
- •Внутреннее представление данных
- •Классы памяти
- •Обмен данными через внешние переменные
- •Статические переменные
- •Стандартный ввод/вывод данных через потоки
- •Ввод данных
- •Вывод данных
- •Специфические операции
- •Операции присваивания
- •Некоторые нетрадиционные (унарные) операции
- •Условные выражения
- •Операция условия ?:
- •Выражения (в том числе и условные). Порядок выполнения операций в выражении. Таблица приоритетов.
- •Условный оператор if и его применение при программировании. Сокращенная форма оператора if
- •Полная форма оператора if
- •Множественный выбор else-if
- •Оператор выбора switch и его применение при программировании.
- •Циклические вычислительные процессы
- •Оператор цикла while и его применение при программировании. Цикл while – цикл с предусловием.
- •Оператор цикла do while и его применение при программировании. Цикл do while – цикл с постусловием
- •Оператор цикла for и его применение при программировании. Цикл for – цикл с предусловием
- •Операторы break, goto, continue их применение при программировании. Операторы передачи управления
- •Оператор break
- •Оператор continue
- •Оператор goto
- •Вложенные циклы.
- •Указатели и адреса: описание, инициализация и операции с указателями. Применение указателей при программировании.
- •Статические строки
- •Динамические строки
- •Стандартный цикл обработки строки
- •Одномерные числовые массивы
- •Статические массивы
- •Динамические массивы
- •Динамические матрицы
- •Циклы перебора матрицы
- •Программирование с использованием функций пользователя. Принципы построения функций.
- •Механизм вывода функции
- •Передача значения простого аргумента в функцию. Способы передачи простых данных в функцию
- •Передача в функцию значения аргумента
- •Рекурсивная функция
- •Передача функции в другую функцию через указатель. Параметр функции. Указатель на функцию.
- •Перегрузка функций.
- •Функции с параметрами по умолчанию
- •Шаблоны функций.
- •Формат функции шаблона
- •Механизм шаблона
- •Особенности проекта с функциями-шаблонами
Специфические операции
Унарные операции ++/-- - увеличивает или уменьшает на 1 текущее значение переменной. Существует две формы каждой операции: префиксная (++a) и постфиксная (a++).
При префиксной форме переменная сначала увеличивается на 1, а затем участвует в другой операции, если она есть. В постфиксной переменная сначала участвует в операции, а затем увеличивается на 1.
Операции языка С++: операция присваивания, арифметические операции с присваиванием.
Операции присваивания
Операции присваивания – изменяют значение любой переменной, слева пишется имя переменной, справа её новое значение (a=5; a=b+c; a+=2 – значение переменной а увеличивается на 2).
+
Операции языка С++: операция sizeof, операция приведения к типу, операция определения адреса по имени переменной.
Некоторые нетрадиционные (унарные) операции
Операция sizeof – дает размер операнда в байтах.
sizeof(int) sizeof(summa)
Операция (тип) – приводит величину к указанному типу: (int)8.75→8
int a=3, b=7;
double c;
c=(double)a/b;
&a – адрес переменной a.
Операции языка С++: операции отношения, логические операции. Условная операция.
Условные выражения
Условные выражения образуются с помощью операций отношения, которые сравнивают две величины между собой.
1 (true) 0 (false)
1 > >= < <= != ==
Замечание: избегать сравнение на равенства вещественных чисел или сравнивать с определенной долей точности.
(double a, b;
if (fabs(a-b)<1E-8)
cout<<”pochti ravnie”;
else
cout<<”ne ravnie”;)
Условные выражения, состоящие из нескольких операций отношения, соединяются логическими операциями:
а) && - логическая операция И – результат истина т.е. 1, если оба операнда истины, или ложь в противном случае;
б) || - логическая операция ИЛИ – результат операции истина или 1 если хотя бы один операнд истинен, или ложь в противном случае;
в) ! – логическая операция НЕ (пишется перед операндом) если операнд –истина, то результат операции – ложь, и наоборот.
Анализ символьной информации.
‘0’
‘9’ ‘A’
‘Z’
‘a’
‘z’
‘А’ ‘Я’ ‘а’ ‘п’ ‘р’
‘я’
char sim;
Убедиться, что в переменной записана цифра sim>=’0’&& sim<=’9’
В переменной sim содержится большая латинская буква. sim>=’A’&&sim<=’Z’
Операция условия ?:
(тернарная операция)
Альтернатива оператору if.
Используется, когда есть некоторая переменная, которой можно присвоить одно из двух возможных значений.
Синтаксис: выражение 1 ? выражение 2 : выражение 3;
Выполняется: если выражение 1 истина, то результатом операции является выражение 2, иначе - выражение 3.
Примеры:
y=|x|
y=(x>0)?x:-x; вычисляется модуль числа.
max=a,b? вычислить max из двух чисел
max=(a>b)?a:b;
Задача: определить, кратно ли одно число другому.
#include<iostream>
using namespace std;
int main(void)
{
int a, b;
cout<<”Vvedite bolshee chislo”;
cin>>a;
cout<<”Vvedite menshee chislo”;
cin>>b;
if (a%b==0)
cout<<”kratno”;
else
cout<<”ne kratno”;
return 0;
}
