Какой язык программирования изучать в средней школе?

Раздел «Алгоритмы и элементы программирования» в курсе информатики средней школы является одним из самых сложных для изучения. Тем не менее, в требованиях ФГОС среди планируемых предметных результатов есть следующее: «создавать на алгоритмическом языке программы для решения типовых задач». Я знаю примеры, когда в школах отказываются от изучения языка программирования и рассматривают поверхностно только алгоритмические конструкции, основываясь на нехватке времени и сложности изучаемой темы.

На мой взгляд, это глубоко ошибочная позиция. Сегодня современные дети владеют IT-технологиями зачастую лучше, чем учитель, поскольку они погружены в них, это часть их жизни. Но развитие алгоритмического и логического мышления отстает от сверстников поколением старше. Именно математика и программирование может спасти ситуацию.

Но какой язык программирования изучать в школе? Сейчас в большинстве случаев это Pascal, реже можно встретить С++ и Python. На языке Pascal выросло целое поколение программистов. Преклоняюсь перед его компиляторами, которые «терпят» самые непредсказуемые эксперименты детей, а в ответ на них просто и спокойно «отвечают», что те сделали не так.

Куда сложнее с С++ и Python. Необходимо целое искусство установить среду программирования (IDE) и компилятор на свой компьютер. Но с этим стоит помучиться! Мы будем вознаграждены практически неограниченными возможностями системы, быстродействием в случае с С++ и универсальностью работы с данными в случае с Python. А что Pascal? Pascal сегодня скорее мертв, чем жив. Сейчас он не применяется на практике, и ребята это знают. Мотивация как таковая пропадает напрочь.

Мне в своей практике приходилось использовать все три языка. Хочу поделиться некоторыми своими размышлениями по этому поводу.

Сравним некоторые функциональные возможности и удобство применения.

Ввод/вывод. В С++ используется потоковый ввод/вывод данных. Первоначально ребятам нужно объяснить, что такое поток, формат операторов ввода/вывода, не забыть про стандартную библиотеку iostream. Затем нужно рассмотреть форматный вывод данных с использованием библиотеки iomanip, управляющие последовательности и манипулятор endl.

В языке Pascal используются аналогичные конструкции, за исключением потоков ввода/вывода. С этим здесь, пожалуй, проще.

Наиболее простой вход в язык все же у Python. Пара строк – и программа готова! Но не стоит относиться к нему легковесно. Это мощнейшая система для разработки проектов. И что легко вначале, не означает, что так же будет в дальнейшем. Также важно предупредить ребят, что ввод данных осуществляется в строковом типе.

Типы данных. В С++ и Pascal есть множество различных типов данных. Наиболее используемые на начальном этапе представлены в таблице. В Python же с этим все просто: тип данных определяется системой автоматически. Следует обратить внимание на хранение переменных в Python, оно отличается ссылочным типом.

Алгоритмические конструкции в представленных языках работают без особенностей, отличия только в синтаксисе. В Python важны отступы в 4 пробела во вложенных структурах. Он относится к интерпретируемым языкам, это придает особую гибкость, программу можно выполнять построчно.

Что касается среды программирования, я не берусь в данной статье давать какие-либо рекомендации, дабы не быть обвиненной в рекламе продуктов, хотя, конечно, у меня есть свои предпочтения.

Очевидно, что разнообразие представленных сейчас в мире языков программирования (это и неупомянутый JAVA) заставляет учителей информатики быть в курсе трендов IT-индустрии, постоянно изучать новое, и это позволяет говорить с детьми на одном языке. Известно, что дети всегда стремятся к новому с большим интересом.

Конечно, решать учителю, какой язык программирования преподавать, но выбор детей на сегодняшний день явно не Pascal, и в этом я с ними соглашусь, так как он давно уже отстал от своих конкурентов.

С++ и Python – это мощнейшие современные системы программирования с множеством включенных библиотек, на основе которых ведутся разработки крупных проектов, больших данных и искусственного интеллекта. И к этим проектам можно приобщать детей, решая посильные для них задачи. В свою очередь, ребята, добившись малого, хотят достичь большего, и так дальше, к вершинам успеха.

Эти языки хороши в олимпиадном программировании, причем каждый по-своему. Если на языке С++ программируют дети, участвующие во Всероссийской олимпиаде школьников по информатике, в силу быстродействия, то Python предпочитают ребята, участвующие в проектных олимпиадах, таких как НТИ (национальная технологическая инициатива), в направлениях, где программирование – один из основополагающих навыков: (Big Data, финтех, геоинформатика и др.).

Таблица 1

  Pascal C++ Python
Структура простейшей программы вычисления

a + b

Program Primer;

var

  a,b:integer;

begin

  read(a,b);

  writeln(a+b);

end.

#include <iostream>

using namespace std;

int main()

{

    int a,b;

    cin >> a >> b;

    cout << a + b << endl;

    return 0;

}

a=int(input())

b=int(input())

print(a+b)

Основные используемые типы данных Integer

LongInt

Real

Double

boolean

Char

string

4 байт

8 байт

6 байт

8 байт

1 байт

1 байт

1 байт на 1 символ

Int

long long

Float

Double

Bool

Char

string

4 байт

8 байт

4 байт

8 байт

1 байт

1 байт

1 байт на 1 символ

Тип данных определяется автоматически (без объявления типа). Примеры:

Целые – 4

С плавающей запятой —
4.7

Целые длинные – 4352345325L

Условный оператор if a>b then a:=a+1

    else b:=b+1;

if (a>b) a++;

    else b++;

if (a>b):

    a=+1;

else:

    b=+1;

Цикл с параметром for i:=1 to n do

    k:=k+1;

for (int i=0; i<n; i++)

    k++;

for i in range(n):

k++;

Цикл с предусловием i: = 0;

while i < n do

    begin

      k:=k+1;

      i:=i+1;

     end;

i = 0;

while ( i < n)

{

k++;

i++;

}

i = 0

while i < n:

k++

i++

 

           
Ольга БЕЛЯЕВА,
учитель математики и информатики высшей квалификационной категории Лицея Иннополис, г. Иннополис

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *