Similar presentations:
Программирование на языке C++. §59. Процедуры. Алгоритмизация и программирование, язык C++. 10 класс
1. Программирование на языке C++
1Программирование
на языке C++
§ 59. Процедуры
К.Ю. Поляков, Е.А. Ерёмин, 2014
http://kpolyakov.spb.ru
2. Зачем нужны процедуры?
Алгоритмизация и программирование, язык C++, 10 класс2
Зачем нужны процедуры?
cout <<
"Ошибка программы";
много раз!
void Error()
{
cout << "Ошибка программы";
}
int main()
{
вызов
процедуры
int n;
cin >> n;
if ( n < 0 ) Error();
...
}
К.Ю. Поляков, Е.А. Ерёмин, 2013
http://kpolyakov.spb.ru
3. Что такое процедура?
Алгоритмизация и программирование, язык C++, 10 класс3
Что такое процедура?
Процедура – вспомогательный алгоритм, который
выполняет некоторые действия.
• текст (расшифровка) процедуры записывается
после основной программы
• в программе может быть много процедур
• чтобы процедура заработала, нужно вызвать её по
имени из основной программы или из другой
процедуры
К.Ю. Поляков, Е.А. Ерёмин, 2013
http://kpolyakov.spb.ru
4. Процедура с параметрами
Алгоритмизация и программирование, язык C++, 10 класс4
Процедура с параметрами
Задача. Вывести на экран запись целого числа (0..255) в
8-битном двоичном коде.
много раз!
Алгоритм:
178 101100102
? Как вывести первую цифру?
n=
7
6 5 4
3 2 1
0
1 0 1 1 0 0 1 02
n / 128
разряды
n % 128
? Как вывести вторую цифру?
К.Ю. Поляков, Е.А. Ерёмин, 2013
n1 / 64
http://kpolyakov.spb.ru
5. Процедура с параметрами
Алгоритмизация и программирование, язык C++, 10 класс5
Процедура с параметрами
Задача. Вывести на экран запись целого числа (0..255) в
8-битном двоичном коде.
Решение:
n
k
вывод
k = 128;
178
128
1
while ( k > 0 )
50
64
0
{
cout << n / k;
50
32
1
n = n % k;
18
16
1
k = k / 2;
2
8
0
}
2
4
0
178 10110010
2
2
1
зависит
! Результат
от n!
К.Ю. Поляков, Е.А. Ерёмин, 2013
0
0
1
0
0
http://kpolyakov.spb.ru
6. Процедура с параметрами
Алгоритмизация и программирование, язык C++, 10 класс6
Процедура с параметрами
void printBin ( int n )
{
int k;
Параметры – данные,
k = 128;
локальные
переменные
while ( k > 0 ) изменяющие работу
процедуры.
{
cout << n / k;
n = n % k;
k = k / 2;
}
}
значение параметра
int main()
(аргумент)
{
printBin ( 99 );
}
К.Ю. Поляков, Е.А. Ерёмин, 2013
http://kpolyakov.spb.ru
7. Несколько параметров
Алгоритмизация и программирование, язык C++, 10 класс7
Несколько параметров
void printSred ( int a, int b )
{
cout << (a+b)/2.;
}
К.Ю. Поляков, Е.А. Ерёмин, 2013
http://kpolyakov.spb.ru
8. Задачи
Алгоритмизация и программирование, язык C++, 10 класс8
Задачи
«A»: Напишите процедуру, которая принимает параметр –
натуральное число N – и выводит на экран линию из N
символов '–'.
Пример:
Введите N:
10
---------«B»: Напишите процедуру, которая выводит на экран в
столбик все цифры переданного ей числа, начиная с
первой.
Пример:
Введите натуральное число:
1234
1
2
3
4
К.Ю. Поляков, Е.А. Ерёмин, 2013
http://kpolyakov.spb.ru
9. Задачи
Алгоритмизация и программирование, язык C++, 10 класс9
Задачи
«C»: Напишите процедуру, которая выводит на экран
запись переданного ей числа в римской системе
счисления.
Пример:
Введите натуральное число:
2013
MMXIII
К.Ю. Поляков, Е.А. Ерёмин, 2013
http://kpolyakov.spb.ru