Лекция 8 В ложенные циклы. Сквозной проект – этап 2 ЛР 1 2. Вложенные — презентация
logo
Лекция 8 В ложенные циклы. Сквозной проект – этап 2 ЛР 1 2. Вложенные
  • Лекция 8 В ложенные циклы. Сквозной проект – этап 2 ЛР 1 2. Вложенные
  • Лекция 8 В ложенные циклы. Сквозной проект – этап 2 ЛР 1 2. Вложенные
  • Вложенные циклы
  • Пример с вложенными DO WHILE
  • Пример с вложенными DO WHILE - реализация
  • Пример с вложенными DO WHILE - трассировка
  • Пример с вложенными DO WHILE – трассировка (2)
  • Пример 2
  • Пример 2 - реализация
  • Пример 2 - трассировка
  • Лекция 8 В ложенные циклы. Сквозной проект – этап 2 ЛР 1 2. Вложенные
  • Лабораторная работа №12
  • Задача 0
  • Задача 1
  • Задача 1. Блок-схема
  • Задача 2
  • ЛР 1 2 : Задания на закрепление и отработку
  • Варианты для Задачи 3 *
  • Пример реализации Задачи 3 *
  • Варианты для Задачи 4* *
  • Лекция 8 В ложенные циклы. Сквозной проект – этап 2 ЛР 1 2. Вложенные
  • Воспоминания про Самостоятельные работы образца 2022-
  • Задача 21 A – на разбор
  • Задача 21 A – блок-схема
  • Задача 2 2A – на разбор
  • Задача 2 2A – блок-схема
  • Задача 2 3A – на разбор
  • Задача 2 3A – блок-схема
  • Лекция 8 В ложенные циклы. Сквозной проект – этап 2 ЛР 1 2. Вложенные
  • [ Сквозной ] Проект – Этап 2
  • Лекция 8 В ложенные циклы. Сквозной проект – этап 2 ЛР 1 2. Вложенные
  • ИТОГО по лекции 8
  • Термины 1
  • Термины 2
  • Термины 3
  • Термины 4
  • Термины 5
1/37

Первый слайд презентации

Лекция 8 В ложенные циклы. Сквозной проект – этап 2 ЛР 1 2. Вложенные циклы СП2. Сквозной Проект – Этап 2. Индивидуальный проект КЭИ УлГТУ 1 курс Власенко Олег Федосович SimbirSoft

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

Слайд 2

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

Слайд 3: Вложенные циклы

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

Слайд 4: Пример с вложенными DO WHILE

Нужно вывести 3 строки, содержащие числа от 1 до 4 каждая. Вывод для этого примера должен быть таким: 1 2 3 4 1 2 3 4 1 2 3 4

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

Слайд 5: Пример с вложенными DO WHILE - реализация

Нужно вывести 3 строки, содержащие числа от 1 до 4 каждая. Вывод для этого примера должен быть таким: 1 2 3 4 1 2 3 4 1 2 3 4 void Example1() { printf ( "Example1() START\n" ); int i, j; i = 1; do { j = 1; do { printf ( "%d ", j); j++ ; } while (j <= 4); printf ( "\n" ); i ++; } while ( i <= 3); printf ( "Example1() FINISH\n" ); }

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

Слайд 6: Пример с вложенными DO WHILE - трассировка

Нужно вывести 3 строки, содержащие числа от 1 до 4 каждая. Вывод для этого примера должен быть таким: 1 2 3 4 1 2 3 4 1 2 3 4 i j j <= 4 i <= 3 Вывод void Example1() { printf ( "Example1() START\n" ); int i, j; i = 1; do { j = 1; do { printf ( "%d ", j); j++ ; } while (j <= 4); printf ( "\n" ); i ++; } while ( i <= 3); printf ( "Example1() FINISH\n" ); }

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

Слайд 7: Пример с вложенными DO WHILE – трассировка (2)

Нужно вывести 3 строки, содержащие числа от 1 до 4 каждая. Вывод для этого примера должен быть таким: 1 2 3 4 1 2 3 4 1 2 3 4 i j j <= 4 i <= 3 Вывод 1 start 1 1 2 + 2 3 + 3 4 + 4 5 - \n 2 + 1 1 2 + 2 3 + 3 4 + 4 5 - \n 3 + 1 1 2 + 2 3 + 3 4 + 4 5 - \n 4 - finish

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

Слайд 8: Пример 2

Нужно вывести время с шагом 10 минут. Вывод должен выглядеть так: 00:00 00:10 00:20 00:30 00:40 00:50 01:00 01:10 01:20 01:30 01:40 01:50 …. 23:00 23:10 23:20 23:30 23:40 23:50

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

Слайд 9: Пример 2 - реализация

Нужно вывести время с шагом 10 минут. Вывод должен выглядеть так: 00:00 00:10 00:20 00:30 00:40 00:50 01:00 01:10 01:20 01:30 01:40 01:50 …. 23:00 23:10 23:20 23:30 23:40 23:50 void Example2() { printf ( "Example2() START\n" ); int h = 0; do { int m = 0; do { printf( "%02d:%02d ", h, m); m += 10; } while (m < 60); printf ( "\n" ); h++; } while (h < 24); printf ( "Example2() FINISH\n" ); }

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

Слайд 10: Пример 2 - трассировка

Нужно вывести время с шагом 10 минут. Вывод должен выглядеть так: 00:00 00:10 00:20 00:30 00:40 00:50 01:00 01:10 01:20 01:30 01:40 01:50 …. 23:00 23:10 23:20 23:30 23:40 23:50 void Example2() { printf ( "Example2() START\n" ); int h = 0; do { int m = 0; do { printf( "%02d:%02d ", h, m); m += 10; } while (m < 60); printf ( "\n" ); h++; } while (h < 24); printf ( "Example2() FINISH\n" ); } H m Вывод 0 0 00:00 10 00:10 20 00:20 30 00:30 40 00:40 50 00:50 60 \n 1 0 01:00 10 01:10 20 01:20 30 01:30 40 01:40 50 01:50 60 \n 2 … … … 23 50 23:50 23 60 \n 24

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

Слайд 11

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

Слайд 12: Лабораторная работа №12

Консольное меню и задачи, реализуемые через вложенный цикл DO..WHILE

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

Слайд 13: Задача 0

Нужно сделать меню, в котором можно будет выбрать какую из задач Лабораторной работы №12 нужно выполнить. Меню нужно сделать по аналогии с меню из предыдущей лабораторной работы.

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

Слайд 14: Задача 1

Нужно ввести N – количество строк и M – количество столбцов. N <= 9, M <= 9 В ывести табличку по следующей схеме (N=4, M=5): 11 12 13 14 15 21 22 23 24 25 31 32 33 34 35 41 42 43 44 45 Каждое число количеством десятков сообщает о номере строки, количеством единиц о номере столбца. Выполнение кода задачи должно вызываться при выборе соответствующего пункта меню.

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

Слайд 15: Задача 1. Блок-схема

Нужно ввести N – количество строк и M – количество столбцов. N <= 9, M <= 9 В ывести табличку по следующей схеме (N=4, M=5): 11 12 13 14 15 21 22 23 24 25 31 32 33 34 35 41 42 43 44 45

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

Слайд 16: Задача 2

Вывести таблицу Пифагора, используя вложенные циклы DO WHILE Вывод должен выглядеть так: 1 2 3 4 5 6 7 8 9 10 2 4 6 8 10 12 14 16 18 20 3 6 9 12 15 18 21 24 27 30 4 8 12 16 20 24 28 32 36 40 ... 9 18 27 36 45 54 63 72 81 90 10 20 30 40 50 60 70 80 90 100 Выполнение кода задачи должно вызываться при выборе соответствующего пункта меню.

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

Слайд 17: ЛР 1 2 : Задания на закрепление и отработку

Доделать задачи 1-2, которые не успели сделать на занятии в классе. Выполнить трассировку этих задач, для N = 4, M = 3 Задача 3*. Добавьте пункт меню ‘3’, при выборе которого будет выведен узор из чисел, согласно варианта. (См. следующий слайд). Номер варианта соответствует последней цифре в вашем порядковом номере в журнале. Если вы выполнили задачу 3 *, тогда вам нужно нарисуйте блок-схему для нее. Если вы не выполнили эту задачу, то вам нужно нарисовать блок-схему – для задачи 2. Задача 4* *. Добавьте пункт меню ‘ 4 ’, при выборе которого будет выведен узор из чисел, согласно варианта. (См. соответствующий слайд). Номер варианта соответствует последней цифре в вашем порядковом номере в журнале. (для реализации Задачи 4* * скорее всего вам понадобиться больше, чем 2 цикла)

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

Слайд 18: Варианты для Задачи 3 *

Вариант Рисунок Вариант Рисунок 0 5 4 5 3 4 5 2 3 4 5 1 2 3 4 5 1 1 2 3 4 5 1 2 3 4 1 2 3 1 2 1 2 1 1 2 1 2 3 1 2 3 4 1 2 3 4 5 3 5 4 3 2 1 5 4 3 2 5 4 3 5 4 5 4 5 5 4 5 4 3 5 4 3 2 5 4 3 2 1 5 1 2 1 3 2 1 4 3 2 1 5 4 3 2 1 6 1 2 3 4 5 2 3 4 5 3 4 5 4 5 5 7 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 8 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 9 5 4 3 2 1 4 3 2 1 3 2 1 2 1 1

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

Слайд 19: Пример реализации Задачи 3 *

Ввести число N. Вывести N строк по N чисел в каждой. Каждое выведенное число равно N. Ввод 1: N = 2 Вывод 1: 2 2 2 2 Ввод 2: N = 4 Вывод 2: 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4

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

Слайд 20: Варианты для Задачи 4* *

0 5 4 5 3 4 5 2 3 4 5 1 2 3 4 5 2 3 4 5 3 4 5 4 5 5 5 1 2 1 3 2 1 4 3 2 1 5 4 3 2 1 4 3 2 1 3 2 1 2 1 1 1 1 1 2 1 1 2 3 2 1 1 2 3 4 3 2 1 1 2 3 4 5 4 3 2 1 6 5 4 5 4 3 4 5 4 3 2 3 4 5 4 3 2 1 2 3 4 5 4 3 2 1 2 1 2 1 2 3 2 1 2 3 4 3 2 1 2 3 4 5 4 3 2 1 2 3 4 5 7 5 5 4 5 5 4 3 4 5 5 4 3 2 3 4 5 5 4 3 2 1 2 3 4 5 3 5 4 3 2 1 5 4 3 2 5 4 3 5 4 5 5 4 5 4 3 5 4 3 2 5 4 3 2 1 8 1 1 2 1 2 3 1 2 3 4 1 2 3 4 5 2 3 4 5 3 4 5 4 5 5 4 1 2 3 4 5 2 3 4 5 3 4 5 4 5 5 4 5 3 4 5 2 3 4 5 1 2 3 4 5 9 1 2 3 4 5 1 2 3 4 1 2 3 1 2 1 1 2 1 2 3 1 2 3 4 1 2 3 4 5

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

Слайд 21

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

Слайд 22: Воспоминания про Самостоятельные работы образца 2022-

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

Слайд 23: Задача 21 A – на разбор

// Задача 21. A void main() { int n, i, j, k; k = 1; scanf_s ( "%d", &n); i = 1; do { j = 1; do { printf ( "%2d ", k); k++; j++ ; } while (j <= n); printf ( "\n" ); i ++; } while ( i <= n); } Тест 1. Введите 2 Тест 2. Введите 3

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

Слайд 24: Задача 21 A – блок-схема

// Задача 21. A void main() { int n, i, j, k; k = 1; scanf_s ( "%d", &n); i = 1; do { j = 1; do { printf ( "%2d ", k); k++; j++ ; } while (j <= n); printf ( "\n" ); i ++; } while ( i <= n); }

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

Слайд 25: Задача 2 2A – на разбор

// Задача 22. A void main() { int n, i, j; scanf_s ( "%d", &n); i = 1; do { j = 1; do { if (j >= i ) printf ( "[]" ); else printf ( ".." ); j++ ; } while (j <= n); printf ( "\n" ); i ++; } while ( i <= n); } Тест 1. Введите 3 Тест 2. Введите 4

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

Слайд 26: Задача 2 2A – блок-схема

// Задача 22. A void main() { int n, i, j; scanf_s ( "%d", &n); i = 1; do { j = 1; do { if (j >= i ) printf ( "[]" ); else printf ( ".." ); j++ ; } while (j <= n); printf ( "\n" ); i ++; } while ( i <= n); }

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

Слайд 27: Задача 2 3A – на разбор

// Задача 23. A void main() { int n, i, j, a, b; scanf_s ( "%d", &n); a = 2 - n; b = n; do { if (a > b) j = a; else j = b; while (j >= 1) { printf ( "* " ); j--; } printf ( "\n" ); a++; b--; } while (a <= n); } Тест 1. Введите 3 Тест 2. Введите 4

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

Слайд 28: Задача 2 3A – блок-схема

// Задача 23. A void main() { int n, i, j, a, b; scanf_s ( "%d", &n); a = 2 - n; b = n; do { if (a > b) j = a; else j = b; while (j >= 1) { printf ( "* " ); j--; } printf ( "\n" ); a++; b--; } while (a <= n); }

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

Слайд 29

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

Слайд 30: [ Сквозной ] Проект – Этап 2

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

Слайд 31

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

Слайд 32: ИТОГО по лекции 8

Познакомились с вложенными циклами на примере DO..WHILE Узнали что нужно сделать в ЛР12 и Этапе 2 [ Сквозного ] Проекта

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

Слайд 33: Термины 1

Директива (препроцессора) - #include Строчные комментарии Блок кода {} Функция Заголовок функции Объявление функции Прототип функции Сигнатура («подпись») функции Определение функции Вызов функции Формальные параметры/аргументы функции (Фактические) параметры/аргументы функции Глобальные переменные Локальные переменные Область видимости переменной Время жизни переменной #include < stdio.h > i++; // работает аналогично i = i + 1 void main() { } void main() { } void main() { } BOOL LineTo (HDC hdc, int xEnd, int yEnd ); BOOL LineTo (HDC hdc, int xEnd, int yEnd ); BOOL LineTo (HDC, int, int) void main() { } LineTo ( hdc, 300, 100); BOOL LineTo (HDC hdc, int xEnd, int yEnd ); LineTo ( hdc, 300, 100 ); scanf_s ( "%d", &n ); int a = 0; void main() { int c = 10; printf ("main: a=%d c=%d\n", a, c); } Глобальная – весь файл Локальная – блок кода Глобальная – время работы программы Локальная – время работы блока кода

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

Слайд 34: Термины 2

Точка входа в пользовательский код Функция int main () Неименованные целочисленные константы Неименованные строковые константы Escape-последовательности - \t, \n, \" и др. Стандартные типы данных – Целый тип Функция printf Функция scanf_s Строка форматирования printf / scanf_s Функция SetConsoleCP Функция SetConsoleOutputCP int main() { return 0; } int main() { return 0; } LineTo ( hdc, 300, 100 ); printf ( "2^%d = %d\n", i, stepen ); printf ("2^%d = %d \n ", i, stepen ); int res = 1; printf ("Hello! It is main()!\n"); scanf_s ("%f", &s); printf ( "2^%d = %d\n", i, stepen ); SetConsoleCP (1251); SetConsoleOutputCP (1251);

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

Слайд 35: Термины 3

Идентификатор Определение переменных Инициализация переменных Выражения Оператор присваивания Операторы сравнения Арифметические операторы + - * / % Оператор & (взятие адреса) Оператор инкремента - постфиксный и префиксный int x1 = 10, y 1 = 100; int x1 = 10, y1 = 100; int x1 = 10, y1 = 100 ; y2 = y2 + 10 ; y2 = y2 + 10; int i = 0; do { i ++; } while ( i < 16 ); y2 = y2 + 10; scanf_s ("%d", & n); res = res * i ++ ; // постфиксный инкремент res = res * ++ i ; // префиксный инкремент

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

Слайд 36: Термины 4

Инструкция Цикл DO WHILE Инструкция Развилка IF ELSE Инструкция RETURN Инструкция Цикл WHILE Метка Инструкция безусловного перехода GOTO Инструкция SWITCH Инструкция BREAK Инструкция CONTINUE int i = 0; do { i ++; } while ( i < 16); if (x < 0) return -x; else return x; int main() { return 0; } a = 1; while (a <= 10) { printf ("%d ", a ++ ); } label_do : printf ("%d ", a); if ( ++ a <= 10) goto label_do ; switch (n) { case 1: printf (" Вы ввели ПН\ n"); break; case 2: printf ("Вы ввели ВТ\n"); break; case 3: printf ("Вы ввели СР\n"); break; } int a = 1999; while (a++ < 2030) { if (a % 4 == 0) continue ; printf ("%d ", a); }

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

Последний слайд презентации: Лекция 8 В ложенные циклы. Сквозной проект – этап 2 ЛР 1 2. Вложенные: Термины 5

Вложенные циклы i = 1; do { j = 1; do { printf ("%d ", j); j++ ; } while (j <= 4); printf ("\n"); i ++; } while ( i <= 3);

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

Похожие презентации

Ничего не найдено