Вивчення алгоритмізації у шкільній інформатиці має напрямки для розвитку алгоритмічного мислення учнів, та вивчення технології створення програм.На сьогоднішній день існує величезна кількість мов програмування, які і розрізняються і схожі між собою.Вибір сучасних систем візуального проектування на початковому етапі навчання програмуванню пов'язано з проблемою забезпечення сучасною комп'ютерною технікою значної кількості шкіл.
Тому я вважаю доцільно використовувати середовище програмування АЛГО. Наступним кроком я використовую систему Pascal ABC, яка заснована на мові Delphi Pascal і покликана здійснити поступовий перехід від найпростіших програм до модульного, об'єктно-орієнтованого, подієвого і компонентного програмування.
.Середовище програмування АЛГО
Створення форм у мові Pascal ABC
Зараз з'являється багато професій зв'язаних з програмуванням, математикою, фізики, економікою. Необхідно підготувати учнів до майбутнього. Учні користуються новими технологіями, але їм подобаються такі заняття, як ігри, спілкування в чатах з друзями, пошук інформації в Інтернеті. При цьому вони зовсім не орієнтовані на свідоме використання цих технологій та самореалізацію з їх допомогою. В якості першого кроку для вирішення цієї проблеми - це оволодіння необхідними знаннями та навичками в області алгоритмізації та програмування.
Програмування - грамотність нашого століття. Вміння програмувати розвиває аналітичне мислення, вчить мислити логічно, розвиває уяву. Тому програмування включено в обов’язкову державну програму інформатики. А у початковій школі вчить дітей мислити швидко і чітко: вони розуміють, як влаштований світ, встановлюють логічний ланцюжок подій і можуть передбачити, що буде далі. Чим раніше починається навчання програмуванню, тим винахідливішою і креативнішою стає людина. Декому це дивно чути, але в майбутньому всі будуть навчатись програмуванню.
За новою програмою, вивчення алгоритмізації та програмування повертається у шкільний курс інформатики і розглядається у кожній паралелі.
Вивчення алгоритмізації у шкільній інформатиці має напрямки для розвитку алгоритмічного мислення учнів, та вивчення технології створення програм. Учням дається уявлення про те, що таке мови програмування, що представляє собою програма мовою програмування високого рівня, та як вона створюється в середовищі системи програмування.
Вивчення алгоритмізації носить профорієнтаційний характер, в рамках шкільного курсу дозволяє учням випробувати свої здібності до такого роду діяльності і, при бажанні, вибрати у майбутньому професію.
Алгоритмізація у школі відповідає методу структурного програмування і є підготовчим етапом до вивчення об'єктно-орієнтованого програмування, актуального на сучасному етапі розвитку програмування.
Стандартна програма вивчення основ алгоритмізації передбачає наступну послідовність тем:
Яку мову краще всього почати вивчати? На це питання дуже важко відповісти, так як все залежить від вас і сфери діяльності, в якій ви плануєте застосовувати свої набуті знання.
Думки про те, яку мову програмування краще викладати в середній школі, різняться. Потрібно кожного школяра познайомити з програмуванням як з явищем, щоб він представляв потенціал комп'ютерних систем. Деякі вважають, що не важливо, яку мову програмування обрати: на уроці інформатики потрібно вчити не мови програмування, а методи програмування і системні підходи вирішення завдань. Потрібно розвивати алгоритмічне мислення і на прикладах знайомитися з принципами побудови сучасних комп'ютерних систем. У кожного викладача є свій список вимог до навчальної мови програмування. Наприклад, простий, інтуїтивний синтаксис, наявність високорівневих інструментів для виявлення і недопущення помилок і для налагодження програм, наявність якісної документації з прикладами.
Проблема криється в тому, що в школі стоїть завдання ознайомити з тим, що таке програмування і дати приблизне уявлення про те, як це робиться. З іншого боку IT-технологїї розвиваються дуже швидко, з'являються нові платформи, мови програмування. Сучасному програмісту доводиться постійно «тримати руку на пульсі». Саме тому програму навчання школярів програмування потрібно ретельно продумувати з поглядом у майбутнє.
Отже, вибір мови та системи програмування має принципове значення.
На сьогоднішній день існує величезна кількість мов програмування, які і розрізняються і схожі між собою. Причина такого явища стає зрозуміла, якщо уявити ту кількість і різноманітність завдань, які вирішується за допомогою обчислювальної техніки.
З одного боку, шкільна програма не передбачає підготовку фахівців і базові поняття алгоритмізації можна традиційно давати на Pascal. Це одна з кращих мов програмування для старту. Pascal був створений спеціально для навчання основам програмування. Але є «але»: мова застаріла, її ніхто не використовує в комерційних цілях. Можна, звичайно, почати вивчення програмування з Pascal, але після основ всім доведеться вчити нову мову, з іншим синтаксисом, з новими правилами.
Lazarus - середовище розробки, що використовує компілятор Free Pascal, але при цьому підтримує розробку сучасних віконних додатків. Позиціонується як сумісна з Delphi, але навчальний матеріал, написаний для останньої, можна застосувати не завжди. Інтерфейс більш складний у порівнянні з IDE Free Pascal. Рекомендується використовувати при достатньої кваліфікації викладача.
Використання С / С ++ в якості початкового мови програмування має також ряд проблем: в ньому багато конструкцій, що відлякують тих хто цікавиться програмуванням учнів. З іншого боку, ніхто не змушує вчителів показувати все глибини С. З ним можна працювати на тому ж рівні, що і з Паскалем, використовуючи відповідні конструкції.
Вибір сучасних систем візуального проектування (Delphi, Lazarus, Visual Studio та інші) на початковому етапі навчання програмуванню пов’язано з проблемою забезпечення сучасною комп’ютерною технікою значної кількості шкіл. Досвідченим вчителям не вистачає інтерактивних інструментів для викладання, які б відповідали шкільній програмі. В нашій школі комп’ютери 2003 року. Тому я вважаю доцільно використовувати середовище програмування АЛГО.
АЛГО дозволяє відображати команди програми однією з двох мов – англійською або українською. Для переходу на англійську мову, потрібно натиснути кнопку з англійським прапорцем, а на українську – з українським, або натиснувши на клавіатурі клавіші Ctrl+E та Ctrl+U відповідно. АЛГО надає можливість автоматичного впорядкування тексту програми (запису кожного оператора з нового рядка, відступів перед вкладеними операторами тощо). У середовищі АЛГО реалізована мова програмування Паскаль, яка була розроблена Н.Віртом спеціально для навчання програмуванню і одержала визнання завдяки наочності програм і легкості вивчення. Використовуючи шаблони та українську мову учні швидше пишуть і реалізовують програми на комп’ютері.
На початковому етапі вивчення певної структури алгоритму доцільно використовувати блок-схеми, які наочно демонструють базові структури алгоритмів та дають можливість сформувати правильну уяву про механізм роботи кожної із них. Ефективним засобом підвищення рівня сприйняття теорії алгоритмізації є використання середовищ з виконавцями, що наочно представляють механізм виконання алгоритмів та їх базових структур.
Програма «Вартість килима»
Програма v;
Змінна a,b,c,v:дійсна;
Початок
ВивестиРяд ('Вартість килима');
Вивести ('Довжина килимa a=');
Ввести(a);
Вивести ('Ширина килима b=');
Ввести(b);
Вивести('Ціна кв. м. c=');
Ввести(c);
V:=a*b*c;
Вивести('Вартість килима v=',v);
кінець.
Program v;
Var a,b,c,v:real;
Begin
WriteLn('вартість килима);
Write('довжина килимa a=');
Read(a);
Write('ширина килима b=');
Read(b);
Write('ціна кв. м. c=');
Read(c);
V:=a*b*c;
Write('вартість килима v=',v);
end.
Програма «Загальний опір послідовного з’єднання провідників»
Програма E3;
Змінна R,R1,R2,R3,R4 : дійсна;
Початок
ВивестиРяд('Електрика' );
Вивести('Опір першого провідника R1= ' );
Ввести(R1 );
Вивести( 'Опір другого провідника R2= ' );
Ввести( R2 );
Вивести( 'Опір третього провідника R3=' );
Ввести(R3 );
Вивести( 'Опір четвертого провідника R4=' );
Ввести( R4 );
R:=R1+R2+R3+R4;
Вивести( 'Загальний опір R=',R );
кінець.
Program E3;
Var R,R1,R2,R3,R4 : real;
Begin
WriteLn('Електрика' );
Write('Опір першого провідника R1= ' );
Read(R1 );
Write( 'Опір другого провідника R2= ' );
Read( R2 );
Write( 'Опір третього провідника R3=' );
Read(R3 );
Write( 'Опір четвертого провідника R4=' );
Read( R4 );
R:=R1+R2+R3+R4;
Write('Загальний опір R=',R );
еnd.
Програма «Обчислення значення змінної»
Програма E5;
Змінна х,у,z : дійсна;
Початок
ВивестиРяд('Змінна');
Вивести('x=');
Ввести(х);
Вивести('y=');
Ввести(у);
Z:=1+abs(y-x)+(sqr(y-x))/2+(abs(sqr(y-x)*(y-x)))/3;
Вивести('Значення Z =',Z);
кінець.
Program E5;
Var х,у,z : real;
Begin
WriteLn('Змінна');
Write('x=');
Read(х);
Write('y=');
Read(у);
Z:=1+abs(y-x)+(sqr(y-x))/2+(abs(sqr(y-x)*(y-x)))/3;
Write('Значення Z =',Z);
end.
Програма «Сума елементів масиву»
Програма E15;
Стала n=7;
Змінна a: масив [1..n] із дійсна; s: дійсна; i : ціла;
Початок
Вивести ('вводьте елементи масиву - ');
ВивестиРяд (n,' дійсних чисел через пропуск');
Для i := 1 до n виконати
Початок
Вивести('a[', i, '] =');
ВвестиРяд(a[i])
кінець;
s := 0;
Для i:=1 до n виконати
s :=s+a[i];
ВивестиРяд;
ВивестиРяд(' сума елементів масиву s=',s)кінець.
Program E15;
Const n=7;
Var a: array [1..n] of real; s: real; i : integer;
Begin
Write ('вводьте елементи масиву - ');
WriteLn (n,' дійсних чисел через пропуск');
For i := 1 to n do
Begin
Write('a[', i, '] =');
ReadLn(a[i])
end;
s := 0;
For i:=1 to n do
s :=s+a[i];
WriteLn;
WriteLn(' сума елементів масиву s=',s)
end.
Наступним кроком я використовую систему Pascal ABC, яка заснована на мові Delphi Pascal і покликана здійснити поступовий перехід від найпростіших програм до модульного, об'єктно-орієнтованого, подієвого і компонентного програмування. Деякі мовні конструкції в Pascal ABC допускають, поряд з основним, спрощене використання, що дозволяє використовувати їх на ранніх етапах навчання. Наприклад, в модулях може бути відсутнім поділ на секцію інтерфейсу і секцію реалізації. В цьому випадку модулі влаштовані практично так само, як і основна програма, що дозволяє приступити до їх вивчення паралельно з темою "Процедури і функції". Тіла методів можна визначати безпосередньо всередині класів (в стилі Java і C #), що дозволяє створювати класи практично відразу після вивчення записів, процедур і функцій.
Ряд модулів системи програмування Pascal ABC спеціально створювався для навчальних цілей:
Модуль растрової графіки GraphABC обходиться без об'єктів, хоча його можливості практично збігаються з графічними можливостями Borland Delphi.
Модуль Events дозволяє створювати найпростіші подієві програми без використання об'єктів (події являють собою звичайні процедурні змінні).
Модулі Timers і Sounds дозволяють створювати таймери і звуки, які також реалізовані в процедурному стилі. Ці модулі можна використовувати навіть в консольних програмах.
Модуль контейнерних класів Containers дозволяє працювати з основними структурами даних (динамічні масиви, стеки, черги, безлічі), реалізованими у вигляді класі.
Модуль векторної графіки ABCObjects призначений для швидкого вивчення основ об'єктно-орієнтованого програмування, а також дозволяє створювати досить складні ігрові та навчальні програми.
Модуль візуальних компонентів VCL дозволяє створювати подієві програми з головною формою в стилі Delphi. Класи VCL трохи спрощені в порівнянні з аналогічними класами Delphi. Є редактор форм і інспектор об'єктів. Технологія відновлення форми за кодом програми дозволяє обійтися програму з головною формою одним файлом (!).
У мові Pascal ABC є арифметичні операції з типізований покажчиками (в стилі мови C), а також тип complex, призначений для роботи з комплексними числами.
Компілятор Pascal ABC є компілятором переднього плану (front-end). Це означає, що він не генерує виконуваний код у вигляді exe-файлу, а створює в результаті компіляції дерево програми в пам'яті, яке потім виконується за допомогою вбудованого інтерпретатора. В результаті швидкість роботи програми приблизно в 20 разів повільніше швидкості роботи цієї ж програми, скомпільованій в середовищі Borland Pascal, і в 50 разів повільніше цієї програми, скомпільованій в середовищі Borland Delphi.
В системі Pascal ABC учень може виконувати завдання, що забезпечують постановку задачі з випадковими початковими даними, контроль операцій введення-виведення, перевірку правильності рішення, а також ведення протоколу рішення задач.
Створення форм у мові Pascal ABC