|
0 / 0 / 0 Регистрация: 10.06.2015 Сообщений: 8 |
|
|
1 |
|
[КуМир] Составить программу нахождения суммы элементов массива10.06.2015, 21:16. Показов 10299. Ответов 5
Здравствуйте! Мне нужно составить программу нахождения суммы элементов массива на языке КуМир.
0 |
|
Почетный модератор 64287 / 47586 / 32739 Регистрация: 18.05.2008 Сообщений: 115,182 |
|
|
10.06.2015, 21:34 |
2 |
|
РешениеКод алг нач цел n,i,s цел таб k[1:20] вывод "Введите размер последовательности n от 2 до 20", нс ввод n если (n<2)или(n>20) то вывод "Неверный размер последовательности" все если (n>1)и(n<=20) то вывод "Введите элементы последовательности, целые числа", нс s:=0 i:=0 нц n раз i:=i+1 ввод k[i] s:=s+k[i] кц вывод "Сумма=",s все кон
1 |
|
0 / 0 / 0 Регистрация: 10.06.2015 Сообщений: 8 |
|
|
10.06.2015, 21:55 [ТС] |
3 |
|
Спасибо большое! Добавлено через 11 минут
0 |
|
Почетный модератор 64287 / 47586 / 32739 Регистрация: 18.05.2008 Сообщений: 115,182 |
|
|
11.06.2015, 06:04 |
4 |
|
Не знаю, ввожу размер от 2 до 20, другой и не позволит, потом ввожу целые числа в количестве равном размеру, программа выдает сумму. Никаких ошибок нет. Проверьте правильность кода. Добавлено через 20 минут
Выход за нижнюю границу массива.» Может у вас вместо i:=i+1 написано i:=i-1?
1 |
|
0 / 0 / 0 Регистрация: 10.06.2015 Сообщений: 8 |
|
|
14.06.2015, 17:32 [ТС] |
5 |
|
Простите, просто я невнимательный. Все в порядке. Спасибо.
0 |
|
0 / 0 / 0 Регистрация: 18.06.2015 Сообщений: 12 |
|
|
22.06.2015, 18:42 |
6 |
|
Код алг нач цел n,i,s цел таб k[1:20] вывод "Введите размер последовательности n от 2 до 20", нс ввод n если (n<2)или(n>20) то вывод "Неверный размер последовательности" все если (n>1)и(n<=20) то вывод "Введите элементы последовательности, целые числа", нс s:=0 i:=0 нц n раз i:=i+1 ввод k[i] s:=s+k[i] кц вывод "Сумма=",s все кон Помогите мне.
0 |
Практическая работа «КУМИР. Суммирование элементов массива»
Оценка 4.7
Данную разработку можно использовать при проведении практической работы на уроке при изучении раздела одномерные массивы на языке программирования КУМИР. В разработке предоставлена задача на суммирование элементов массива, описаны этапы разработки программы. Также учащимся предлагается составить программы для решения 19 задач, а также творческое задание по составлению своей задачи по данной теме.
Материалы на данной страницы взяты из открытых истончиков либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.
ДЕПАРТАМЕНТ ОБРАЗОВАНИЯ ГОРОДА МОСКВЫ
ГОСУДАРСТВЕННОЕ
БЮДЖЕТНОЕ
ОБЩЕОБРАЗОВАТЕЛЬНОЕ
УЧРЕЖДЕНИЕ
«ГИМНАЗИЯ
№ 1591»
Научно-исследовательская
работа
«Обработка одномерных массивов в среде
КУМИР»
Выполнили:
Ученики
9 класса
Вуколов
Егор,
Куранов
Данила
Руководитель
работы:
Учитель
информатики и ИКТ
О.В.
Яковлева
Москва 2017
Оглавление
1. Введение
2. Глава 1. Знакомство с массивами.
1.1. Одномерные и двумерные массивы. Определение
1.2 Алгоритмы сортировки массивов по убыванию или по возрастанию
1.3 Алгоритм поиска элемента массива по условию
3. Глава 2. Основы программирования на языке КУМИР.
2.1. Основные принципы построения программ в среде
КУМИР.
2.2. Описание
переменных
2.3. Основные операторы
2.4. Основные алгоритмические
структуры.
4. Глава 3 Программирование на языке КУМИР.
3.1 Примеры решение задач, содержащих массивы на языке
3.2 Трассировка программы для отслеживания значения
переменной
5. Глава 4 Исследовательская деятельность
4.1 Разработка рекомендаций по решению заданий
содержащих массивы
4.2 Разбор заданий № 9,10 ОГЭ, применяя наши
рекомендации
4.3 Опрос учеников, применявших наши рекомендации
6. Выводы
7. Заключение
8. Список
использованной литературы
1. Введение
Одной из задач
курса Информатика и ИКТ в школе является освоение приемов построения простых
вычислительных алгоритмов и их реализации на языке программирования,
познакомиться с азами работы систем программирования.
Кумир — очень
удобен для изучения основ алгоритмизации и программирования. Этот среда имеет
интерфейс на русском языке. И поможет ученикам сформировать алгоритмическое
мышление. Умение писать программы, а также умение планировать, которое
необходимо каждому человеку.
Гипотеза:
Предположим, что наши исследования помогут успешно сдавать экзамены
Проблема: Требуется
алгоритм решения экзаменационных задач, содержащих одномерные массивы данных
Объект
исследования:
Одномерный массив
Предмет
исследования: Способы обработки одномерных массивов
Цель исследования: разработать
рекомендации для решений заданий ОГЭ и написания программ в среде КУМИР,
содержащих массивы.
Задачи:
Задачи:
1. Изучить
теоретический материал по теме;
2. Решить
типовые задачи на массивы из материалов ОГЭ;
3. Выработать
рекомендации решения таких задач;
4. Провести
тестирование эффективности решения задач, используя наши рекомендации;
5. Опросить
одноклассников о эффективности наших рекомендаций
Методы исследования:
1) сбор
информации;
2) систематизация,
обобщение;
3) тестирование,
опрос, выводы.
Актуальность выбранной темы
Актуальность работы заключается в
повышении эффективности учебы с помощью информационно-коммуникационных
технологий и применения специально разработанных правил для решения
экзаменационных задач
Практическая часть может использоваться на
занятиях по подготовке к ОГЭ, на уроках темы «Программирование»
2.
Глава 1. Знакомство с массивами.
1.1. Одномерные и
двумерные массивы. Определение.
Массив –совокупность
переменных одного типа, объединенных общим именем и различаемых с помощью
выражения порядкового типа, называемого индексом. Порядковый тип —тип, для
каждого элемента которого однозначно определен следующий и предыдущий элементы.
Так, например, для числа 3 однозначно определено следующее число: 4 и
предыдущее: 2.
Каждая из этих переменных
называется элементом массива. Индекс массива должен принимать столько различных
значений, сколько в массиве элементов. Каждому элементу соответствует свое
значение индекса.
Тип переменных, входящих в
массив может быть любым (одинаковым для всех элементов одного массива). В том
числе переменные, входящие в массив могут быть, в свою очередь, массивами –в
этом случае возникает необходимость использования двух индексных выражений для
указания конкретной переменной. Такие массивы называют двумерными.
Представим себе одномерные
массивы (с одним индексом) как некий список значений, а двумерные массивы (с
двумя индексами) как таблицу.
Одномерный массив
Двумерный массив
1.2
Алгоритмы сортировки массивов по убыванию или по возрастанию
Алгоритм «Сортировка
выбором».
Является одним из самых простых алгоритмов
сортировки массива. Смысл в том, чтобы идти по массиву и каждый раз искать
минимальный или максимальный элемент массива, обменивая его с начальным
элементом неотсортированной части массива.
Алгоритм:
1. Находим минимальный или максимальный
элемент в массиве.
2. Меняем местами минимальный (или
максимальный) и первый элемент местами.
3. Опять ищем минимальный (или
максимальный) элемент в неотсортированной части массива
4. Меняем местами уже второй элемент
массива и минимальный (или максимальный) найденный, потому как первый элемент
массива является отсортированной частью.
5. Ищем минимальные (или максимальные) значения
и меняем местами элементы, пока массив не будет отсортирован до конца.
Сортировка по возрастанию элементов
1.3
Алгоритм поиска элемента массива по условию
Общий алгоритм поиска в массиве
определенного элемента можно представить следующим образом:
Блок-схема поиска требуемого элемента в
массиве
3.
Глава 2. Основы программирования на языке КУМИР.
2.1. Основные принципы построения программ в среде КУМИР.
Начинается
программа с названия
АЛГ <название
программы как на русском или английском языке>
Главное чтобы оно
не начиналось с цифры, было не многословным, и вкратце отражала задачу.
НАЧ (НАЧАЛО)
КОН (КОНЕЦ) <
между ними пишется вся программа>
Сразу после
служебного слова НАЧ нужно описать переменные, которые будут использоваться в
программе (например цел а).
2.2. Описание переменных
Величины,
с которыми работает КуМир-программа, подразделяются на несколько типов. В языке
КуМир предусмотрены следующие типы величин:
•
цел — принимает целые значения от -2147483647 до 2147483647
•
вещ — принимает вещественные значения между −21023 и 21023
•
лог — принимает значения да или нет (– да=1, нет=0)
•
сим — значением может быть любой литеральный символ
•
лит — значением может быть строка литеральных символов
Типы
цел и вещ называются числовыми;
типы
сим и лит — текстовыми.
В языке КУМИР
используются простые и табличные величины (таблицы). Для таблиц кроме того
определена размерность (бывают таблицы размерностей 1 и 2 т. д.). Для каждого измерения
определены границы изменения индекса таблицы по этому измерению — два целых
числа.
Каждая величина
должна иметь описание. Это может быть сделано с помощью оператора описания.
Команда описания простой величины состоит из ключевого слова нужного типа (цел,
вещ, сим, лит, лог), за которым следует список имен величин.
Пример: цел j, k,
n
Для описания
таблиц после описания типа нужно указать ключевое слово таб (слитно или
раздельно с ключевым словом типа). Размерность таблицы и границы изменения
индексов указываются после имени каждой величины.
Примеры: цел таб
k[-5:5]
Здесь k — линейная
таблица, состоящая из 11 элементов целого типа. Индексы элементов принимают
значения от -5 до 5.
вещтаб tab[1:4,
1:12]
Таблица tab —
прямоугольная. В ней 48 элементов — 4 строки и 12 столбцов.
2.3. Основные операторы
Оператор присваивания
Знак := — это знак присваивания, т.е. в
ячейку памяти с определенным именем помещается определенное значение или
результат вычисления выражения.
Команда вывода на экран текст или
значение переменной.
вывод “ привет мир !”
вывод с
Команда вводит с клавиатуры значение
переменной и помещает в указанную ячейку памяти
Ввод с
2.4. Основные алгоритмические
структуры.
Линейный
алгоритм – все команды выполняются друг за другом
Блок-схема линейной части
алгоритма

квадрат
нач
вещ
к, х
ввод
х
к
:= х*х
вывод
к
кон
Разветвляющие алгоритмы –
после проверки условия алгоритм расходится на две ветки
Блок-схема разветвленного
алгоритма

<условие> то
<действие
1>
иначе <действие
2>
все
Базовые
циклические алгоритмы.
Циклы – алгоритмы, в
которых некоторые команды повторяются неоднократно.
Блок-схема цикла со счетчиком
(цикл с известным числом повторений).
цел
I,
N
нц
для I
от 0 до N
…
тело цикла
кц
Цикл с предусловием ПОКА
Цикл
с предусловием — цикл, который выполняется пока истинно некоторое условие,
указанное перед его началом.

цикла ПОКА
нц пока <условие>
<тело цикла>
кц
4.
Глава 3 Программирование на языке КУМИР.
3.1 Примеры решение задач, содержащих массивы на языке
КУМИР.
Задача 1. Найти сумму всех элементов
массива
алг сумма (арг цел n,
вещ таб A[1;n],
рез вещ S
)
нач цел i
нц для i
от 2 до n
S:=S+A[i]
кц
вывод S
кон
Задача 2. Найти максимальное значение
массива
алг сумма (арг цел n, вещ таб A[1;n], рез
вещ макс )
нач цел i
макс:= A[i]
нц для i от 2 до n
если A[i]>макс
то макс:= A[i]
все
кц
вывод макс
кон
Задача 3. Найти количество положительных
элементов массива
алг сумма (арг цел n, вещ таб A[1;n], рез
цел k
)
нач цел i
k:=0
нц для i от 1 до n
если A[i]>0
то k:=k+1
все
кц
вывод k
кон
Задача 4. Найти сумму нечетных элементов
3.2 Трассировка программы для отслеживания значения переменной
Трассировка нужна
для понимания чужой программы и для проверки правильности написания своей. Используют
метод пошагового выполнения программы с отслеживанием значений всех переменных.
Трассировка
программы к задаче сортировки массива методом выбора
5.
Глава 4 Исследовательская деятельность
4.1 Разработка рекомендаций по
решению заданий содержащих массивы
1. Просмотрите
программу и решите к какому типу алгоритмической структуры она относится:
v Ветвление;
v Циклы;
v Циклы,
содержащие условный алгоритм.
2. Если
программа содержит циклы используйте трассировку программы для нахождения
результата
3. Обратите
внимание на условие в теле цикла (если есть)
4. Проанализируйте
действие в теле цикла
5. Соедините
условие с действием, сделайте вывод, какой смысл заложен в программе (выбор
наибольшего элемента, подсчет элементом меньше заданного и т.д.)
6. Посчитайте
количество повторений в цикле или проанализируйте условие продолжение цикла
7. Для
проверки правильности результата подставьте несколько вариантов исходных
данных.
4.2
Разбор заданий № 9,10 ОГЭ, применяя наши рекомендации
Задание
№ 9
1. Запишите
значение переменной s, полученное в результате работы следующей
программы.
|
алг нач цел s, k s := 0 нц для k от 3 до 7 s := s + 6 кц вывод s кон |
Трассировка k s 3 0+6=6 4 6+6=12 5 12+6=18 6 18+6=24 7 24+6=30 Повторений цикла: 5 Каждое повторение в теле цикла прибавляется Заменим сложение умножением. |
||||
2. Запишите
значение переменной s, полученное в результате работы следующей
программы.
|
алг нач целтаб Dat[1:10] цел к, m, term Dat[1] := 7 Dat[2] := 7 Dat[3] := 6 Dat[4] := 8 Dat[5] := 4 Dat[6] := 5 Dat[7] := 4 Dat[8] := 7 term:=1 m := Dat[1] нц для к от 2 до 8 если Dat[к] < m то m:= Dat[k] term := k все КЦ вывод term КОН |
Решение:
Трассировка программы
k Dat[к] проверка условия m
(кладем значение Dat[к] ) term( кладем к)
2 7 ложь 7<7
7 1
3 6 Истина 6< 7
6 3
4 8
Ложь 6 3
5 4 Истина
4 5
6 5
Ложь 4
5
7 4 Ложь 4
5
8 7
Ложь 4
5
Ответ 5 Программа находит минимальный элемент
среди Dat[к] сравнивая их
И выводит его порядковый номер
4.3
Опрос учеников, применявших наши рекомендации
Ученикам 9-х классов был представлен
разбор заданий № 9, 10 ОГЭ. Были розданы для самостоятельной работы,
разработанные нами рекомендации для решения этих заданий и других задач по теме
«Программирование». После этого предлагалась опросный лист с вопросом:
Помогли ли тебе наши рекомендации?
Ответы:
Помогли, я стал(а) разбираться в
программах на массивы………………………………………..63%
Скорее да, чем нет………………………….12%
Я разбирался(лась)…………………………..1%
Нет, не помогли……………………………….18%
Не понял(а), что написано…………..………6%
6.
Выводы
Для понимания работы программы,
необходимо:
1. Применять трассировку программы
2. Обратить внимание на условие в
теле цикла
3. Проанализировать действие в теле
цикла
4. Соединить условие с действием,
сделайте вывод, какой смысл заложен в программе
5. Посчитать количество повторений в
цикле или проанализируйте условие продолжение цикла
7.
Заключение
Задачи поиска
данных занимают в информатике исключительно важное место. С одной стороны,
информационный поиск вообще является одним из важнейших предназначений
современной компьютерной техники. Из огромного количества прикладных задач,
связанных с поиском, можно назвать, например, выполнение запросов к базам
данных, поиск заданного текста в файле, поиск страниц в Интернете. В этих
примерах сама постановка задачи явно указывает на необходимость выполнения
поиска данных.
С другой стороны, при подробном
рассмотрении алгоритмов, по которым работают различные системные и прикладные
программы, можно обнаружить, что значительное место в их работе занимают
процедуры поиска данных в разного рода внутренних таблицах. Когда пользователь
вводит с клавиатуры команду, система должна отыскать эту команду в таблице,
чтобы выполнить соответствующие действия. При работе транслятора с любого языка
программирования постоянно выполняется поиск в таблицах имен, ключевых слов и
операций. В таких случаях понятие поиска не входит в исходную постановку, а возникает
как необходимое условие успешной реализации алгоритмов, решающих задачу.
Самым распространенным представлением
таблицы в памяти является массив записей. Мы разобрали упрощенное представление
таблицы, которая состоит из простых элементов, которые сравниваются и
переставляются как единое целое. Но затронули мы важнейшую тему сегодняшнего
дня: поиск информации. И каждый грамотный человек должен представлять как это
происходит, внутри универсального устройства для обработки информации.
8.
Список использованной литературы
1. Информатика
7-9 кл.: Учеб. Для общеобразоват. Учреждений/ А.Г. Кушниренко, Г.В. Лебедев,
Я.Н. Зейдельман._М.:Дрофа,2003.-336 с.
2. Азы
программирования: Факультативный курс 5-9 кл./ А.А.Дуванов. СПб.:БХВ-Петербург,
2005.-496 с.
3. Паскаль
для школьников/ Д. М. Ушаков, Т. А. Юркова.-СПб.: Питер, 2010,- 256 с.
Оглавление:
- 1 Задача — Сумма и произведение элементов массива
— программирование на Pascal, Си, Кумир, Basic-256, Python- 1.1 Pascal
- 1.2 Язык Си
- 1.3 Python
- 1.4 КуМир
- 1.5 Basic-256
Задача — Сумма и произведение элементов массива
— программирование на Pascal, Си, Кумир, Basic-256, Python
Заполнить массив вещественных чисел вводом с клавиатуры. Посчитать сумму и произведение элементов массива. Вывести на экран сам массив, полученные сумму и произведение его элементов.
- Присвоить переменной, в которой будет храниться сумма, значение 0, а переменной для произведения — значение 1.
- В цикле увеличивая индекс массива от начала до конца
- считывать с клавиатуры число и записывать его в текущую ячейку массива,
- увеличивать переменную с суммой на введенное число.
- умножать переменную с произведением на введенное число.
- В цикле увеличивая индекс массива от начала до конца вывести все элементы массива.
- Вывести сумму и произведение.
Pascal
const N = 10;
var
a: array[1..N] of real;
sum, mult: real;
i: integer;
begin
sum := 0;
mult := 1;
for i:=1 to N do begin
read(a[i]);
sum := sum + a[i];
mult := mult * a[i];
end;
for i:=1 to N do write(a[i]:5:2);
writeln;
writeln(sum:5:2);
writeln(mult:5:2);
end. 4.3 2.3 4.5 3.3 8.3 1.2 8.3 9.1 2.3 3.6
4.30 2.30 4.50 3.30 8.30 1.20 8.30 9.10 2.30 3.60
47.20
914812.11
Язык Си
#include <stdio.h>
#define N 10
main() {
float a[10], sum, mult;
int i;
sum = 0;
mult = 1;
for (i=0; i < 10; i++) {
scanf(«%f», &a[i]);
sum += a[i];
mult *= a[i];
}
for (i=0; i < 10; i++) {
printf(«%.2f «, a[i]);
}
printf(«n%.2fn», sum);
printf(«%.2fn», mult);
}
Python
a = [0]*10
s = 0
m = 1
for i in range(10):
a[i] = float(input())
s += a[i]
m *= a[i]
print(a)
print(s)
print(‘%.4f’%m)
КуМир
алг сумма элементов
нач
цел N=10
вещ таб a[1:N]
вещ sum, mult
цел i
sum := 0
mult := 1
нц для i от 1 до N
ввод a[i]
sum := sum + a[i]
mult := mult * a[i]
кц
нц для i от 1 до N
вывод a[i], » »
кц
вывод нс, sum, нс
вывод mult
кон
Basic-256
dim a(10)
sum = 0
mult = 1
for i=0 to 9
input a[i]
sum = sum + a[i]
mult = mult * a[i]
next i
for i=0 to 9
print a[i] + » «;
next i
print
print sum
print mult
Did you find apk for android? You can find new Free Android Games and apps.
Перейти к контенту

Вывести на экран сумму положительных четных чисел в массиве
На данном уроке выведем сумму положительных чётных элементов элементов массива в одномерном массиве на языке программирования КуМир.
алг вывести на экран сумму положительных четных чисел в массиве
нач цел таб x[1:5], цел i,s
s:=0
вывод 'Введите 5 чисел: '
нц для i от 1 до 5
ввод x[i]
кц
нц для i от 1 до 5
если mod (x[i],2) =0 то
если x[i]>0 то
s:=s+x[i]
все
все
кц
вывод "Ответ: ", s
кон
Для проверки программы введите последовательно числа:
3
9
4
2
-5
Ответ: 6
Самостоятельная работа
Вывести на экран произведение отрицательных нечетных чисел в массиве.
Ответ напишите в комментариях этого поста

Сообщение было отмечено Jejka как решение









