Программирование на языке высокого уровня
Минимальная программка на C++
Пустой проект не содержит ни одного файла!
ASCII-графика
Программа, анализирующая число
Количество цифр в десятичной записи натурального числа
Как ладье съесть пешку?
Формат вывода. Разница между float и double
Кирилические кодировки 866 и 1251
680.10K
Category: programmingprogramming

Программирование на языке высокого уровня (C++)

1. Программирование на языке высокого уровня

Богатов Р.Н.
Программирование
на языке высокого уровня
C++ ► Примеры программ без циклов
Кафедра АСОИУ ОмГТУ, 2016

2. Минимальная программка на C++

3. Пустой проект не содержит ни одного файла!

Пустой проект
Проект
Минимальная
содержит
программа
не пустой
содержит
файл
нани
C++
одного
main.cpp
файла!

4. ASCII-графика

#include
#include <stdio.h>
<stdio.h>
#include
#include <conio.h>
<conio.h>
void
void main()
main()
{{
printf("This
printf("This is
is ASCII
ASCII art.\n");
art.\n");
printf("1
tolpa
kitayzev\n");
printf("1 - tolpa kitayzev\n");
printf("2
printf("2 -- samolet\n");
samolet\n");
printf("3
kafedra\n");
printf("3 - kafedra\n");
printf("\nVvedite
printf("\nVvedite 1,
1, 22 ili
ili 3:
3: ");
");
int
x;
int x;
scanf("%d",
scanf("%d", &x);
&x);
printf("\n");
printf("\n");
(\___/)
if
if (x==1)
(x==1)
(='.'=)
printf("(-(-_(-_-)_-)-)\n");
printf("(-(-_(-_-)_-)-)\n");
else
else
if
(")_(")
if (x==2)
(x==2)
printf("
__|__\n-----oo(_)oo-----\n");
printf("
__|__\n-----oo(_)oo-----\n");
else
else
{{
printf("
printf(" /__\\
/__\\ // __)(
__)( __ )(_
)(_ _)(
_)( )(
)( )\n");
)\n");
См.
См. ru.wikipedia.org/wiki/ASCII-графика
ru.wikipedia.org/wiki/ASCII-графика
printf("
printf(" /(__)\\
/(__)\\ \\__
\\__ \\
\\ )(_)(
)(_)( _)(_
_)(_ )(__)(
)(__)( \n");
\n");
printf("(__)(__)(___/(_____)(____)(______)\n");
printf("(__)(__)(___/(_____)(____)(______)\n");
}}
}}
getch();
getch();

5. Программа, анализирующая число

#include
#include <stdio.h>
<stdio.h>
#include
<conio.h>
#include <conio.h>
void
void main()
main()
{{
printf("Vvedite
printf("Vvedite N:
N: ");
");
int
N;
int N;
scanf("%d",
scanf("%d", &N);
&N);
printf("Vashe
printf("Vashe chislo
chislo ");
");
if
if (N
(N << 0)
0)
printf("otrizatelnoe");
printf("otrizatelnoe");
else
else
printf("ne
printf("ne otrizatelnoe");
otrizatelnoe");
if
if (N
(N %% 22 ==
== 0)
0)
printf(",
printf(", chetnoe");
chetnoe");
else
else
printf(",
printf(", ne
ne chetnoe");
chetnoe");
if
if (N
(N %% 10
10 ==
==
printf(",
printf(",
else
else
printf(",
printf(",
}}
0)
0)
krugloe");
krugloe");
Самостоятельные
Самостоятельные задания:
задания:
1)
1) доделать
доделать программу,
программу, чтобы
чтобы вв случае
случае ввода
ввода нуля
нуля выводилось,
выводилось, что
что это
это
ne
ne krugloe");
krugloe"); «неотрицательное
«неотрицательное целое»,
целое», ии больше
больше ничего;
ничего;
2)
2) доделать
доделать программу,
программу, чтобы
чтобы для
для чисел
чисел из
из интервала
интервала (100;
(100; 1000]
1000]
printf(".");
printf(".");
говорилось
говорилось «больше
«больше ста»,
ста», из
из интервала
интервала (1000;
(1000; 1000000]
1000000] говорилось
говорилось
_getch();
_getch();
«больше
«больше тысячи»,
тысячи», для
для чисел
чисел больше
больше 1000000
1000000 –– «больше
«больше миллиона»
миллиона»
(для
(для больших
больших чисел
чисел должно
должно выводиться
выводиться только
только одно
одно из
из утверждений).
утверждений).

6. Количество цифр в десятичной записи натурального числа

#include
#include
#include
#include
#include
#include
<stdio.h>
<stdio.h>
<conio.h>
<conio.h>
<math.h>
<math.h>
void
void main()
main()
{{
printf("Vvedite
printf("Vvedite naturalnoe
naturalnoe N:
N: ");
");
float
float x;
x;
scanf("%g",
scanf("%g", &x);
&x);
printf("\nlog10(%g)
printf("\nlog10(%g) == %g\n",
%g\n", x,
x, log10(x)
log10(x) );
);
int
int zz == log10(x);
log10(x);
zz == zz ++ 1;
1;
printf("=>
printf("=> vashem
vashem chisle
chisle %d
%d zifr.",
zifr.", zz );
);
}}
getch();
getch();
Компилятор
Компилятор выдаст
выдаст предупреждение
предупреждение
оо том,
том, что
что теряется
теряется дробная
дробная часть
часть
Самостоятельные
Самостоятельные задания:
задания:
1)
1) выводить
выводить ошибку,
ошибку, если
если введено
введено не
не натуральное
натуральное число;
число;
2)
2) просклонять
просклонять слово
слово «zifr»:
«zifr»: выводить
выводить «zifra»,
«zifra», «zifry»
«zifry» или
или «zifr»
«zifr» вв
зависимости
зависимости от
от вычисленного
вычисленного количества
количества цифр.
цифр.

7. Как ладье съесть пешку?

#include
#include
#include
#include
<stdio.h>
<stdio.h>
<conio.h>
<conio.h>
void
void main()
main()
{{
printf("Vvedite
printf("Vvedite (x,y)
(x,y) peshki:
peshki: ");
");
int
x,
y;
int x, y;
scanf("%d%d",
scanf("%d%d", &x,
&x, &y);
&y);
printf("Vvedite
printf("Vvedite (x,y)
(x,y) ladyi:
ladyi: ");
");
int
int a,
a, b;
b;
scanf("%d%d",
scanf("%d%d", &a,
&a, &b);
&b);
b);
b);
}}
||
|| –– оператор
оператор логического
логического «ИЛИ»
«ИЛИ»
&&
&& –– оператор
оператор логического
логического «И»
«И»
Самостоятельное
Самостоятельное задание:
задание: по
по заданным
заданным
координатам
координатам пешки
пешки ии ферзя
ферзя ответить
ответить на
на
вопрос,
вопрос, угрожает
угрожает ли
ли ферзь
ферзь пешке.
пешке.
if
if (x
(x ==
== aa ||
|| yy ==
== b)
b)
printf("Ladya
printf("Ladya EST
EST peshku!");
peshku!");
else
else
{{
printf("Ladya
printf("Ladya NE
NE EST
EST peshku!\n");
peshku!\n");
printf("Dvigay
printf("Dvigay na
na (%d,
(%d, %d)
%d) ili
ili (%d,
(%d, %d)!",
%d)!", a,
a, y,
y, x,
x,
}}
getch();
getch();

8. Формат вывода. Разница между float и double

float
float xx == acos(-1.0);
acos(-1.0);
printf("1000*pi
=\n\n");
printf("1000*pi
=\n\n");
double
double yy == acos(-1.0);
acos(-1.0);
float
xx == 1000*acos(-1.0);
float
1000*acos(-1.0);
printf("float
== %.8f\n",
printf("float
%.8f\n", xx );
);
printf("%%f
== %f\n",
xx );
printf("%%f
%f\n",
);
printf("double
== %.16lf\n",
yy );
printf("double
%.16lf\n",
);
printf("%%e
%e\n",
xx );
printf("%%e
%e\n",
);
printf("real
== 3.141592653589793238462..."
);
printf("real== pi
pi
3.141592653589793238462..."
);
printf("%%g
printf("%%g == %g\n\n",
%g\n\n", xx );
);
double
double yy == 1000*acos(-1.0);
1000*acos(-1.0);
printf("%%lf
printf("%%lf == %lf\n",
%lf\n", yy );
);
printf("%%le
printf("%%le == %le\n",
%le\n", yy );
);
printf("%%lg
printf("%%lg == %lg\n",
%lg\n", yy );
);
float
float –– 77 точных
точных знаков
знаков после
после запятой
запятой
double
double –– 15
15 точных
точных знаков
знаков после
после запятой
запятой
xx == acos(-1.0);
acos(-1.0);
printf("x
printf("x == %f\n",
%f\n", xx
printf("x
printf("x == %.3f\n",
%.3f\n",
printf("x
printf("x == %.0f\n",
%.0f\n",
);
);
xx );
);
xx );
);
xx == 1;
1;
printf("x
printf("x
printf("x
printf("x
printf("x
printf("x
);
);
xx );
);
xx );
);
==
==
==
%f\n",
%f\n", xx
%.3f\n",
%.3f\n",
%.0f\n",
%.0f\n",

9. Кирилические кодировки 866 и 1251

#include
#include <stdio.h>
<stdio.h>
#include
#include <conio.h>
<conio.h>
#include
<stdio.h>
#include
void
main()
void<stdio.h>
main()
#include
<conio.h>
#include
{{ <conio.h>
#include
<locale.h>
#includeprintf("ЏаЁўҐв!\n");
<locale.h>
printf("Привет!\n");
printf("Привет!\n");
printf("ЏаЁўҐв!\n");
_getch();
_getch();
void
main()
Консоль
void main()
Консоль работает
работает
}}
{{
вв кодировке
кодировке 866
866
setlocale(0,
setlocale(0, ".1251");
".1251");
printf("Файнэлли
printf("Файнэлли Ай
Ай кэн
кэн спик
спик Рашн!\n\n");
Рашн!\n\n");
Файл
printf("Введите
N:
Файл сс исходным
исходным
кодом
printf("Введите натуральное
натуральное
N: ");
"); кодом
написан
int
написан вв кодировке
кодировке 1251
1251
int N;
N;
scanf("%d",
scanf("%d", &N);
&N);
...
...
Консоль
Консоль работает
работает
вв кодировке
кодировке 1251
1251

10.

Задачи на программирование без циклов
Вычислить периметр и площадь треугольника по длинам его сторон.
Определить число значимых разрядов в M-ичной записи данного
натурального числа.
Перевести точку в декартовых координатах в полярную систему
координат и наоборот.
Найти интервал времени в секундах, когда начальное и конечное
время задано в часах, минутах и секундах.
Даны числа N и k. Определить число, которое получится в результате
исключения из числа N цифры в k-м разряде.
На шахматной доске на клетке с координатами (k, l) расположен конь.
Угрожает ли он клетке (m, n)?
Два треугольника заданы координатами своих вершин. Определите,
какой из треугольников имеет бóльшую площадь.
Остров Манхэттен был приобретен поселенцами за $24 в 1826 г.
Каково было бы в настоящее время состояние их счета, если бы эти
24 доллара были помещены тогда в банк под 6% годового дохода?
English     Русский Rules