Муниципальное бюджетное общеобразовательное учреждение
" Средняя общеобразовательная школа №1"
г. Сергиев Посад
Методическая тема
«Основы программирования в 8-9 классах»
Составитель: учитель информатики
Малинина Анна Сергеевна
2020
Введение
Изучение алгоритмов и языков программирования является неотъемлемой частью информатики. Основной целью курса информатики в новом государственном стандарте образования является формирование у школьника основ алгоритмического мышления. Под способностью алгоритмически мыслить понимается умение решать задачи различного происхождения, требующие составления плана действий для достижения желаемого результата. Для записи алгоритмов в первую очередь предлагается использовать формальные языки блок-схем и структурного программирования. Однако, стандарт не дает методических рекомендаций по выбору языка программирования и методики его изучения. Наиболее важным и сложным обстоятельством для учителя, таким образом, становится выбор изучаемого языка программирования, учитывая уровень обучения, профиль класса и планируемые результаты обучения.
Основной целью курса в стандарте основного общего образования является формирование у школьника основ алгоритмического мышления. Под способностью алгоритмически мыслить понимается умение решать задачи различного происхождения, требующие составления плана действий для достижения желаемого результата. Для записи алгоритмов предлагается использовать формальные языки блок-схем и структурного программирования. Предполагается, что с самого начала работа с алгоритмами поддерживается компьютером.
Языки программирования в школьном курсе информатики делятся на две группы: учебные языки (КуМир, Робик, Рапира, АЯ) и профессиональные языки (BASIC, Pascal, Си, Visual Basic, С++...), профессиональные в свою очередь делятся на процедурные и объектно-ориентированные.
Основные базовые учебные элементы:
1.Линейные программы. Их ограниченность: невозможность предусмотреть зависимость последовательности выполняемых действий от исходных данных.
2.Конструкции ветвления (условный оператор) и повторения (операторы цикла в форме «пока» и «для каждого»).
3.Имя алгоритма и тело алгоритма. Использование в теле алгоритма имен других алгоритмов. Вспомогательные алгоритмы.
4.Величина (переменная): имя и значение. Типы величин: целые, вещественные, символьные, строковые, логические. Знакомство с табличными величинами (массивами). Представление о структурах данных.
5.Примеры задач управления исполнителями, в том числе —обработки числовых и строковых данных; реализация алгоритмов решения в выбранной среде программирования. Сортировка и поиск: постановка задач.
6.Примеры коротких программ, выполняющих много шагов по обработке небольшого объёма данных; примеры коротких программ, выполняющих обработку большого объёма данных.
7.Сложность вычисления: количество выполненных операций, размер используемой памяти; их зависимость от размера исходных данных.
8.Понятие об этапах разработки программ и приемах отладки программ.
Изучение основ программирования в 8-9 классах строится на базе языка Паскаль. В 8 классе учащиеся знакомятся с алфавитом этого языка, типами данных, основными функциями и операциями, а также алгоритмическими конструкциями.
Язык программирования Паскаль был разработан Н. Виртом в 1968 -1970 годах. Алфавит языка программирования Паскаль - набор допустимых символов, которые можно использовать для записи программы. Этот язык состоит из букв латинского алфавита (прописных – А, В, С, D ... X, Y, Z, строчных – а, b, с ... x, у, z), арабских цифр (0, 1, 2, 3,4, 5, 6, 7,8,9) и специальных символов.
Словарь языка представлен в таблице 1 ниже:
Таблица 1 «Словарь языка Паскаль»
Служебное слово языка Паскаль | Значение служебного слова |
and | и |
array | массив |
begin | начало |
do | выполнить |
else | иначе |
for | для |
if | если |
of | из |
or | или |
procedure | процедура |
program | программа |
repeat | повторять |
then | то |
to | до (увеличивая до) |
until | до (до тех пор, пока) |
var | переменная |
while | пока |
Следующий момент – это знакомство с основными типами данных (таблица 2).
Таблица 2 «Простые типы данных»
Название | Обозначение | Допустимые значения | Область памяти |
Целочисленный | integer | - 32 768 … 32 767 | 2 байта со знаком |
Вещественный | real | (2.9 *10-39 …1.7*10+38) | 6 байтов |
Символьный | char | Произвольный символ алфавита | 1 байт |
Строковый | string | Последовательность символов длиной меньше 255 | 1 байт на символ |
Логический | boolean | True и False | 1 байт |
Общий вид программы на языке Паскаль имеет вид:
program ;
const ;
var ;
begin
;
;
. . .
end.
Операторы - языковые конструкции для записи действия, выполняемого над данными в процессе решения задачи.
Организация ввода и вывода данных:
Ввод в оперативную память значений переменных выполняют операторы ввода read и readln.
read(, …,
Вывод данных из оперативной памяти на экран монитора выполняют операторы вывода write и writeln.
write , , ..., N
В таблице 3 представлены варианты организации вывода:
Таблица 3 «Варианты вывода»
Вариант организации вывода | Оператор вывода | Результат |
Без разделителей | write (1, 20, 300). | 120300 |
Разделители – запятые | write (1, ’,’ , 20, ’, ’, 300) | 1, 20, 300 |
Разделители – пробелы | write (1, ‘ ‘, 2, ‘ ‘, 3) | 1 20 300 |
При изучении программирования линейных алгоритмов мы знакомимся с основными операциями и стандартными функциями языка Паскаль (таблицы 4 и 5).
Таблица 4 «Операции над числами в Паскале»
Операция | Обозначение |
Сложение | + |
Вычитание | - |
Умножение | * |
Получение целого частного | div |
Получение целого остатка деления | mod |
Деление | / |
Таблица 5 «Стандартные функции в Паскале»
Функция | Назначение | Тип аргумента | Тип результата |
abs (x) | Модуль x | integer, real | Такой же, как у аргумента |
sqr (x) | Квадрат x | integer, real | Такой же, как у аргумента |
sqrt (x) | Квадратный корень из x | integer, real | real |
round (x) | Округление х до ближайшего целого | real | integer |
int (x) | Целая часть x | real | integer |
frac (x) | Дробная часть x | real | real |
random | Случайное число от 0 до 1 | - | real |
random (x) | Случайное число от 0 до x | integer | integer |
При записи на языке Паскаль разветвляющихся алгоритмов используют условный оператор:
if then else
Для записи неполных ветвлений используется неполный условный оператор:
if then
Если при некотором условии требуется выполнить определённую последовательных операторов, то их объединяют в один составной оператор, имеющий вид: begin end
В языке Паскаль имеются три вида операторов цикла:
while (цикл-ПОКА)
while условие do оператор
Здесь:
условие - логическое выражение;
пока оно истинно, выполняется тело цикла;
оператор - простой или составной оператор, с помощью которого записано тело цикла.
repeat (цикл-ДО)
repeat оператор1; оператор2; …; until условие
Здесь:
оператор1; оператор2; … - операторы, образующие тело цикла;
условие - логическое выражение; если оно ложно, то выполняется тело цикла.
for (цикл с параметром)
for параметр:=начальное_значение
to конечное_значение do оператор
Здесь:
параметр - переменная целого типа;
начальное_значение и конечное_значение - выражения того же типа, что и параметр;
оператор - простой или составной оператор - тело цикла.
Если число повторений тела цикла известно, то лучше воспользоваться оператором for; в остальных случаях используются операторы while и repeat.
В 9 классе продолжается изучение языка Паскаль. Ученики знакомятся с понятиями массива, операциями над числами массива, вспомогательными алгоритмами, алгоритмами управления.
Массив - это поименованная совокупность однотипных элементов, упорядоченных по индексам, определяющим положение элемента в массиве.
Общий вид описания массива:
var : array [ ..
] of ;
Способы заполнения массива:
1 способ. Ввод каждого значения с клавиатуры:
for i:=1 to 10 do read (a[i]);
2 способ. С помощью оператора присваивания (по формуле):
for i:=1 to 10 do a[i]:=i;
3 способ. С помощью оператора присваивания (случайными числами):
randomize;
for i:=1 to 10 do a[i]:=random(100);
Вывод массива:
1 способ. Элементы массива можно вывести в строку, разделив их пробелом:
for i:=1 to 10 do write (a[i], ' ');
2 способ. Вывод с комментариями:
for i:=1 to 10 do writeln ('a[', i, ']=', a[i]);
Решение разнообразных задач, связанных с обработкой массивов, базируется на решении таких типовых задач, как:
- суммирование элементов массива;
- поиск элемента с заданными свойствами;
- сортировка массива.
Запись вспомогательных алгоритмов в языках программирования осуществляется с помощью подпрограмм. В Паскале различают два вида подпрограмм: процедуры и функции.
Процедура - подпрограмма, имеющая произвольное количество входных и выходных данных.
Функция - подпрограмма, имеющая единственный результат, записываемый в ячейку памяти, имя которой совпадает с именем функции.
Последовательность команд по управлению объектом, приводящая к заранее поставленной цели, называется алгоритмом управления.
Управление - процесс целенаправленного воздействия на объект; осуществляется для организации функционирования объекта по заданной программе.
Обратная связь - это процесс передачи информации о состоянии объекта управления в управляющую систему.
Более детально программированием целесообразно заниматься с заинтересованными ребятами на внеурочных занятиях.
Заключение
В результате освоения курса информатики в основной школе учащиеся получат представление о методах представления и алгоритмах обработки данных, дискретизации, о программной реализации алгоритмов; У выпускников будут сформированы:
основы алгоритмической культуры;
умение составлять несложные программы.
Обучающиеся познакомятся с одним из языков программирования и основными алгоритмическими структурами —линейной, условной и циклической; получат опыт написания и отладки программ в выбранной среде программирования.