Скачать презентацию 1 Программирование на алгоритмическом языке 7 класс К Скачать презентацию 1 Программирование на алгоритмическом языке 7 класс К

К зачёту 7 класс.ppt

  • Количество слайдов: 52

1 Программирование на алгоритмическом языке (7 класс) К. Поляков, 2010 -2011 http: //kpolyakov. narod. 1 Программирование на алгоритмическом языке (7 класс) К. Поляков, 2010 -2011 http: //kpolyakov. narod. ru

2 Ку. Мир (Комплект Учебных МИРов) - система программирования, предназначенная для поддержки начальных курсов 2 Ку. Мир (Комплект Учебных МИРов) - система программирования, предназначенная для поддержки начальных курсов информатики и программирования в средней и высшей школе. В системе Ку. Мир используется школьный алгоритмический язык с русской лексикой и встроенными исполнителями. Программу можно скачать по адресу: https: //www. niisi. ru/kumir/

3 Программирование на алгоритмическом языке Тема 1. Введение К. Поляков, 2010 -2011 http: //kpolyakov. 3 Программирование на алгоритмическом языке Тема 1. Введение К. Поляков, 2010 -2011 http: //kpolyakov. narod. ru

Программирование на алгоритмическом языке 4 Алгоритм – это четко определенный план решения задачи для Программирование на алгоритмическом языке 4 Алгоритм – это четко определенный план решения задачи для исполнителя. Свойства алгоритма • дискретность: состоит из отдельных шагов (команд) • понятность: должен включать только команды, известные исполнителю • конечность: позволяет получить решение задачи за конечное число шагов • определенность: при одинаковых исходных данных всегда выдает один и тот же результат • массовость: может применяться при различных исходных данных К. Поляков, 2010 -2011 http: //kpolyakov. narod. ru

Программирование на алгоритмическом языке 5 Программа – это • алгоритм, записанный на каком-либо языке Программирование на алгоритмическом языке 5 Программа – это • алгоритм, записанный на каком-либо языке программирования • набор команд для исполнителя Команда – это описание действий, которые должен выполнить исполнитель. • откуда взять исходные данные? • что нужно с ними сделать? К. Поляков, 2010 -2011 http: //kpolyakov. narod. ru

Программирование на алгоритмическом языке 6 Простейшая программа название алгоритма алг Первый нач | начало Программирование на алгоритмическом языке 6 Простейшая программа название алгоритма алг Первый нач | начало алгоритма кон | конец алгоритма комментарии после | не обрабатываются ? Что делает эта программа? К. Поляков, 2010 -2011 http: //kpolyakov. narod. ru

Программирование на алгоритмическом языке 7 Вывод текста на экран алг Вывод на экран нач Программирование на алгоритмическом языке 7 Вывод текста на экран алг Вывод на экран нач новая строка вывод "2+" вывод "2=? ", нс вывод "Ответ: 4" кон Протокол: 2+2=? Ответ: 4 К. Поляков, 2010 -2011 http: //kpolyakov. narod. ru

Программирование на алгоритмическом языке 8 Задания « 4» : Вывести на экран текст «лесенкой» Программирование на алгоритмическом языке 8 Задания « 4» : Вывести на экран текст «лесенкой» Вася пошел гулять « 5» : Вывести на экран рисунок из букв Ж ЖЖЖЖЖЖЖ HH HH ZZZZZ К. Поляков, 2010 -2011 http: //kpolyakov. narod. ru

Программирование на алгоритмическом языке 9 Переменные Задача. Ввести с клавиатуры два числа и найти Программирование на алгоритмическом языке 9 Переменные Задача. Ввести с клавиатуры два числа и найти их сумму. Протокол: Введите два целых числа 25 30 пользователь 25+30=55 компьютер считает сам! ? К. Поляков, 2010 -2011 1. 2. 3. 4. Как ввести числа в память? Где хранить введенные числа? Как вычислить? Как вывести результат? http: //kpolyakov. narod. ru

Программирование на алгоритмическом языке 10 Программа алг нач | | | кон Сумма ввести Программирование на алгоритмическом языке 10 Программа алг нач | | | кон Сумма ввести два числа вычислить их сумму вывести сумму на экран Псевдокод – алгоритм на русском языке с элементами языка программирования. ! Компьютер не может исполнить псевдокод! К. Поляков, 2010 -2011 http: //kpolyakov. narod. ru

Программирование на алгоритмическом языке 11 Переменные Переменная – это величина, имеющая имя, тип и Программирование на алгоритмическом языке 11 Переменные Переменная – это величина, имеющая имя, тип и значение. Значение переменной можно изменять во время работы программы. Значение a Имя К. Поляков, 2010 -2011 Другой тип данных ? Поместится? ! В переменной хранятся данные определенного типа! http: //kpolyakov. narod. ru

Программирование на алгоритмическом языке 12 Имена переменных МОЖНО использовать • латинские буквы (A-Z), русские Программирование на алгоритмическом языке 12 Имена переменных МОЖНО использовать • латинские буквы (A-Z), русские буквы (А-Я) заглавные и строчные буквы различаются • цифры имя не может начинаться с цифры • знак подчеркивания _ НЕЛЬЗЯ использовать • скобки • знаки +, =, !, ? и др. Какие имена правильные? AXby R&B 4 Wheel Вася “Pes. Barbos” TU 154 [Qu. Qu] _ABBA A+B К. Поляков, 2010 -2011 http: //kpolyakov. narod. ru

Программирование на алгоритмическом языке 13 Объявление переменных Типы переменных: • цел | целая • Программирование на алгоритмическом языке 13 Объявление переменных Типы переменных: • цел | целая • вещ | вещественная • и другие… Объявление переменных: тип – целые выделение места в памяти список имен переменных цел a, b, c К. Поляков, 2010 -2011 http: //kpolyakov. narod. ru

Программирование на алгоритмическом языке 14 Как записать значение в переменную? Оператор присваивания a : Программирование на алгоритмическом языке 14 Как записать значение в переменную? Оператор присваивания a : = 5 5 a ! При записи нового значения старое стирается! Оператор – это команда языка программирования (инструкция). Оператор присваивания – это команда для записи нового значения в переменную. К. Поляков, 2010 -2011 http: //kpolyakov. narod. ru

Программирование на алгоритмическом языке 15 Блок-схема линейного алгоритма начало блок «начало» ввод a, b Программирование на алгоритмическом языке 15 Блок-схема линейного алгоритма начало блок «начало» ввод a, b блок «ввод» c : = a + b блок «процесс» вывод c блок «вывод» конец К. Поляков, 2010 -2011 блок «конец» http: //kpolyakov. narod. ru

Программирование на алгоритмическом языке 16 Как ввести значение с клавиатуры? Оператор ввода ввод a Программирование на алгоритмическом языке 16 Как ввести значение с клавиатуры? Оператор ввода ввод a ! 5 a 1. Программа ждет, пока пользователь введет значение и нажмет Enter. 2. Введенное значение записывается в переменную a. К. Поляков, 2010 -2011 http: //kpolyakov. narod. ru

Программирование на алгоритмическом языке 17 Ввод значений двух переменных ввод a, b Ввод значений Программирование на алгоритмическом языке 17 Ввод значений двух переменных ввод a, b Ввод значений двух переменных. через пробел: 25 30 25 a 30 b 25, 30 25 a 30 b через запятую: К. Поляков, 2010 -2011 http: //kpolyakov. narod. ru

Программирование на алгоритмическом языке 18 Изменение значения переменной Пример: алг Тест a 5 ? Программирование на алгоритмическом языке 18 Изменение значения переменной Пример: алг Тест a 5 ? 5 нач цел a, b b a : = 5 5+2 ? 7 b : = a + 2 a a : = (a + 2)*(b – 3) 7*4 28 5 b : = b + 1 кон b 8 7 К. Поляков, 2010 -2011 7+1 http: //kpolyakov. narod. ru

Программирование на алгоритмическом языке 19 Арифметические операции + сложение – вычитание * умножение / Программирование на алгоритмическом языке 19 Арифметические операции + сложение – вычитание * умножение / деление div деление нацело (остаток отбрасывается) mod остаток от деления цел a, b a : = 7*3 - 4 a : = a * 5 b : = div(a, 10) a : = mod(a, 10) К. Поляков, 2010 -2011 | | 17 85 8 5 http: //kpolyakov. narod. ru

Программирование на алгоритмическом языке 20 Вывод данных вывод a |вывод значения |переменной a вывод Программирование на алгоритмическом языке 20 Вывод данных вывод a |вывод значения |переменной a вывод a, нс |вывод значения |переменной a и переход |на новую строчку вывод "Привет!" |вывод текста вывод "Ответ: ", c |вывод текста и значения переменной c вывод a, "+", b, "=", c К. Поляков, 2010 -2011 http: //kpolyakov. narod. ru

Программирование на алгоритмическом языке 21 Задача: сложение чисел Задача. Ввести два целых числа и Программирование на алгоритмическом языке 21 Задача: сложение чисел Задача. Ввести два целых числа и вывести на экран их сумму. Простое решение: алг Сумма нач цел a, b, c ввод a, b c : = a + b вывод c кон К. Поляков, 2010 -2011 ? Что плохо? http: //kpolyakov. narod. ru

Программирование на алгоритмическом языке 22 Полное решение алг Сумма нач подсказка цел a, b, Программирование на алгоритмическом языке 22 Полное решение алг Сумма нач подсказка цел a, b, c вывод "Введите два целых числа" ввод a, b c : = a + b вывод a, "+", b, "=", c кон Протокол: компьютер Введите два целых числа 25 30 пользователь 25+30=55 К. Поляков, 2010 -2011 http: //kpolyakov. narod. ru

Программирование на алгоритмическом языке 23 Задания « 3» : Ввести три числа, найти их Программирование на алгоритмическом языке 23 Задания « 3» : Ввести три числа, найти их сумму. Пример: Введите три числа: 4 5 7 4+5+7=16 « 4» : Ввести три числа, найти их сумму и произведение. Пример: Введите три числа: 4 5 7 4+5+7=16 4*5*7=140 К. Поляков, 2010 -2011 http: //kpolyakov. narod. ru

Программирование на алгоритмическом языке 24 Задания « 5» : Ввести три числа, найти их Программирование на алгоритмическом языке 24 Задания « 5» : Ввести три числа, найти их сумму, произведение и среднее арифметическое. Пример: Введите три числа: 4 5 7 4+5+7=16 4*5*7=140 (4+5+7)/3=5. 333333 К. Поляков, 2010 -2011 http: //kpolyakov. narod. ru

Программирование на алгоритмическом языке 25 Какие операторы неправильные? алг Ошибки нач цел a, b Программирование на алгоритмическом языке 25 Какие операторы неправильные? алг Ошибки нач цел a, b вещ x, y имя переменной должно быть слева от знака : = a : = 5 целая и дробная часть 10 : = x отделяются точкой y : = 7, 8 нельзя записывать b : = 2. 5 вещественное значение в целую переменную x : = 2*(a + y) a : = b + x кон К. Поляков, 2010 -2011 http: //kpolyakov. narod. ru

Программирование на алгоритмическом языке 26 Порядок выполнения операций 1) вычисление выражений в скобках 2) Программирование на алгоритмическом языке 26 Порядок выполнения операций 1) вычисление выражений в скобках 2) умножение, деление, div, mod слева направо 3) сложение и вычитание слева направо 1 2 4 5 3 6 z : = (5*a+c)/a*(b-c)/ b 2 3 5 4 1 10 6 9 8 7 x: =(5*c*c-d*(a+b))/((c+d)*(d-2*a)) К. Поляков, 2010 -2011 http: //kpolyakov. narod. ru

Программирование на алгоритмическом языке 27 Ручная прокрутка программы алг Тест нач цел a, b Программирование на алгоритмическом языке 27 Ручная прокрутка программы алг Тест нач цел a, b a : = 5 b : = a + 2 a : = (a + 2)*(b – 3) b : = div(a, 5) a : = mod(a, b) a : = a + 1 b : = mod(a+14, 7) кон К. Поляков, 2010 -2011 a b ? ? 5 7 28 5 3 4 4 http: //kpolyakov. narod. ru

Программирование на алгоритмическом языке 28 Команда «вывод» цел a = 1, b = 3 Программирование на алгоритмическом языке 28 Команда «вывод» цел a = 1, b = 3 вывод a, "+", b, "=", a+b список вывода • элементы разделяются запятыми • элементы в кавычках – выводятся без изменений • выражения (элементы без кавычек) вычисляются и выводится их результат ? Что будет выведено? 1+3=4 К. Поляков, 2010 -2011 http: //kpolyakov. narod. ru

Программирование на алгоритмическом языке 29 Что будет выведено? цел a = 1, b = Программирование на алгоритмическом языке 29 Что будет выведено? цел a = 1, b = 3 вывод "a+", b, "=a+b" цел a = 1, b = 3 вывод a, "=F(", b, ")" цел a = 1, b = 3 вывод "a=F(", b, "); " цел a = 1, b = 3 вывод a+b, ">", b, "!" цел a = 1, b = 3 вывод "F(", b, ")=X(", a, ")" К. Поляков, 2010 -2011 a+3=a+b 1=F(3) a=F(3); 4>3! F(3)=X(1) http: //kpolyakov. narod. ru

Программирование на алгоритмическом языке 30 Как записать оператор «вывод» ? цел a = 1, Программирование на алгоритмическом языке 30 Как записать оператор «вывод» ? цел a = 1, b = 3 вывод "X(", b, ")=", a цел a = 1, b = 3 вывод a+b, "=", a, "+", b X(3)=1 4=1+3 цел a = 1, b = 3 вывод "f(", a, ")>f(", b, ")" f(1)>f(3) цел a = 1, b = 3 вывод "<", a, "<>", b, ">" <1<>3> цел a = 1, b = 3 вывод a, "+", b, "=? " К. Поляков, 2010 -2011 1+3=? http: //kpolyakov. narod. ru

31 Программирование на алгоритмическом языке Тема 2. Ветвления К. Поляков, 2010 -2011 http: //kpolyakov. 31 Программирование на алгоритмическом языке Тема 2. Ветвления К. Поляков, 2010 -2011 http: //kpolyakov. narod. ru

Программирование на алгоритмическом языке 32 Разветвляющиеся алгоритмы Задача. Ввести два целых числа и вывести Программирование на алгоритмическом языке 32 Разветвляющиеся алгоритмы Задача. Ввести два целых числа и вывести на экран наибольшее из них. Идея решения: надо вывести на экран первое число, если оно больше второго, или второе, если оно больше первого. Особенность: действия исполнителя зависят от некоторых условий (если … иначе …). Алгоритмы, в которых последовательность шагов зависит от выполнения некоторых условий, называются разветвляющимися. К. Поляков, 2010 -2011 http: //kpolyakov. narod. ru

Программирование на алгоритмическом языке 33 Вариант 1. Блок-схема начало блок «решение» ввод a, b Программирование на алгоритмическом языке 33 Вариант 1. Блок-схема начало блок «решение» ввод a, b да a > b? M: = a нет полная форма ветвления M: = b вывод M конец К. Поляков, 2010 -2011 ? Если a = b? http: //kpolyakov. narod. ru

Программирование на алгоритмическом языке 34 Вариант 1. Программа алг Максимум нач цел a, b, Программирование на алгоритмическом языке 34 Вариант 1. Программа алг Максимум нач цел a, b, M вывод "Введите два целых числа", нс ввод a, b если a > b то полная форма M: =a условного иначе оператора M: =b все вывод "Наибольшее число ", M кон К. Поляков, 2010 -2011 http: //kpolyakov. narod. ru

Программирование на алгоритмическом языке 35 Условный оператор если условие то | что делать, если Программирование на алгоритмическом языке 35 Условный оператор если условие то | что делать, если условие верно иначе | что делать, если условие неверно все ! Вторая часть (иначе) может отсутствовать! К. Поляков, 2010 -2011 http: //kpolyakov. narod. ru

Программирование на алгоритмическом языке 36 Вариант 2. Блок-схема начало ввод a, b M: = Программирование на алгоритмическом языке 36 Вариант 2. Блок-схема начало ввод a, b M: = a да b > a? нет неполная форма ветвления M: = b вывод M конец К. Поляков, 2010 -2011 http: //kpolyakov. narod. ru

Программирование на алгоритмическом языке 37 Вариант 2. Программа алг Максимум 2 нач цел a, Программирование на алгоритмическом языке 37 Вариант 2. Программа алг Максимум 2 нач цел a, b, M вывод "Введите два целых числа", нс ввод a, b неполная M: = a форма если b > a то условного M: = b оператора все вывод "Наибольшее число ", M кон К. Поляков, 2010 -2011 http: //kpolyakov. narod. ru

Программирование на алгоритмическом языке 38 Вариант 2 б. Программа алг Максимум 2 б нач Программирование на алгоритмическом языке 38 Вариант 2 б. Программа алг Максимум 2 б нач цел a, b, M вывод "Введите два целых числа", нс ввод a, b M: = b > если a? ? ? b то ? ? ? M: = a все вывод "Наибольшее число ", M кон К. Поляков, 2010 -2011 http: //kpolyakov. narod. ru

Программирование на алгоритмическом языке 39 Задания « 3» : Ввести два числа и вывести Программирование на алгоритмическом языке 39 Задания « 3» : Ввести два числа и вывести их в порядке возрастания. Пример: Введите два числа: 15 9 Ответ: 9 15 « 4» : Ввести три числа и найти наибольшее из них. Пример: Введите три числа: 4 15 9 Наибольшее число 15 К. Поляков, 2010 -2011 http: //kpolyakov. narod. ru

Программирование на алгоритмическом языке 40 Задания « 5» : Ввести пять чисел и найти Программирование на алгоритмическом языке 40 Задания « 5» : Ввести пять чисел и найти наибольшее из них. Пример: Введите пять чисел: 4 15 9 56 Наибольшее число 56 К. Поляков, 2010 -2011 4 http: //kpolyakov. narod. ru

41 Программирование на алгоритмическом языке Тема 3. Сложные условия К. Поляков, 2010 -2011 http: 41 Программирование на алгоритмическом языке Тема 3. Сложные условия К. Поляков, 2010 -2011 http: //kpolyakov. narod. ru

Программирование на алгоритмическом языке 42 Сложные условия Задача. Фирма набирает сотрудников от 25 до Программирование на алгоритмическом языке 42 Сложные условия Задача. Фирма набирает сотрудников от 25 до 40 лет включительно. Ввести возраст человека и определить, подходит ли он фирме (вывести ответ «подходит» или «не подходит» ). Особенность: надо проверить, выполняются ли два условия одновременно. ? Можно ли решить известными методами? К. Поляков, 2010 -2011 http: //kpolyakov. narod. ru

Программирование на алгоритмическом языке 43 Вариант 1. Алгоритм начало ввод x да да “подходит” Программирование на алгоритмическом языке 43 Вариант 1. Алгоритм начало ввод x да да “подходит” x <= 40? x >= 25? нет “не подходит” конец К. Поляков, 2010 -2011 http: //kpolyakov. narod. ru

Программирование на алгоритмическом языке 44 Вариант 1. Программа алг Сотрудник нач цел x вывод Программирование на алгоритмическом языке 44 Вариант 1. Программа алг Сотрудник нач цел x вывод "Введите ваш возраст", нс ввод x если x >= 25 то если x <= 40 то вывод "Подходит!" иначе вывод "Не подходит. " все кон К. Поляков, 2010 -2011 http: //kpolyakov. narod. ru

Программирование на алгоритмическом языке 45 Вариант 2. Алгоритм начало ввод x да “подходит” К. Программирование на алгоритмическом языке 45 Вариант 2. Алгоритм начало ввод x да “подходит” К. Поляков, 2010 -2011 x >= 25 и x <= 40? нет “не подходит” http: //kpolyakov. narod. ru

Программирование на алгоритмическом языке 46 Вариант 2. Программа алг Сотрудник нач цел x вывод Программирование на алгоритмическом языке 46 Вариант 2. Программа алг Сотрудник нач цел x вывод "Введите ваш возраст", нс ввод x если x >= 25 и x <= 40 то вывод "Подходит!" иначе сложное вывод "Не подходит. " условие все кон К. Поляков, 2010 -2011 http: //kpolyakov. narod. ru

Программирование на алгоритмическом языке 47 Сложные условия Простые условия (отношения) равно < <= > Программирование на алгоритмическом языке 47 Сложные условия Простые условия (отношения) равно < <= > >= = <> не равно Сложное условие – это условие, состоящее из нескольких простых условий (отношений), связанных с помощью логических операций: • И – одновременное выполнение условий x >= 25 И x <= 40 • ИЛИ – выполнение хотя бы одного из условий x <= 25 ИЛИ x >= 40 • НЕ – отрицание, обратное условие x <= 25 НЕ (x > 25) ? ? ? К. Поляков, 2010 -2011 http: //kpolyakov. narod. ru

Программирование на алгоритмическом языке 48 Сложные условия Порядок выполнения (приоритет = старшинство) • выражения Программирование на алгоритмическом языке 48 Сложные условия Порядок выполнения (приоритет = старшинство) • выражения в скобках • НЕ • <, <=, >, >=, =, <> • ИЛИ Пример 2 1 6 3 5 4 если не (a > 2) или c <> 5 и b < a то. . . все К. Поляков, 2010 -2011 http: //kpolyakov. narod. ru

Программирование на алгоритмическом языке 49 Сложные условия Истинно или ложно при a : = Программирование на алгоритмическом языке 49 Сложные условия Истинно или ложно при a : = 2; b : = 3; c : = 4; Да не (a > b) a < b и b < c Да Нет a > c или b > c a < b и b > c Нет a > c и b > d Нет Да не (a >= b) или c = d a >= b или не (c < b) a > c или b > a К. Поляков, 2010 -2011 Да Да http: //kpolyakov. narod. ru

Программирование на алгоритмическом языке 50 Сложные условия Для каких значений x истинны условия: x Программирование на алгоритмическом языке 50 Сложные условия Для каких значений x истинны условия: x x x x < < > > 6 6 6 6 и x и x или или К. Поляков, 2010 -2011 < > x x x < 6 10 нет таких 10 6 < x < 10 10 x > 10 10 x < 10 > 10 < 10 все x x > 6 > 10 http: //kpolyakov. narod. ru

Программирование на алгоритмическом языке 51 Задания « 3» : Ввести три числа и определить, Программирование на алгоритмическом языке 51 Задания « 3» : Ввести три числа и определить, верно ли, что они вводились в порядке возрастания. Пример: Введите три числа: 4 5 17 да « 4» : Ввести номер месяца и вывести название времени года. Пример: Введите номер месяца: 4 весна К. Поляков, 2010 -2011 http: //kpolyakov. narod. ru

Программирование на алгоритмическом языке 52 Задания « 5» : Ввести возраст человека (от 1 Программирование на алгоритмическом языке 52 Задания « 5» : Ввести возраст человека (от 1 до 150 лет) и вывести его вместе с последующим словом «год» , «года» или «лет» . Пример: Введите возраст: 24 Вам 24 года К. Поляков, 2010 -2011 Введите возраст: 57 Вам 57 лет http: //kpolyakov. narod. ru