Презентация на тему: Программирование на языке Си

Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
Программирование на языке Си
1/69
Средняя оценка: 4.8/5 (всего оценок: 12)
Код скопирован в буфер обмена
Скачать (556 Кб)
1

Первый слайд презентации: Программирование на языке Си

Тема 1. Основы алгоритмизации

Изображение слайда
2

Слайд 2

2 Алгоритм Свойства алгоритма дискретность : состоит из отдельных шагов (команд) понятность : должен включать только команды, известные исполнителю (входящие в СКИ) определенность : при одинаковых исходных данных всегда выдает один и тот же результат конечность : заканчивается за конечное число шагов массовость : может применяться многократно при различных исходных данных корректность : дает верное решение при любых допустимых исходных данных детерминированность : подразумевает четкую последовательность выполнения команд Алгоритм – это конечный набор команд для исполнителя.

Изображение слайда
3

Слайд 3

3 Программа Программа – это алгоритм, записанный на каком-либо языке программирования Язык программирования – это лингвистическая система (алфавит, синтаксис, семантика, прагматика), позволяющая реализовывать алгоритмы на компьютере Среда программирования – это программная среда состоящая из рабочей области, панелей инструментов и трансляторов

Изображение слайда
4

Слайд 4

4 Транслятор Интерпретатор Компилятор Транслятор, пошагово проверяющий правильность записи программы и одновременно выполняющий ее. Транслятор, проверяющий всю программу и делающий ее независимым от среды программирования приложением.

Изображение слайда
5

Слайд 5

5 Языки программирования Машинно-ориентированные (низкого уровня) - каждая команда соответствует одной команде процессора (ассемблер) Языки высокого уровня – приближены к естественному (английскому) языку, легче воспринимаются человеком, не зависят от конкретного компьютера для обучения : Бейсик, ЛОГО, Паскаль профессиональные : Си, Фортран, Паскаль для задач искусственного интеллекта : Пролог, ЛИСП для Интернета : JavaScript, Java, Perl, PHP, ASP

Изображение слайда
6

Слайд 6

6 Язык Си 197 2-1974 – Б. Керниган, Д. Ритчи высокая скорость работы программ много возможностей стал основой многих современных языков (С++, С #, Javascript, Java, ActionScript, PHP ) много шансов сделать ошибку, которая не обнаруживается автоматически

Изображение слайда
7

Слайд 7

7 Простейшая программа main() { } главная (основная) программа всегда имеет имя main начало программы «тело» программы (основная часть) конец программы Что делает эта программа? ?

Изображение слайда
8

Слайд 8

8 Что происходит дальше? main() { } first. cpp исходный файл first. o транслятор ЪБzЦ2?|ё3БКа n/36ШпIC+И- ЦЗ_5МyРЧб s6bд^:/@:лЖ1_ объектный файл стандартные функции редактор связей ( компоновка ) MZPо:ЄPэ_еЗ"!_ `кn,ЦbЄ-Щр1 G_БАC, _Ощях¤9жФ first. exe исполняемый файл по исходному файлу можно восстановить остальные исполняемый файл можно запустить ! текст программы на Си или Си++

Изображение слайда
9

Слайд 9

9 Этапы работы с программой на С Компилятор Включаемые файлы *. h Полный текст программы на С (файл example.c ) Текстовый редактор Исходный текст программы на С (файл example.c ) Препроцессор Объектный текст програм мы на С файл example.c ) Компоновщик Библио течные файлы Исполняемая Программа example.exe

Изображение слайда
10

Слайд 10

10 Вывод текста на экран #include <stdio.h> main() { printf(" Привет! "); } include = включить файл stdio.h : описание стандартных функций ввода и вывода вызов стандартной функции printf = print format ( форматный вывод ) этот текст будет на экране

Изображение слайда
11

Слайд 11

11 Как начать работу? здесь мы набираем программу сообщения об ошибках Открыть Новый Сохранить Закрыть

Изображение слайда
12

Слайд 12

12 Оболочка Dev C ++ 4.9 IDE = Integrated Development Environment интегрированная среда разработки: текстовый редактор для создания и редактирования текстов программ транслятор для перевода текстов программ на Си и Си++ в команды процессора компоновщик для создания исполняемого файла ( EXE- файла), подключаются стандартные функции отладчик для поиска ошибок в программах

Изображение слайда
13

Слайд 13

13

Изображение слайда
14

Слайд 14

14 Управление клавишами Новый файл (Создать) Ctrl+N Открыть файл Ctrl+O Сохранить файл Ctrl+S Закрыть окно с программой Ctrl-F4 Запуск программы F9 Отменить Ctrl-Z Восстановить отмененное Shift-Ctrl-Z

Изображение слайда
15

Слайд 15

15 Где ошибки? 2 x ЛКМ эта ошибка обнаружена здесь! Ошибка может быть в конце предыдущей строки! !

Изображение слайда
16

Слайд 16

16 Наиболее «популярные» ошибки xxx.h : No such file or directory не найден заголовочный файл 'xxx.h' (неверно указано его имя, он удален или т.п.) 'xxx‘ undeclared (first use this function) функция или переменная ' xxx ' неизвестна missing terminating " character не закрыты кавычки " expected ; нет точки с запятой в конце оператора в предыдущей строке expected } не закрыта фигурная скобка

Изображение слайда
17

Слайд 17

17 Ждем нажатия любой клавиши #include <stdio.h> #include <conio.h> main() { printf(" Привет! "); // вывод на экран /* ждать нажатия клавиши */ } файл conio.h : описание функций для работы с клавиатурой и монитором ждать нажатия на любую клавишу комментарий до конца строки комментарий между /* и */ getch();

Изображение слайда
18

Слайд 18

18 Переход на новую строку #include <stdio.h> #include <conio.h> main() { printf(" Привет, \ n Вася! "); getch(); } Привет, Вася! на экране: последовательность \n (код 10) переход на новую строку \ n

Изображение слайда
19

Слайд 19

19 Что такое переменная? Переменная – это ячейка в памяти компьютера, которая имеет имя и хранит некоторое значение. Значение переменной может меняться во время выполнения программы. При записи в ячейку нового значения старое стирается. Типы переменных int – целое число ( 4 байта) float – вещественное число, floating point (4 байта) char – символ, character (1 байт)

Изображение слайда
20

Слайд 20

20 Имена переменных Могут включать латинские буквы ( A-Z, a-z) знак подчеркивания _ цифры 0-9 НЕ могут включать русские буквы пробелы скобки, знаки +, =, !, ? и др. Имя не может начинаться с цифры! ! Какие имена правильные? AXby R&B 4Wheel Вася “PesBarbos” TU154 [QuQu] _ABBA A+B

Изображение слайда
21

Слайд 21

21 Объявление переменных Объявить переменную = определить ее имя, тип, начальное значение, и выделить ей место в памяти. main() { int a; float b, c; int Tu104, Il86=23, Yak42; float x=4.56, y, z; char c, c2='A', m; } Если начальное значение не задано, в этой ячейке находится «мусор»! ! целая переменная a вещественные переменные b и c целые переменные Tu104, Il86 и Yak42 Il86 = 23 вещественные переменные x, y и z x = 4,56 · целая и дробная части отделяются точкой символьные переменные c, c2 и m c2 = 'A'

Изображение слайда
22

Слайд 22

22 Название Размер char (символьный) 8 от–128 до 127 signed char (знаковый символьный) 8 от–128 до 127 short int (короткое целое) 16 от–32768 до 32767 unsigned int ( беззнаковое целое) 16 от 0 до 65535 (16-битная платформа) от 0 до 4294967295 (32-битная платформа) int (целое) 16 32 от–32768 до 32767 (16-битная платформа) от –2147483648 до 2147483647 (32-битная платформа) long (длинное целое) 32 от–2147483648 до 2147483647 unsigned long (длинное целое без знака) 32 от 0 до 4294967295 long long int (C99) 64 от–(2 63 –1) до 2 63 –1 unsigned long long int (C99) 64 от 0 до 2 64 –1 float (вещественное) 32 от 3.4E–38 до 3.4E38 double (двойное вещественное) 64 от 1.7E–308 до 1.7E308 long double (длинное вещественное) 80 от 3.4E–4932 до 3.4E4932 Bool (C99) 8 true (1), false (0)

Изображение слайда
23

Слайд 23

23 Оператор присваивания Оператор – это команда языка программирования высокого уровня. Оператор присваивания служит для изменения значения переменной. Пример a = 5; x = a + 20; y = (a + x) * (x – a); ? a 5 5 ? x 5+20 25 ? y 600 30*20

Изображение слайда
24

Слайд 24

24 Оператор присваивания Общая структура: Арифметическое выражение может включать константы ( постоянные) имена переменных знаки арифметических операций: + - * / % вызовы функций круглые скобки ( ) умножение деление остаток от деления имя переменной = выражение ; куда записать что Для чего служат круглые скобки? ?

Изображение слайда
25

Слайд 25

25 Знак операции Операция * Умножение / Деление % Остаток от деления + Сложение - Вычитание a bs () модуль вещественного числа f abs () модуль целого числа sqrt( x ) pow(x,y) x y << Сдвиг влево >> Сдвиг вправо < Меньше <= Меньше или равно >= Больше или равно == Равно != Не равно & Поразрядное И | Поразрядное ИЛИ ^ Поразрядное исключающее ИЛИ && Логическое И || Логическое ИЛИ

Изображение слайда
26

Слайд 26

26 main() { int a, b; float x, y; a = 5; 10 = x; y = 7, 8; b = 2.5; x = 2*(a + y); a = b + x; } Какие операторы неправильные? имя переменной должно быть слева от знака = целая и дробная часть отделяются точкой при записи вещественного значения в целую переменную дробная часть будет отброшена

Изображение слайда
27

Слайд 27

27 Особенность деления в Си При делении целых чисел остаток отбрасывается! ! main() { int a = 7; float x; x = a / 4 ; x = 4 / a; x = float(a) / 4 ; x = 1.*a / 4 ; } 1 0 1.75 1.75

Изображение слайда
28

Слайд 28

28 Сокращенная запись операций в Си полная запись сокращенная запись инкремент декремент a = a + 1; a++; a = a + b; a += b; a = a - 1; a--; a = a – b; a -= b; a = a * b; a *= b; a = a / b; a /= b; a = a % b; a %= b;

Изображение слайда
29

Слайд 29

29 Ручная прокрутка программы main() { int a, b; a = 5; b = a + 2; a = (a + 2)*(b – 3); b = a / 5; a = a % b; a++; b = (a + 14) % 7; } a b 5 7 28 5 3 4 4 ? ?

Изображение слайда
30

Слайд 30

30 Порядок выполнения операций вычисление выражений в скобках умножение, деление, % слева направо сложение и вычитание слева направо 2 3 5 4 1 7 8 6 9 z = ( 5*a*c+3*(c-d))/a*(b-c)/ b; 2 6 3 4 7 5 1 12 8 11 10 9 x = ( a*a+5*c*c-d*(a+b))/((c+d)*(d-2*a));

Изображение слайда
31

Слайд 31

31 Сложение двух чисел Задача. Ввести два целых числа и вывести на экран их сумму. Простейшее решение: #include <stdio.h> #include <conio.h> main() { int a, b, c; printf(" Введите два целых числа \n"); scanf ("%d%d", &a, &b); c = a + b; printf("%d", c); getch(); } подсказка для ввода ввод двух чисел с клавиатуры вывод результата

Изображение слайда
32

Слайд 32

32 Ввод чисел с клавиатуры scanf ("%d%d", & a, & b); формат ввода scanf – форматный ввод адреса ячеек, куда записать введенные числа Формат – символьная строка, которая показывает, какие числа вводятся (выводятся). % d – целое число %f – вещественное число %c – 1 символ %s – символьная строка 12 7652 a – значение переменной a &a – адрес переменной a ждать ввода с клавиатуры двух целых чисел (через пробел или Enter ), первое из них записать в переменную a, второе – в b

Изображение слайда
33

Слайд 33

33 Что неправильно? int a, b; scanf ("%d", a); scanf ("%d", &a, &b); scanf ("%d%d", &a); scanf ("%d %d", &a, &b); scanf ("%f%f", &a, &b); &a %d%d &a, &b убрать пробел %d%d

Изображение слайда
34

Слайд 34

34 Вывод чисел на экран printf ("%d", c); здесь вывести целое число это число взять из ячейки c printf (" Результат: %d", c); printf ("%d +% d=%d", a, b, c ); формат вывода список значений a, b, c printf ("%d +% d=%d", a, b, a+b ); арифметическое выражение

Изображение слайда
35

Слайд 35

35 Вывод целых чисел int x = 1234; printf ("%d", x); 1234 printf ("%9d", x); минимальное число позиций 1234 всего 9 позиций или " %i" или " %9i" 5 4

Изображение слайда
36

Слайд 36

36 Вывод вещественных чисел float x = 123.4567; printf ("%f", x); 123.456700 printf ("% 9.3 f", x); минимальное число позиций, 6 цифр в дробной части 123.456 всего 9 позиций, 3 цифры в дробной части printf ("%e", x); 1.234560e+02 стандартный вид: 1,23456 ·10 2 printf ("%10.2e", x); 1.23e+02 всего 10 позиций, 2 цифры в дробной части мантиссы

Изображение слайда
37

Слайд 37

37 Полное решение #include <stdio.h> #include <conio.h> main() { int a, b, c; printf(" Введите два целых числа \n"); scanf("%d%d", &a, &b); c = a + b; printf("%d+%d=%d", a, b, c); getch(); } Протокол : Введите два целых числа 25 30 25+30=55 это выводит компьютер это вводит пользователь

Изображение слайда
38

Слайд 38

38 Задания «5»: Ввести три числа, найти их сумму, произведение и среднее арифметическое. Пример: Введите три числа: 4 5 7 4+5+7=16 4*5*7=140 (4+5+7) / 3 =5.33

Изображение слайда
39

Слайд 39: Программирование на языке Си

Тема 2. Основные алгоритмические конструкции

Изображение слайда
40

Слайд 40

40 Условный оператор if ( условие ) { // что делать, если условие верно } else { // что делать, если условие неверно } Особенности: вторая часть ( else …) может отсутствовать (неполная форма) если в блоке один оператор, можно убрать { }

Изображение слайда
41

Слайд 41

41 Вариант 1. Программа main() { int a, b, max; printf(" Введите два целых числа \n"); scanf("%d%d", & a, & b ); if (a > b) { } else { } printf(" Наибольшее число %d", max); } max = a ; max = b ; полная форма условного оператора

Изображение слайда
42

Слайд 42

42 Что неправильно? if a > b { a = b; } else b = a; if ( a > b ) { a = b; else b = a; if ( a > b ) else b = a; if ( a > b ) a = b; c = 2*a; else b = a; } ( ) } { a = b;

Изображение слайда
43

Слайд 43

43 Вариант 2. Блок-схема неполная форма ветвления начало max = a; ввод a,b вывод max max = b; конец да нет b > a?

Изображение слайда
44

Слайд 44

44 Вариант 2. Программа main() { int a, b, max; printf(" Введите два целых числа \n"); scanf("%d%d", &a, &b ); max = a; if (b > a) printf(" Наибольшее число %d", max); } max = b ; неполная форма условного оператора

Изображение слайда
45

Слайд 45

45 Сложные условия Задача. Фирма набирает сотрудников от 25 до 40 лет включительно. Ввести возраст человека и определить, подходит ли он фирме (вывести ответ «подходит» или «не подходит» ). Особенность: надо проверить, выполняются ли два условия одновременно. Можно ли решить известными методами ? ?

Изображение слайда
46

Слайд 46

46 Вариант 1. Алгоритм начало ввод x ' подходит ' конец да нет x >= 25? да нет x < = 40? ' не подходит ' ' не подходит '

Изображение слайда
47

Слайд 47

47 Вариант 1. Программа main() { int x; printf(" Введите возраст \n"); scanf("%d", &x); if (x >= 25) if (x <= 40) printf(" Подходит "); else printf(" Не подходит "); else printf(" Не подходит "); }

Изображение слайда
48

Слайд 48

48 Сложные условия Сложное условие – это условие, состоящее из нескольких простых условий (отношений), связанных с помощью логических операций : ! – НЕ ( not, отрицание, инверсия) && – И ( and, логическое умножение, конъюнкция, одновременное выполнение условий) || – ИЛИ ( or, логическое сложение, дизъюнкция, выполнение хотя бы одного из условий) Простые условия (отношения) < <= > >= == != равно не равно

Изображение слайда
49

Слайд 49

49 Сложные условия Порядок выполнения сложных условий: выражения в скобках ! (НЕ, отрицание) <, <=, >, >= = =, != && ( И) || ( ИЛИ) Пример: 2 1 6 3 5 4 if ( ! (a > b) || c != d && b == a) { ... }

Изображение слайда
50

Слайд 50

50 Циклы Цикл – это многократное выполнение одинаковой последовательности действий. цикл с известным числом шагов цикл с неизвестным числом шагов (цикл с условием) Задача. Вывести на экран квадраты и кубы целых чисел от 1 до 8 (от a до b ). Особенность: одинаковые действия выполняются 8 раз. Можно ли решить известными методами ? ?

Изображение слайда
51

Слайд 51

51 Алгоритм начало i, i2, i3 конец нет да i <= 8? i = 1; i = i + 1; i2 = i * i; i3 = i2 * i; задать начальное значение переменной цикла проверить, все ли сделали вычисляем квадрат и куб вывод результата перейти к следующему i

Изображение слайда
52

Слайд 52

52 Алгоритм ( с блоком «цикл») начало i, i2, i3 конец i2 = i * i; i3 = i2 * i; i = 1,8 блок «цикл» тело цикла

Изображение слайда
53

Слайд 53

53 Программа main() { int i, i2, i3; for (i=1; i<=8; i++) { i2 = i*i; i3 = i2*i; printf("%4d %4d %4d\n", i, i2, i3); } } for (i=1; i<=8; i++) { i2 = i*i; i3 = i2*i; printf("%4d %4d %4d\n", i, i2, i3); } переменная цикла начальное значение конечное значение изменение на каждом шаге: i=i+1 ровные столбики цикл работает, пока это условие верно цикл начало цикла конец цикла заголовок цикла for (i=1; i<=8; i++) i2 = i*i; i3 = i2*i; printf("%4d %4d %4d\n", i, i2, i3); тело цикла

Изображение слайда
54

Слайд 54

54 Цикл с уменьшением переменной Задача. Вывести на экран квадраты и кубы целых чисел от 8 до 1 (в обратном порядке). Особенность: переменная цикла должна уменьшаться. Решение: for ( ) { i2 = i*i; i3 = i2*i; printf("%4d %4d %4d\n", i, i2, i3); } i = 8; i >= 1; i --

Изображение слайда
55

Слайд 55

55 Цикл с переменной for ( начальные значения ; условие продолжения цикла ; изменение на каждом шаге ) { // тело цикла } Примеры: for (a = 2; a < b; a+=2) {... } for (a = 2, b = 4; a < b; a+=2) {... } for (a = 1; c < d; x++) {... } for (; c < d; x++) {... } for (; c < d; ) {... }

Изображение слайда
56

Слайд 56

56 Цикл с переменной Особенности: условие проверяется в начале очередного шага цикла, если оно ложно цикл не выполняется; изменения (третья часть в заголовке) выполняются в конце очередного шага цикла; если условие никогда не станет ложным, цикл может продолжаться бесконечно ( зацикливание ) если в теле цикла один оператор, скобки {} можно не ставить: for ( i= 1 ; i<8; i++) { i-- ; } for ( i = 1 ; i < 8; i++) a += b ; Не рекомендуется менять переменную цикла в теле цикла! !

Изображение слайда
57

Слайд 57

57 for ( i=8 ; i>=1; i--) printf(" Привет " ); printf ( "i=%d", i ) ; Цикл с переменной Особенности: после выполнения цикла во многих системах устанавливается первое значение переменной цикла, при котором нарушено условие: for ( i= 1 ; i<=8; i++) printf(" Привет " ); printf ( "i=%d", i ) ; i=9 i=0

Изображение слайда
58

Слайд 58

58 Сколько раз выполняется цикл? a = 1; for(i= 1 ; i<4; i++) a++; a = 4 a = 1; b=2; for(i=3; i >= 1; i--)a += b; a = 7 a = 1; for(i= 1 ; i >= 3; i--)a = a+1; a = 1 a = 1; for(i=1; i<= 4; i--) a ++; зацикливание a = 1; for(i= 1 ; i<4; i++) a = a+i; a = 7

Изображение слайда
59

Слайд 59

59 Задания «4»: Ввести a и b и вывести квадраты и кубы чисел от a до b. Пример: Введите границы интервала: 4 6 4 16 64 5 25 125 6 36 216 «5»: Вывести квадраты и кубы 10 чисел следующей последовательности: 1, 2, 4, 7, 11, 16, … Пример: 1 1 1 2 4 8 4 16 64 ... 46 2116 97336

Изображение слайда
60

Слайд 60

60 Цикл с неизвестным числом шагов Пример: Отпилить полено от бревна. Сколько раз надо сделать движения пилой? Задача: Ввести целое число ( <2000000) и определить число цифр в нем. Идея решения: Отсекаем последовательно последнюю цифру, увеличиваем счетчик. Проблема: Неизвестно, сколько шагов надо сделать. Решение: Надо остановиться, когда n = 0, т.е. надо делать «пока n != 0 ». n count 123 0 12 1 1 2 0 3

Изображение слайда
61

Слайд 61

61 Алгоритм начало count конец нет да n != 0? count = 0 ; count = count + 1; n = n / 10; обнулить счетчик цифр ввод n выполнять «пока n != 0 »

Изображение слайда
62

Слайд 62

62 Программа main() { int n, count ; printf(" Введите целое число \n" ); scanf("%d", &n); count = 0; while (n != 0) { count ++; n = n / 10; } printf(" В числе %d нашли %d цифр ", n, count ); } n1 = n; n1, выполнять «пока n != 0 » Что плохо ? ? , n1;

Изображение слайда
63

Слайд 63

63 Цикл с условием while ( условие ) { // тело цикла } Особенности: можно использовать сложные условия: если в теле цикла только один оператор, скобки {} можно не писать: while ( a < b && b < c ) {... } while ( a < b ) a ++;

Изображение слайда
64

Слайд 64

64 Цикл с условием Особенности: условие пересчитывается каждый раз при входе в цикл если условие на входе в цикл ложно, цикл не выполняется ни разу если условие никогда не станет ложным, программа зацикливается a = 4; b = 6; while ( a > b ) a = a– b; a = 4; b = 6; while ( a < b ) d = a + b;

Изображение слайда
65

Слайд 65

65 Сколько раз выполняется цикл ? a = 4; b = 6; while ( a < b ) a ++; 2 раза a = 6 a = 4; b = 6; while ( a < b ) a += b ; 1 раз a = 10 a = 4; b = 6; while ( a > b ) a ++; 0 раз a = 4 a = 4; b = 6; while ( a < b ) b = a - b; 1 раз b = -2 a = 4; b = 6; while ( a < b ) a --; зацикливание

Изображение слайда
66

Слайд 66

66 Цикл с постусловием Задача: Ввести целое положительное число ( <2000000) и определить число цифр в нем. Проблема: Как не дать ввести отрицательное число или ноль? Решение: Если вводится неверное число, вернуться назад к вводу данных (цикл!). Особенность: Один раз тело цикла надо сделать в любом случае  проверку условия цикла надо делать в конце цикла (цикл с постусловием ). Цикл с постусловием – это цикл, в котором проверка условия выполняется в конце цикла.

Изображение слайда
67

Слайд 67

67 Цикл с постусловием: алгоритм начало конец нет да n <= 0? тело цикла условие блок «типовой процесс» ввод n основной алгоритм

Изображение слайда
68

Слайд 68

68 Программа main() { int n; do { printf(" Введите положительное число \n"); scanf("%d", &n); } while ( n <= 0 ); ... // основной алгоритм } условие Особенности: тело цикла всегда выполняется хотя бы один раз после слова while («пока…» ) ставится условие продолжения цикла

Изображение слайда
69

Последний слайд презентации: Программирование на языке Си

69 Сколько раз выполняется цикл ? a = 4; b = 6; do { a ++; } while (a <= b); 3 раза a = 7 a = 4; b = 6; do { a += b ; } while ( a <= b ); 1 раз a = 10 a = 4; b = 6; do { a += b ; } while ( a >= b ); зацикливание a = 4; b = 6; do b = a - b ; while ( a >= b ); 2 раза b = 6 a = 4; b = 6; do a += 2 ; while ( a >= b ); зацикливание

Изображение слайда