Проект описывает решение простейших математических задач в системе программирования Кумир;
Продукт: электронный сборник заданий для 5-6 класса
Вложение | Размер |
---|---|
proekt_kumir_5-6.docx | 51.1 КБ |
МБОУ «Школа-гимназия»
ПРОЕКТ
по информатике
на тему:
«Решение простейших математических задач
в системе программирования КуМир»
Выполняли
ученики 5 А класса:
Шипарёв Владислав,
Степанов Дмитрий
Руководитель:
учитель информатики,
Слащинина Е. В.
Ярцево,
2018
Паспорт проектной работы
Название проекта | «Решение простейших математических задач в системе программирования «КуМир»» |
Руководитель проекта и консультант | Слащинина Елена Владимировна |
Образовательная область | Информатика |
Состав проектной группы | Шипарёв Владислав, Степанов Дмитрий |
Тип проекта (информационный, исследовательский, ролевой, практико-ориентированный, творческий) | информационный |
Заказчик проекта (гимназия, родители, учитель-предметник) | МБОУ «Школа-гимназия» |
Цель проект |
|
Задачи проекта | - изучить систему команд Кумира; - рассмотреть способы решения задач с использованием разных типов алгоритма (линейный, ветвление, циклический) - составить подборку задач по математике 5-6 класса, которые можно решить в системе Кумир, представить тексты всех задний в электронной форме. - решить задачи в системе программирования Кумир |
Предполагаемый продукт(ы) проекта | Сборник задач с решением |
Этапы работы над проектом | Подготовительный: - определение темы проекта; - уточнение цели и задач; - определение источников информации. Основной этап: - распределение обязанностей в группе - определение шагов действий для каждого участника группы - высказывание возможных путей разрешения спорных вопросов, обсуждения спорных вопросов; - поиск и сбор информации каждым участником проекта с помощью литературы, средств массовой информации, сети интернета, собственного опыта и исследования. Заключительный: - анализ полученной информации и её систематизации - подведение выводов; - изготовление буклетов и презентации как продуктов проекта; - защита проекта - обсуждение результатов работы |
Образовательные и культурно-просветительские учреждения, на базе которых выполнялся проект: база гимназии, библиотека, музей и др. | МБОУ «Школа-гимназия» |
Содержание
Актуальность:
В наш информационный век профессия программиста является не только популярной, но и очень востребованной. Само название профессии происходит от слова «программа», оно здесь ключевое. Мы, как и многие современные школьники, тоже мечтаем быть программистами. Работа любого программиста начинается с написания первой простейшей программы. Создавать свои программы, и быть с компьютером на «ты», что может быть интереснее. Но так ли проста работа программиста, легко ли писать программы? Попробуем с этим разобраться.
Первая система программирования, с которой мы познакомились в этом учебном году, называется Кумир. С помощью исполнителя Чертёжник мы научились создавать рисунки в координатах. А затем решили научиться решать простейшие математические задачи из курса математики 5-6 класса.
Проблема: Можно ли простейшие алгебраические задачи решить средствами программирования?
Цель: научиться решать простейшие математические задачи в системе программирования Кумир; составить электронный сборник заданий для 5-6 класса.
Задачи:
Методы исследования: изучение теории по выбранной теме, анализ литературы, практическое применение.
Материалы и ресурсы: ватман, бумага формата А4, клей, карандаши.
Программные средства: веб-браузер, текстовый процессор OpenOfficeWritter, презентация.
Этапы работы над проектом
Подготовительный:
- определение темы проекта;
- уточнение цели и задач;
- определение источников информации.
Основной этап:
- распределение обязанностей в группе
- определение шагов действий для каждого участника группы
- высказывание возможных путей разрешения спорных вопросов, обсуждения спорных вопросов;
- поиск и сбор информации каждым участником проекта с помощью литературы, средств массовой информации, сети интернета, собственного опыта и исследования.
Заключительный:
- анализ полученной информации и её систематизации
- подведение выводов;
- защита проекта
-обсуждение результатов работы
Основная часть
Изучаем алгоритмы
Все, что бы мы ни делали, имеет какую-то цель. Не всегда ее удается достигнуть, но для того чтобы это было возможно необходимо как следует сформулировать желаемый для себя результат, а потом продумать четкий план его достижения. Часто план сформулирован в виде предписаний или инструкций.
Алгоритм – понятное и точное предписание исполнителю выполнить конечную последовательность команд, приводящую к достижению результата.
Исполнитель – тот объект или субъект, для управления которым составлен алгоритм.
Характеристики исполнителя:
Определенная последовательность действий исполнителя всегда применяется к некоторым исходным данным. Например: для приготовления пирога нужны соответствующие продукты, для решения математической задачи - решение квадратного уравнения – нужны числовые данные (значения его коэффициентов). Необходимый и достаточный набор данных для решения поставленной задачи (получения искомого результата) называется полным набором данных.
На практике наиболее распространены следующие формы представления алгоритмов:
КуМир (Комплект Учебных МИРов) - система программирования, предназначенная для поддержки начальных курсов информатики и программирования в средней и высшей школе.
Сайт: http://www.niisi.ru/kumir/ и http://lpm.org.ru/kumir2/
В системе КуМир используется школьный алгоритмический язык с русской лексикой и встроенными исполнителями Робот и Чертёжник.
При вводе программы КуМир осуществляет постоянный полный контроль ее правильности, сообщая на полях программы об всех обнаруженных ошибках.
При выполнении программы в пошаговом режиме КуМир выводит на поля результаты операций присваивания и значения логических выражений. Это позволяет ускорить процесс освоения азов программирования.
В простейшем случае программа на КуМире выглядит так:
алг Первый
нач
.
кон
После «алг» (алгоритм) пишется имя алгоритма, между «нач» (начало) и «кон» (конец) пишутся команды алгоритма. При написании автоматически создаются отступы вначале строки, это делает программу более наглядной, удалять или пытаться сделать отступ самим не надо.
Приведенный алгоритм «Первый» не будет ничего делать, т. к. между «нач» и «кон» у него нет команд.
Вот пример уже работоспособного алгоритма:
алг Площадь прямоугольника
нач
. вещ длина, ширина, площадь
. вывод "введите значения длины и ширины прямоугольника"
. ввод длина, ширина
. площадь := длина * ширина
. вывод "Площадь прямоугольника равна ", площадь
.кон
Его уже можно запустить на выполнение, он запросит у пользователя значения длины и ширины, вычислит и напечатает результат вычислений...
Эти команды используются практически во всех алгоритмах.
Для запоминания информации в памяти используют величины.
Компьютер работает с информацией, хранящейся в его памяти. Отдельный информационный объект (число, символ, строка, таблица и пр.) называется величиной.
Величины в программировании, как и в математике, делятся на переменные и константы. Значение константы остается неизменной в течении всей работы программы, значение переменной величины может изменяться.
У каждой переменной есть имя, тип и текущее значение.
Прежде чем писать последовательность команд алгоритма, надо определить количество и тип переменных, участвующих в решении задачи.
Для этого из условия задачи выделить:
* что дано (например, сколько чисел и какие они: целые или вещественные)
* что требуется вывести как результат.
Придумывать имена переменным, как и самим алгоритмам, не обязательно, но желательно так, чтобы по ним было понятно назначение переменной в алгоритме. Имя – это последовательность слов, разделенных пробелами. Первое слово имени не должно начинаться с цифры. Ни одно из слов не должно быть ключевым словом (уже имеющим значение в АЯ, например: цел, кон и др.)
В именах можно использовать:
Примеры возможных имен: m, x2, площадь, погода на завтра, Ноябрь 7, Седьмое ноября, дом_57б.
Также будьте внимательны при использовании имен, одинаково выглядящих на русском языке и записанных латинскими буквами. Переменные "x" (икс) и "x" (хэ) - это разные переменные.
Существуют три основных типа величин, с которыми работает компьютер: числовой, символьный и логический.
Тип величины определяет какие значения она может принимать и какие действия с ней можно выполнять. В зависимости от типа переменной в памяти компьютера будет выделена определенная область. В КуМире числовые типы бывают двух видов: целочисленные и вещественные.
Числовые типы
Текстовые типы
Для того чтобы компьютер мог работать с величиной, нужно указать тип и имя величины, например «цел n». Такое указание называется описанием величины.
алг
нач
цел а, б
вещ частное
...
кон
Для того чтобы запомнить или изменить значение величины есть специальная команда — команда присваивания, которая записывается в виде:
имя величины := выражение
Например:
частное := а/б
с:= div(а,б)
k:= sqrt(a)
Позволяет выводить на экран текстовые сообщения, значения переменных и результаты выражений.
вывод "тексты", имена величин, выражения, нс
Обратите внимание:
Позволяет вводить с клавиатуры значения переменных перечисленных в этой команде
ввод а, б
Заключение
Вывод:
В ходе работы над проектом мы научились планировать свою деятельность и распределять обязанности в группе.
Выяснили, что такое алгоритм решения задачи, познакомились с системой программирования КуМир и изучили ее команды, составили свой сборник заданий, на основе учебников математики 5-6 класса и сопроводили его подробным решением каждой задачи.
Практическая значимость проекта: разработанный нами сборник заданий можно использовать на уроках информатики как дидактический материал, а также для самостоятельного изучения курса программирования в среде КуМир.
Литературные источники
Приложение
Решаем задачи и примеры
Сложение
алг сложение
нач
. цел а, б, сумма
. вывод "введите два целых числа"
. ввод а, б
. сумма:=а+б
. вывод "Сумма равна ", а,"+",б,"=",сумма
кон
Вычитание
алг вычитание
нач
. цел а, б, разность
. вывод "введите два целых числа"
. ввод а, б
. разность:=а-б
. вывод "Разность равна ", а,"-",б,"=",разность
кон
Умножение
алг умножение
нач
. цел а, б, произвидение
. вывод "введите два целых числа"
. ввод а, б
. произвидение:=а*б
. вывод "Произведение равно ", а,"*",б,"=",произвидение
кон
Деление
алг деление
нач
. вещ а, б, частное
. вывод "введите три числа"
. ввод а, б
. частное:=а/б
. вывод "Частное равно ", а,"/",б,"=",частное
кон
Периметр прямоугольника
алг Периметр прямоугольника
нач
. цел а, б, в, P |а-длина б-ширина в-2 P-периметр
. вывод "введите три целых числа а, б, в"
. ввод а, б, в
. P:=(а+б)*в
. вывод "Периметр равен ", " (", а, "+", б, ")", "*", в, "=", P
кон
Площадь прямоугольника
алг площадь прямоугольника
нач
. цел а, б, S
. ввод а, б
. S:=а*б
. вывод "площадь равна ", S
кон
Объём параллелепипеда
алг объем
нач
. цел a, b, h, V
. вывод "Введите три целых числа"
. ввод a, b, h
. V:=a*b*h
. вывод "Объём равен ", a,"*",b,"*",h,"=",V
кон
Немного задач...
Скорость сближения
алг скорость сближения
нач
. вещ а, б, р, ч|
. вывод "введите три целых числа"
. ввод а, б, р
. ч:=р/(а+б)
. вывод "СКОРОСТЬ СБЛЖЕНИЕ =", ч
кон
Нахождение скорости
алг задача
нач
. цел а, б, в, г | а-скорость лодки=6км/ч б-скорость лодки=9км/ч в-2 востолько раз больше скорость гидроцикла г-скорость гидроцикла=?
. вывод "введите три целых числа"
. ввод а, б, в
. г:=(а+б)*в
. вывод "скорость гидроцикла-" , "(", а, "+", б, ")", "*", в, "=", г
кон
Найти сумму n-го числа слагаемых
алг сумма
нач
. цел i,n |i - счетчик , n - число слагаемых
. вещ s | s -сумма
. вывод 'введите число слагаемых n =', нс
. s:=0
. ввод n
. нц n раз
. . вывод 'введите слагаемое',нс
. . ввод i
. . s:=s+i
. кц
. вывод 'сумма ',n,'-х слагаемых =',s:0:2
кон
Найти произведение n-го числа множителей
алг произведение
нач
. цел i,n |i - счетчик , n - число множителей
. вещ p | p -произведение
. вывод 'введите число множителей n =', нс
. p:=1
. ввод n
. нц n раз
. . вывод 'введите множитель',нс
. . ввод i
. . p:=p*i
. кц
. вывод 'произведение ',n,' множителей =',p:0:2
кон
Сравнить а) два числа и вывести их в порядке возрастания;
алг сравнить два числа
нач
. цел a,b | a,b -числа
. вывод 'введите два числа', нс
. ввод a,b
. если a>b
. . то вывод 'число ',a,' > числа ',b иначе
. . . вывод 'число ',a,' < числа ',b
. все
кон
Сравнить б) три числа и вывести их в порядке возрастания;
алг сравнить три числа
нач
. цел a,b,c,m | a,b,c -числа, m - наибольшее число
. вывод 'введите три числа', нс
. ввод a,b,c
. если a>b
. . то
. . . если a>c
. . . . то
. . . . . m:=a
. . . . иначе m:=c
. . . все
. . иначе
. . . если b>c
. . . . то m:=b
. . . . иначе m:=c
. . . все
. все
. вывод 'наибольшое число = ',m
кон
Представить двухзначное число в виде суммы разрядных слагаемых
алг сумма разрядных слагаемых
нач
. цел x,a,b| x - число, a,b - цифры числа
. вывод 'введите число', нс
. ввод x
. a:=div(x,10)
. b:= mod(x, 10)
. вывод x,'=',a,'*10','+',b,'*1'
кон
Представить трехзначное число в виде суммы разрядных слагаемых
алг сумма разрядных слагаемых
нач
. цел x,a,b,c| x - число, a,b - цифры числа
. вывод 'введите число', нс
. ввод x
. a:=div(x,100)
. b:= div(mod(x, 100),10)
. c:=mod(x,10)
. вывод x,'=',a,'*100','+',b,'*10','+',c,'*1'
кон
Округлить число до тыс., сот., дес., до старшего разряда
алг округлить число
нач
. цел x,a,b,c,d| x - число, a,b,c,d - цифры числа
. вывод 'введите число', нс
. ввод x
. a:=div(x,1000)
. b:= mod(div(x, 100),10)
. c:=div(mod(x,100),10)
. d:=mod(x,10)
. если b>5 или b=5
. . то
. . . вывод x,'~',(a+1)*1000, 'до тысяч',нс
. . иначе
. . . вывод x,'~',a*1000, 'до тысяч',нс
. все
. если c>5 или c=5
. . то
. . . вывод x,'~',a*1000 +(b+1)*100,'до сотен',нс
. . иначе
. . . вывод x,'~',a*1000+b*100, 'до сотен',нс
. все
. если d>5 или d=5
. . то
. . . вывод x,'~',a*1000 +b*100+(c+1)*10, 'до десятков',нс
. . иначе
. . . вывод x,'~',a*1000+b*100+c*10, 'до десятков', нс
. все
. вывод x,'~',a*1000+b*100+c*10+d, 'до единиц', нс
кон
Сколько существует двузначных чисел, у которых
первая цифра больше второй.
алг двузначные числа
нач
. цел i,a,b,s| i - счетчик, a,b - цифры, s - сумма
. i:=10
. s:=0
. нц 90 раз
. . a:=div(i,10)
. . b:=mod(i,10)
. . если a>b
. . . то
. . . . s:=s+1
. . все
. . i:=i+1
. кц
. вывод s
кон
Найти сумму 1+2+3+4+5+ …+n-го числа слагаемых (с помощью цикла)
алг сумма n числа слагаемых
нач
. цел i,n,s| i - счетчик, n - число слагаемых, s - сумма
. вывод 'введите число слагаемых n ='
. ввод n
. i:=1
. s:=0
. нц n раз
. . s:=s+i
. . i:=i+1
. кц
. вывод s
кон
Найти сумму 1+2+3+4+5+ …+n-го числа слагаемых (с помощью метода Гауса)
алг сумма n числа слагаемых
нач
. вещ i,n,s| i - счетчик, n - число слагаемых, s - сумма
. вывод 'введите число слагаемых n ='
. ввод n
. s:=((1+n)*n)/2
. вывод s
кон
Найдите сумму: а) нечетных чисел 1+3+5+ …+n и б) четных чисел 2+4+6+.. +n(с помощью цикла)
алг сумма нечетных_четных слагаемых
нач
. цел i,n,s1,s2| i - счетчик, n - число слагаемых, s1 - сумма четных слагаемых, s2 - сумма нечетных слагаемых
. вывод 'введите число слагаемых n ='
. ввод n
. i:=1
. s1:=0
. s2:=0
. нц n раз
. . если mod(i,2)=0
. . . то
. . . . s1:=s1+i
. . . иначе
. . . . s2:=s2+i
. . все
. . i:=i+1
. кц
. вывод 'сумма четных слагаемых = ',s1, нс
. вывод 'сумма нечетных слагаемых = ',s2, нс
.
кон
Найдите сумму: а) нечетных чисел 1+3+5+ …+n
(по формуле см. № 226 учебника 6 кл.)
алг сумма нечетных слагаемых
нач
. цел i,n,s2| i - счетчик, n - число слагаемых, s2 - сумма нечетных слагаемых
. вывод 'введите число слагаемых n ='
. ввод n
. i:=1
. s2:=0
. нц n раз
. . если mod(i,2)<>0
. . . то
. . . . s2:=s2+1
. . все
. . i:=i+1
. кц
. вывод 'сумма нечетных слагаемых = ',s2*s2, нс
.
Кон
Определить вид треугольника(если таковой существует): а) (остроугольный, прямоугольный, тупоугольный), если известные градусные меры всех его улов.
алг вид треугольника по углам
нач
. цел a,b,c| a,b,c - градусные меры всех углов треугольника
. вывод 'введите величины углов треугольника a =,b=,c='
. ввод a,b,c
. если a+b+c=180 и a<>0 и b<>0 и c<>0
. . то
. . . если a>90 или b>90 или c>90
. . . . то
. . . . . вывод 'треугольник тупоугольный'
. . . . иначе
. . . . . если a=90 или b=90 или c=90
. . . . . . то
. . . . . . . вывод 'треугольник прямоугольный'
. . . . . . иначе
. . . . . . . вывод 'треугольник остроугольный'
. . . . . все
. . . все
. . иначе
. . . вывод'треугольник не существует'
. все
кон
Определить вид треугольника(если таковой существует): б) (равнобедренный, равносторонний, разносторонний), если известны длины всех его сторон.
алг вид треугольника по сторонам
нач
. цел a,b,c| a,b,c - длины всех сторон треугольника
. вывод 'введите длины сторон треугольника a =,b=,c='
. ввод a,b,c
. если a<b+c и b<a+c и c<a+b
. . то
. . . если a=c=b
. . . . то
. . . . . вывод 'треугольник равносторонний'
. . . . иначе
. . . . . если a=b или b=c или a=c
. . . . . . то
. . . . . . . вывод 'треугольник равнобедренный'
. . . . . . иначе
. . . . . . . вывод 'треугольник разносторонний'
. . . . . все
. . . все
. . иначе
. . . вывод'треугольник не существует'
. все
кон
Найти НОД(а,в)
алг НОД
нач
. цел a,b,x,y| a,b - числа
. вывод 'введите числа '
. ввод a,b
. x:=a
. y:=b
. нц пока a<>b
. . если a>b
. . . то a:=a-b
. . . иначе b:=b-a
. . все
. кц
. вывод'НОД(',x,',',y,')=',a
кон
Новогодние гирлянды
Этот древний-древний-древний мир!
Круговорот воды в пакете
Вокруг света за 80 дней
Просто так