
СТАРТ В LAZARUS
Изучение основ алгоритмизации и программирования является важной составляющей школьного курса информатики, позволяет раскрыть интеллектуальный потенциал учащихся. По новой программе на овладение тем содержательной линии «Моделирование, алгоритмизация и программирование» должно уделяться не менее 40% учебного времени в 5-8 классах и не менее 30% в 9 классе.
В большинстве действующих учебников по информатике разных авторов предлагается язык программирования Pascal и среда программирования Lazarus.
В помощь учителям и ученикам в освоении приемов работы в среде Lazarus был разработан сборник из 100 задач, которые охватывают все темы новой программы по алгоритмизации и программирования.
Задачи систематизированы по темам, в каждой теме они упорядочены по возрастанию сложности, предоставляет широкое поле для дифференциации учебного процесса. Ко всем задач предоставлено образцы оформления формы и тексты программ на языке Pascal. К большинству задач описаны алгоритмы работы над проектами.
Кроме того, в сборнике помещены описание среды Lazarus и приемы работы над проектами. В начале каждой темы содержится соответствующий справочный материал.
Ниже приведены некоторые образцы задач.
ПРОЕКТ №18. «Сумма цифр». Дано трехзначное натуральное число n.
Найти сумму всех цифр числа.
Процедура для кнопки «Вычислить»: procedure TForm1.Button1Click (…)
var n, a, b, c, ab, s: integer; begin
n = StrToInt (Edit1.Text); // 359
c = n mod 10, // 9
a = n div 100; // 3
ab = n div 10, // 35
b = ab mod 10, // 5
s = a + b + c; // 17
Edit2.Text: = IntToStr (s) end;
ПРОЕКТ №20. «Генератор-2». Сгенерировать два числа: двухзначное a и
трехзначное b.Вывести на форму эти числа и их произведение.
Процедура для кнопки «Новые числа»: procedure TForm1.Button1Click (…)
var a, b, p: integer; begin
randomize;
a = random (90) +10; b = random (900) +100; p = a * b;
Edit1.Text: = IntToStr (a) Edit2.Text: = IntToStr (b) Edit3.Text: = IntToStr (p) end;
ПРОЕКТ №33. Решить квадратное уравнение ax 2 + bx + c = 0.
Процедура для кнопки «Ок»: procedure TForm1.Button1Click (…)
var a, b, c, d, x1, x2: real; begin a = StrToFloat (Edit1.Text); b = StrToFloat (Edit2.Text); c = StrToFloat (Edit3.Text); d = b * b-4 * a * c;
Edit4.Text: = FormatFloat ( ‘0.00’, d) if d <0
then begin
Edit5.Text: = ‘Нет корней’; Edit6.Text: = »; Edit7.Text: = »; end
else begin
Edit5.Text: = ‘Есть корни’; x1 = (- b-sqrt (d)) / (2 * a)
x2 = (- b + sqrt (d)) / (2 * a) Edit6.Text: = FormatFloat ( ‘0.00’, x1) Edit7.Text: = FormatFloat ( ‘0.00’, x2)
end;
end;
Проект №43. «Секундомер-2». Увеличивать число от нуля на 0,1 через каждый 0,1 секунды до десяти и выводить его в поле Edit.
Процедура для кнопки «Пуск» procedure TForm1.Button1Click (…)
var t: real; begin
t = 0;
while t <= 10 do begin
Edit1.Text: = FormatFloat ( ‘0.0’, t) Application.ProcessMessages; sleep (100); // 100 мс = 0.1 с t = t + 0.1;
end; end;
Проект №45. «НОД». Вычислить наибольший общий делитель двух натуральных чисел (Алгоритм Евклида: Пока числа не равны между собой больше из них заменяет их разницей).
Процедура для кнопки «Вычислить»: procedure TForm1.Button1Click (…)
var m, n: integer; begin
m = StrToInt (Edit1.Text); n = StrToInt (Edit2.Text); while m <> n do
if m> n
then m = mn else n = nm;
Edit3.Text: = IntToStr (m) end;
Проект №47. «Последовательность факториалов». Вывести на форму
последовательность факториалов натуральных чисел от 1 до n.
Процедура для кнопки «Ок»: procedure TForm1.Button1Click (…)
var n, i, f: integer; begin n = StrToInt (Edit1.Text); f = 1;
for i: = 1 to n do begin f = f * i;
ListBox1.Items.Add (IntToStr (f)) end;
end;
Проект №97. «Звездное небо». Создать изображения в соответствии образца.
Процедура открытия формы: procedure TForm1.FormCreate (…)
var x, y, i: integer; begin
Image1.Canvas.Brush.Color = clBlue; Image1.Canvas.Rectangle (0,0,630,430) Image1.Canvas.Brush.Color = clWhite; Image1.Canvas.Pen.Color = clWhite; Image1.Canvas.Pen.Width: = 3; randomize;
for i: = 1 to 100 do begin x = Random (630) y = Random (430)
Image1.Canvas.Ellipse (x, y, x + 3, y + 3); end;
end;
Разработан сборник можно использовать как при объяснении нового материала, новых подходов к работе над проектами, так и для самостоятельной работы учащихся или коллективных поисков решения поставленных задач. Электронный вариант сборника дает возможность демонстрировать и анализировать отдельные проекты во время занятий на экране мультимедийного проектора или по локальной сети, а также, при необходимости, использовать его для дистанционного образования.
Список использованных источников
1. Информатика: учеб. для 8 кл. общеобразоват. учеб. закл. / А. А. Бондаренко, В. В. Ластовецкий, А. П. Пилипчук, Е. А. Шестопалов. — М .: Изд-во «Ранок», 2016. — 256 с.
2. Информатика: учеб. для 8 кл. общеобразоват. учеб. закл. / А. А. Бондаренко, В. В. Ластовецкий, А. П. Пилипчук, Е. А. Шестопалов. — М .: Изд-во «Ранок», 2016. — 256 с.
3. Информатика: учеб. для 8 кл. общеобразоват. учеб. закл. / В. Морзе, О. В. Барна, В. П. Вембер. — М.: УОВЦ «Орион», 2016. — 240 с.
4. Информатика: учеб. для 9 кл. общеобразоват. учеб. закл. / В. Морзе, О. В. Барна, В. П. Вембер. — М.: УОВЦ «Орион», 2017. — 208 с.
5. Чеснокова А.В., Кучер Т.В. Самоучитель по программированию на Free Pascal и Lazarus.
— Донецк .: ДонНТУ, Технопарк ДонНТУ Унитех, 2011. — 503 с.