Файл: Методическая тема Основы программирования в 89 классах.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 12.12.2023
Просмотров: 36
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Муниципальное бюджетное общеобразовательное учреждение
" Средняя общеобразовательная школа №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 <начало программного блока>
<оператор 1>;
<оператор 2>;
. . .
<оператор n>
end.
Операторы - языковые конструкции для записи действия, выполняемого над данными в процессе решения задачи.
Организация ввода и вывода данных:
Ввод в оперативную память значений переменных выполняют операторы вводаreadи readln.
read(<имя переменной1>, …, <имя переменной N>
Вывод данных из оперативной памяти на экран монитора выполняют операторы вывода write и writeln.
write <выражение 1> ,< выражение 2> , ...,< выражение 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 <оператор_1> else <оператор_2>
Для записи неполных ветвлений используется неполный условный оператор:
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]);
Решение разнообразных задач, связанных с обработкой массивов, базируется на решении таких типовых задач, как:
- суммирование элементов массива;
- поиск элемента с заданными свойствами;