Основы алгоритмизации и программирования

Содержание

Слайд 2

Основные типы данных

Основные типы данных

Слайд 3

Составить таблицу символов #include void main() { char ch = '

Составить таблицу символов

#include
void main() {
char ch = ' ';
int i

= 0;
do {
printf("%4d--> '%c'\t", ch, ch);
ch = ch + 1;
i = i + 1;
} while (i <= 256);
}
Слайд 4

Основные типы данных (ASCII)

Основные типы данных (ASCII)

Слайд 5

Подсчитать MAX short void main() { short i = 1; long

Подсчитать MAX short

void main() {
short i = 1;
long n = 0;
do

{
i = i + 1;
n = n + 1;
} while (i > 0);
printf("%li\n", n);
}
Слайд 6

Основные типы данных

Основные типы данных

Слайд 7

Сколько байт в short и long? void main() { short i;

Сколько байт в short и long?

void main() {
short i;
long l;
printf("sizeof short

= %d\n", sizeof(i));
printf("sizeof long = %d\n", sizeof(l));
}
Слайд 8

Основные типы данных

Основные типы данных

Слайд 9

Основные типы данных

Основные типы данных

Слайд 10

Строка форматирования Консоль – что из себя представляет. Знакоместо – что это такое.

Строка форматирования

Консоль – что из себя представляет.
Знакоместо – что

это такое.
Слайд 11

Поиск корней квадратного уравнения #define _CRT_SECURE_NO_WARNINGS #include #include void main() {

Поиск корней квадратного уравнения

#define _CRT_SECURE_NO_WARNINGS
#include
#include
void main() {
double a, b,

c;
double D;
double x1, x2;
scanf("%lf", &a);
scanf("%lf", &b);
scanf("%lf", &c);
D = b * b - 4 * a * c;
x1 = (-b + sqrt(D)) / (2 * a);
x2 = (-b - sqrt(D)) / (2 * a);
printf("x1 = %lf", x1);
printf("x2 = %lf", x2);
}
Слайд 12

Слайд 13

#include void main() { int i = 1; int a =

#include
void main() {
int i = 1;
int a = 1, b

= 2, c = 3, d = 4, e = 5, f = 6;
do {
printf("%d ", i);
if (a < b) {
for (b = d; b < f; b++) {
a = c;
while (a < f) {
d += a;
a++;
}
c = a;
}
e += d;
}
Слайд 14

else { for (f = e; f > a; f--) {

else {
for (f = e; f > a; f--) {
if (c

< a) {
c = a;
d++;
break;
}
f += a;
}
}
i++;
} while (i <= 5);
printf("%d %d %d", d, e, f);
}
Слайд 15

Цикл for int j = i; // инициализация счетчика цикла while

Цикл for

int j = i; // инициализация счетчика цикла
while (j <=

5) { // условие продолжения цикла
printf(“%d “, j);
j++; // изменение счетчика цикла
}
Слайд 16

Цикл for (2) for (int j = i; j printf(“%d “, j); }

Цикл for (2)

for (int j = i; j <= 5; j++)

{
printf(“%d “, j);
}
Слайд 17

Слайд 18

Развилка if (Условие) Действие1; else Действие2;

Развилка

if (Условие)
Действие1;
else
Действие2;

Слайд 19

Найти максимум - полная развилка if (val1 > val2) { max_val

Найти максимум - полная развилка

if (val1 > val2) {
max_val = val1;
}

else {
max_val = val2;
}
Слайд 20

Усеченная развилка if (Условие) { Действие; }

Усеченная развилка

if (Условие) {
Действие;
}

Слайд 21

Минимум из 3 чисел void main() { int val1 = 9;

Минимум из 3 чисел

void main() {
int val1 = 9;
int

val2 = 10;
int val3 = 6;
int min_val = val1; // берем за минимальный val1
if (val2 < min_val) { // если второе меньше
min_val = val2; // то теперь минимальное val2
}
if (val3 < min_val) { // если третье меньше
min_val = val3; // то теперь минимальное val3
}
printf("min_val = %i", min_val);
}
Слайд 22

Вложенные развилки if (Условие 1) { Действие 1 } else {

Вложенные развилки

if (Условие 1) {
Действие 1
} else {
if (Условие 2) {
Действие

2
} else {
Действие 3
}
}
if (Условие 1) {
Действие 1
} else if (Условие 2) {
Действие 2
} else {
Действие 3
}
Слайд 23

Штраф за превышение скорости

Штраф за превышение скорости

Слайд 24

Штраф за превышение скорости – полная развилка void main() { int

Штраф за превышение скорости – полная развилка

void main() {
int v_max =

40;
int v = 30;
if (v <= v_max) {
printf("All right!");
} else if (v <= v_max + 20) {
printf("No $$$");
} else if (v <= v_max + 40) {
printf("500");
} else if (v <= v_max + 60) {
printf("1000-1500");
} else if (v <= v_max + 80) {
printf("2000-2500");
} else {
printf("5000");
}
}
Слайд 25

Штраф за превышение скорости

Штраф за превышение скорости

Слайд 26

Штраф за превышение скорости – усеченная развилка void main() { int

Штраф за превышение скорости – усеченная развилка

void main() {
int v_max

= 40;
int v = 70;
if (v <= v_max) {
printf("Все по правилам!");
}
if ((v > v_max) && (v <= v_max + 20)) {
printf("не штрафуется");
}
if ((v > v_max + 20) && (v <= v_max + 40)) {
printf("500");
}
if ((v > v_max + 40) && (v <= v_max + 60)) {
printf("1000-1500");
}
if ((v > v_max + 60) && (v <= v_max + 80)) {
printf("2000-2500");
}
if (v > v_max + 80) {
printf("5000");
}
}
Слайд 27

Логические операции if (time = 6) rest(); if (!closed && money > 1000) eat();

Логические операции

if (time < 7.00 || day >= 6) rest();
if

(!closed && money > 1000) eat();
Слайд 28

Цикл с постусловием do while do { Действие; } while (Условие);

Цикл с постусловием do while

do {
Действие;
} while (Условие);

Слайд 29

Пример для цикла do while Население города увеличивается на 3% каждый

Пример для цикла do while

Население города увеличивается на 3% каждый год.

В 2014 году население города составляло 650 000 человек. Напишите программу, которая выведет на экран предсказываемую численность населения города в каждом году, вплоть до 2040.
Слайд 30

Блок-схема

Блок-схема

Слайд 31

Программа void main() { int year = 2014; long population =

Программа

void main() {
int year = 2014;
long population = 650000;

do {
printf("%li inhabitants live in the city in %i\n",
population, year);
population = (population * 103) / 100;
year = year + 1;
} while (year <= 2040);
}
Слайд 32

Программа в работе

Программа в работе

Слайд 33

Задача 1. Ряд натуральных чисел Вводится N. Нужно вывести натуральные числа от 1 до N (включительно).

Задача 1. Ряд натуральных чисел

Вводится N.
Нужно вывести натуральные числа от 1

до N (включительно).
Слайд 34

Задача 1. Ряд натуральных чисел Вводится N. Нужно вывести натуральные числа

Задача 1. Ряд натуральных чисел

Вводится N.
Нужно вывести натуральные числа от 1

до N (включительно).
(Ниже – программа целиком)
Слайд 35

Задача 1. Ряд натуральных чисел – трассировка(0)

Задача 1. Ряд натуральных чисел – трассировка(0)

Слайд 36

Задача 1. Ряд натуральных чисел – трассировка(1)

Задача 1. Ряд натуральных чисел – трассировка(1)

Слайд 37

Задача 1. Ряд натуральных чисел – трассировка(2)

Задача 1. Ряд натуральных чисел – трассировка(2)

Слайд 38

Задача 1. Ряд натуральных чисел – трассировка(3)

Задача 1. Ряд натуральных чисел – трассировка(3)

Слайд 39

Задача 1. Ряд натуральных чисел – трассировка(4)

Задача 1. Ряд натуральных чисел – трассировка(4)

Слайд 40

Задача 1. Ряд натуральных чисел – трассировка(5)

Задача 1. Ряд натуральных чисел – трассировка(5)

Слайд 41

Задача 1. Ряд натуральных чисел – трассировка(6)

Задача 1. Ряд натуральных чисел – трассировка(6)

Слайд 42

Задача 1. Ряд натуральных чисел – трассировка(7)

Задача 1. Ряд натуральных чисел – трассировка(7)

Слайд 43

Задача 1. Ряд натуральных чисел – трассировка(8)

Задача 1. Ряд натуральных чисел – трассировка(8)

Слайд 44

Задача 1. Ряд натуральных чисел – трассировка(9)

Задача 1. Ряд натуральных чисел – трассировка(9)

Слайд 45

Задача 1. Ряд натуральных чисел – трассировка(10)

Задача 1. Ряд натуральных чисел – трассировка(10)

Слайд 46

Задача 1. Ряд натуральных чисел – трассировка(11)

Задача 1. Ряд натуральных чисел – трассировка(11)

Слайд 47

Задача 1. Ряд натуральных чисел – трассировка(12)

Задача 1. Ряд натуральных чисел – трассировка(12)

Слайд 48

Задача 1. Ряд натуральных чисел – трассировка(13)

Задача 1. Ряд натуральных чисел – трассировка(13)

Слайд 49

Задача 1. Ряд натуральных чисел – трассировка(14)

Задача 1. Ряд натуральных чисел – трассировка(14)

Слайд 50

Задача 1. Ряд натуральных чисел – трассировка(15)

Задача 1. Ряд натуральных чисел – трассировка(15)

Слайд 51

Задача 1. Ряд натуральных чисел – трассировка(16)

Задача 1. Ряд натуральных чисел – трассировка(16)

Слайд 52

Задача 1. Ряд натуральных чисел Вводится N. Нужно вывести натуральные числа

Задача 1. Ряд натуральных чисел

Вводится N.
Нужно вывести натуральные числа от 1

до N (включительно).
Нарисуйте блок схему к Задаче 1.
Слайд 53

Отладка программы Можно использовать горячие клавиши:

Отладка программы

Можно использовать горячие клавиши:

Слайд 54

Цикл с предусловием while while (Условие) { Действие; }

Цикл с предусловием while

while (Условие) {
Действие;
}

Слайд 55

Пример кода с while int j = 1; // инициализация счетчика

Пример кода с while

int j = 1; // инициализация счетчика цикла
while

(j <= 5) { // условие продолжения цикла
printf(“%d “, j);
j++; // изменение счетчика цикла
}
Слайд 56

Пример кода с while - трассировка int j = 1; //

Пример кода с while - трассировка

int j = 1; // инициализация

счетчика цикла
while (j <= 5) { // условие продолжения цикла
printf(“%d “, j);
j++; // изменение счетчика цикла
}
Слайд 57

Слайд 58

Домашнее задание (желательное) В режиме пошаговой отладки («дебага») выполнить несколько (3-5)

Домашнее задание (желательное)

В режиме пошаговой отладки («дебага») выполнить несколько (3-5) циклических

фрагментов кода.
В режиме пошаговой отладки выполнить код, содержащий развилки.
* В режиме пошаговой отладки выполнить код, содержащий функции
*** В режиме пошаговой отладки выполнить код, содержащий рекурсивные функции