Добавить в корзинуПозвонить
Найти в Дзене

Калькулятор с нуля

Цель проекта: разработать программу «Стандартный калькулятор», практическое знакомство со способами создания программ на Delphi, изучение тем «Ветвление» и «Циклы» в процессе написания программы. Количество часов на выполнение проекта: 5 Введение. При изучении темы «Алгоритмизация и программирование» я использую систему программирования Delphi, так как считаю, что язык программирования Паскаль наиболее пригоден для использования в учебном процессе. Использование визуальной объектно-ориентированной системы позволяет знакомить учащихся с современными методами создания программ и создает положительную мотивацию в изучении информатики, так как учащиеся создают реально работающие и полезные программы, например калькуляторы, музыкальные и видео - проигрыватели и др. Проектная форма организации работы позволяет увлечь учащихся индивидуальной и коллективной работой над проектами. В проектной деятельности важно самовыражение автора, его личное творчество. Так же при использовании проектов а

Цель проекта: разработать программу «Стандартный калькулятор», практическое знакомство со способами создания программ на Delphi, изучение тем «Ветвление» и «Циклы» в процессе написания программы.

Количество часов на выполнение проекта: 5

Введение.

При изучении темы «Алгоритмизация и программирование» я использую систему программирования Delphi, так как считаю, что язык программирования Паскаль наиболее пригоден для использования в учебном процессе. Использование визуальной объектно-ориентированной системы позволяет знакомить учащихся с современными методами создания программ и создает положительную мотивацию в изучении информатики, так как учащиеся создают реально работающие и полезные программы, например калькуляторы, музыкальные и видео - проигрыватели и др.

Проектная форма организации работы позволяет увлечь учащихся индивидуальной и коллективной работой над проектами. В проектной деятельности важно самовыражение автора, его личное творчество. Так же при использовании проектов активизируется поисковая активность учащихся и реализуется потребность в свободе: перемещение по классу; возможность выбора темпа изучения, уровня сложности материала, самого способа решения.

В ходе выполнения проекта используется проблемный подход: по мере появления вопросов у учащихся «Как реализовать данную функцию?» изучаются соответствующие темы. При работе над проектом «Стандартный калькулятор» рассматриваются следующие темы: «Ветвление», «Множественный выбор», «Циклы»

Данный проект предлагается учащимся после изучения тем «Основы объектно-ориентированного программирования», «Основы визуального проектирования и программирования в среде Delphi», «Описание констант и переменных», «Арифметические операции и функции»

1 урок «Разработка интерфейса программы»

Задание. Разработать интерфейс программы «Стандартный калькулятор»

Необходимые объекты:

MainMenu – создание меню программы

Label – надпись

Edit – поле для ввода и вывода

BitBtn – кнопка (настраивается цвет надписи на кнопке в отличие от Button)

Image – вставка изображения

Разработка интерфейса.

1. Создать форму.

Свойства формы.

Name: kalkul

Caption: Калькулятор

Color: цвет по желанию

BorderIcons: biMaximize – False, остальное True.

2. Разместить на форме объект Edit. Свойства: Name : Edit1, Text – пустая строка.

3. Разместить на форме соответствующее число кнопок.

– цифры от 0 до 9,

– знаки арифметических операций,

– знак «=»

– знаки функций (корень, синус, косинус и т.д.)

Объект – кнопка BitBtn.

Свойства:

Name – можно оставить по умолчанию

Caption – соответствующее выполняемой функции название

Font – шрифт и цвет шрифта по желанию

4. Поместить на форму изображение (если нужно), настроить цвет формы, шрифт, сделать соответствующие надписи на форме (если нужно).

Домашнее задание. Повторить темы: «Описание констант и переменных», «Арифметические операции и функции» по конспекту учащегося. См. Приложение 1 и Приложение 2.

2 урок «Написание процедур выполнения арифметических операций»

I. Написать процедуры ввода чисел. Для этого щелкнуть два раза по кнопке «1» (объект BitBtn1) и ввести следующий код:

procedure TForm1.BitBtn1Click(Sender: TObject);

begin

edit1.Text:=edit1.Text+'1'

end

Аналогично написать процедуры ввода остальных цифр и символа «,»

II. Создать процедуру очистки поля Edit1, кнопка «С» (объект BitBtn22)

. Создать процедуры обработки нажатий кнопок «+», «–», «/», «*» и «=». Для этого необходимо сначала разобрать с учащимися алгоритм работы с калькулятором:

Ввести число в поле Edit1. При этом в поле Edit1 число будет представлено как текстовая строка.

Нажать кнопку «+». В процедуре обработки этой кнопки необходимо выполнить следующие действия:

преобразовать эту строку в число с помощью функции StrToFloat;

сохранить это число в переменной X;

сохранить в переменной, например, kod код этой операции;

очистить поле Edit1.

Ввести второе число в поле Edit1.

Нажать кнопку «=».В процедуре обработки этой кнопки необходимо выполнить следующие действия:

преобразовать эту строку в число с помощью функции StrToFloat;

сохранить это число в переменной Y;

в зависимости от кода операции, сохраненной в переменной kod, выполнить арифметическую операцию, например, z:=x+y;

преобразовать число, находящееся в переменной Z, в текст с помощью функции FloatToStr и вывести в поле Edit1.

IV. Что необходимо для реализации этого алгоритма?

1. Описать переменные X, Y, Z, kod. Описывать переменные будем в основной программе, модуле Unit, чтобы переменные могли действовать в любой процедуре (глобальные переменные)

var

Form1 : TForm1;

kod : char;

x, y, z : real;

2. Создать процедуры обработки нажатий кнопок «+», «–», «/», «*»

Например,

procedure TForm1.BitBtn17Click(Sender: TObject);

begin

x:= strtofloat(edit1.text);

kod := ‘+’;

edit1.Clear;

end;

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

Изучить с учащимися правила записи ветвления на языке Delphi.

Изменненая процедура обработки нажатия кнопки «+»

procedureTForm1.BitBtn17Click(Sender: TObject);

begin

ifedit1.Text<>'' thenx:=strtofloat(edit1.text);

kod := ‘+’;

edit1.Clear;

end;

Аналогично создатьпроцедуры обработки нажатий кнопок «–», «/», «*»

3. Создать процедуру обработки нажатия кнопки «=». В этой процедуре необходимо в зависимости от значения переменной kod выполнять четыре разных операции. Такая структура называется «Множественное ветвление» или «Выбор».

Изучить с учащимися правила записи структуры «Выбор» на языке Delphi.

procedure TForm1.BitBtn19Click(Sender: TObject); кнопка «=»

begin

if edit1.Text<>'' then y:=strtofloat(edit1.text); впеременную y кладем edit1.text

case kod of

'+': z:=x+y;

'-': z:=x-y

'*': z:=x*y;

'/': z:=x/y

end ;

edit1.Text:=floattostr(z) вывод в поле Edit1 значение переменной z

end;

3 урок «Написание процедур вычисления основных функций»

I. Создать процедуры вычисления функции «X в степени Y». Для этого необходимо:

1. Изучить тему «Циклы на языке Delphi».

2. Создать процедуру обработки нажатия кнопки «X в степени Y».

procedure TForm1.BitBtn24Click(Sender: TObject);

begin

x:= strtofloat(edit1.text);

kod := ‘^’;

edit1.Clear;

end;

3. Добавить в процедуру нажатия кнопки «=» следующий код

vark, y1:integer; /y1 – степень в которую возводим число x/

… /k– счетчик цикла/

'^': begin

y1:=strtoint( edit1.Text);

edit1.clear;

z :=1;

for k:=1 to y1 do

begin

z:=z*x

end

end

II. Создать процедуры вычисления остальных функций. При вычислении тригонометрических функций учесть, что компьютер работает с радианной мерой углов.

Например, процедура вычисления квадратного корня

procedure TForm1.BitBtn26Click(Sender: TObject); кнопка «корень»

begin

x:=strtofloat( edit1.Text);

edit1.clear;

z:=sqrt(x);

edit1.Text:=floattostr(z)

end;

Процедура вычисления функции sin

procedure TForm1.BitBtn11Click(Sender: TObject); кнопка «sin»

begin

x:=strtofloat(edit1.Text);

x:=(x*3.14)/180;

edit1.Clear;

z:=sin(x);

edit1.Text:=floattostr(z)

end;

4–5 урок. «Написание процедур работы с меню и усовершенствование калькулятора»

У любой программы имеется система меню, которая позволяет выполнять разные сервисные функции. Создадим для нашего калькулятора меню, которое будет состоять, например, из следующий пунктов: «Файл», «Правка», «Справка». Для этого: поместить на форму объект MainMenu (в любое место формы, этот объект будет невидим при выполнении)

Два раза щелкнуть левой кнопкой мыши по этому объекту на форме.

Выделить в появившейся форме пунктирное поле и в инспекторе объектов в свойство Caption ввести «Файл».

Аналогично создать пункты меню «Правка» и «О программе».

В меню «Файл» создать пункт «Выход», а в «Правка» - пункты «Копировать» и «Вставить».

Закрыть форму создания меню.

РЕКЛАМА

Курс «Аналитик данных» с нуля

procedure TForm1.N2Click(Sender: TObject);

begin

close

end; procedure TForm1.N4Click(Sender: TObject);

begin

Edit1.CopyToClipboard; / копироватьвбуферобмена/

end;

procedure TForm1.N5Click(Sender: TObject);

begin

Edit1.PasteFromClipboard; /вставить из буфера обмена/

end;

Создание меню

Для создания справки создадим еще одну форму с именем Form2, на которой можно разместить справочные сведения и информацию об авторах программы. Для размещения текста можно воспользоваться объектом Memo, который представляет из себя почти готовый текстовый редактор, и объектом Image для размещения графики и фотографий. Для открытия формы воспользуемся командой Form2.ShowModal.

Процедура открытия формы «Справка»

procedure TForm1.N8Click(Sender: TObject);

begin

Form2.ShowModal Открытие формы «Справка»

end;

Вот на калькулятор и готов.Удачи)