Содержание: Автор: Юдин Андрей Борисович МКОУ Плесская СОШ Алгоритм работы калькулятора Описание процедур Ссылки на материалы о калькуляторах Литература.

Презентация:



Advertisements
Похожие презентации
Презентация к уроку информатики 11 класс Автор: Юдин Андрей Борисович МКОУ Плесская СОШ.
Advertisements

Презентация к уроку информатики 11 класс Автор: Юдин Андрей Борисович МКОУ Плесская СОШ.
Функции в языке visual basic. Понятие функции в языке программирования близко к понятию функции в математике. Функция может иметь один или более аргументов,
Тема урока Команда присваивания. Арифметические операции и выражения. Стандартные функции.
ОПЕРАЦИИ И СТАНДАРТНЫЕ ФУНКЦИИ языка PASCAL. Темы: Операции Функции Приоритетность.
ОПЕРАЦИИ И СТАНДАРТНЫЕ ФУНКЦИИ Turbo Pascal 7.0.
Структура программы Типы переменных Стандартные арифметические функции Стандартные функции преобразования Операторы ввода/вывода Оператор условного перехода.
Электронные таблицы Microsoft Excel Функции. Понятие функции Одним из компонентов формулы в MS Excel может являться функция. Функция это подпрограмма,
Калькулятор Прикладная программа моделирующая работу с обычным электронным калькулятором, позволяющая оперативно выполнять вычисления, а также передавать.
Программирование
Массивы 9 класс. Основные теоретические сведения Примеры решения задач.
turbo.exe основной файл среды Любой язык обладает алфавитом, синтаксисом и семантикой. В алфавит входит набор символов, использующихся в языке с помощью.
ОПЕРАЦИИ И СТАНДАРТНЫЕ ФУНКЦИИ языка PASCAL. Темы: Операции Функции Приоритетность.
Числовые выражения В языке Q-basic. Переменные. Переменная - это область данных в памяти, имеющая имя. Переменная - это величина, которая может меняться.
Программирование на языке Паскаль Самостоятельная работа в группах.
Логические переменные в Visual Basic ГБОУ СОШ 143 Санкт-Петербург Предмет: Информатика и ИКТ Электронные ресурсы Программа: 10 класс Разработка: Ерохов.
Язык программирования Pascal Повторение. Структура программы В стандартном Паскале программы имеют строгий формат : program Имя-программы; label метки.
Условный оператор. if then if then begin begin ; ; … … ; ; end end else elsebegin ; ; … … end; end;
Куклев Евгений Иванович МОУ «Оброченская средняя общеобразовательная школа» Презентация к уроку информатики в 9 классе по теме «Программирование: встроенные.
Презентацию подготовил: ученик 11 «А» класса Парамонов Руслан Проверила: Поспелова Г. В.
Транксрипт:

Содержание: Автор: Юдин Андрей Борисович МКОУ Плесская СОШ Алгоритм работы калькулятора Описание процедур Ссылки на материалы о калькуляторах Литература по программированию ООП Электронный справочник для самостоятельной разработки приложения «Инженерный калькулятор » Переход по слайдам осуществляется при помощи кнопок. Завершение работы с презентацией клавиша ESC.

3 3 Основное меню

4 4 Операции требующие одной кнопки a:=StrToFloat(Edit1.Text); c:= операция; Edit1.text:=FloatToStr(c); Запоминаем число из окна ввода Далее

4 4 Операции требующие одной кнопки a:=StrToFloat(Edit1.Text); c:= операция; Edit1.text:=FloatToStr(c); Выполняем операцию Далее Назад

4 4 Операции требующие одной кнопки a:=StrToFloat(Edit1.Text); c:= операция; Edit1.text:=FloatToStr(c); Возвращаем результат в окно ввода Далее Назад

5 5 Операции требующие двух кнопок a:=StrToFloat(Edit1.Text); k:= число; Edit1.text:=''; b:=StrToFloat(Edit1.Text); if k=число then begin c:=операция; Edit1.text:=FloatToStr(c); end; Запоминаем первое число Далее Назад

5 5 Операции требующие двух кнопок a:=StrToFloat(Edit1.Text); k:= число; Edit1.text:=''; b:=StrToFloat(Edit1.Text); if k=число then begin c:=операция; Edit1.text:=FloatToStr(c); end; Запоминаем код операции Далее Назад

5 5 Операции требующие двух кнопок a:=StrToFloat(Edit1.Text); k:= число; Edit1.text:=''; b:=StrToFloat(Edit1.Text); if k=число then begin c:=операция; Edit1.text:=FloatToStr(c); end; Очищаем окно ввода Далее Назад

5 5 Операции требующие двух кнопок a:=StrToFloat(Edit1.Text); k:= число; Edit1.text:=''; b:=StrToFloat(Edit1.Text); if k=число then begin c:=операция; Edit1.text:=FloatToStr(c); end; Запоминаем второе число Далее Назад

5 5 Операции требующие двух кнопок a:=StrToFloat(Edit1.Text); k:= число; Edit1.text:=''; b:=StrToFloat(Edit1.Text); if k=число then begin c:=операция; Edit1.text:=FloatToStr(c); end; Проверяем код операции Далее Назад

5 5 Операции требующие двух кнопок a:=StrToFloat(Edit1.Text); k:= число; Edit1.text:=''; b:=StrToFloat(Edit1.Text); if k=число then begin c:=операция; Edit1.text:=FloatToStr(c); end; Выполняем операцию и выводим результат Меню Назад

Сложение procedure Button1OnClick; begin // сложение a:=StrToFloat(Edit1.Text); k:=1; Edit1.text:=''; end; Далее Запоминаем первое слагаемое, номер операции сложения и очищаем поле ввода

Сложение b:=StrToFloat(Edit1.Text); if k=1 then begin c:=a+b; Edit1.text:=FloatToStr(c); end; Меню Назад Запоминаем второе слагаемое, если номер операции 1 (сложение) выполняем сложение и выводим результат на поле ввода. Остальные операции объясняются в соответствующих кнопках

Вычитание, умножение, деление procedure Button2OnClick; begin a:=StrToFloat(Edit1.Text); k:=2; Edit1.text:=''; end; procedure Button3OnClick; begin a:=StrToFloat(Edit1.Text); k:=3; Edit1.text:=''; end; procedure Button4OnClick; begin a:=StrToFloat(Edit1.Text); k:=4; Edit1.text:=''; end; Далее Запоминаем первое число, номер операции: вычитания (2), умножения (3), деления (4) и очищаем поле ввода

Вычитание, умножение, деление if k=2 then begin c:=a-b; Edit1.text:=FloatToStr(c); end; if k=3 then begin c:=a*b; Edit1.text:=FloatToStr(c); end; if k=4 then begin c:=a/b; Edit1.text:=FloatToStr(c); end; Меню Назад Эти условия необходимо добавить в процедуру кнопки равно. В них проверяется какая до этого была нажата кнопка и выполняется действие соответствующее номеру (k) этой кнопке

Квадратный корень procedure Button5OnClick; begin // квадратный корень a:=StrToFloat(Edit1.Text); c:=Sqrt(a); Edit1.text:=FloatToStr(c); end; Меню Запоминаем число под корнем, вычисляем квадратный корень и выводим результат на поле ввода

Квадрат procedure Button6OnClick; begin // квадрат a:=StrToFloat(Edit1.Text); c:=a*a; Edit1.text:=FloatToStr(c); end; Меню Запоминаем число которое возводим в квадрат, вычисляем квадрат числа и выводим результат на поле ввода

Произвольная степень procedure Button7OnClick; begin // Произвольная степень a:=StrToFloat(Edit1.Text); k:=5; Edit1.text:=''; end; Далее Запоминаем основание, номер операции и очищаем поле ввода для показателя степени.

Произвольная степень if k=5 then begin c:=exp (b * ln (a)); Edit1.text:=FloatToStr(c); end; Меню Назад Проверяем код операции, если он равен 5 выполняем возведение в n-ю степень и выводим результат на поле ввода. Для этой операции воспользуемся следующим соотношением a b = e bln a

Корень произвольной степени procedure Button7OnClick; begin // Корень n-ой степени a:=StrToFloat(Edit1.Text); k:=6; Edit1.text:=''; end; Далее Запоминаем подкоренное число, номер операции и очищаем поле ввода для степени корня.

Корень произвольной степени if k=6 then begin c:=exp(ln(abs(a))/b); if a<0 then c:=-c; Edit1.text:=FloatToStr(c); end; Меню Назад Проверяем код операции, если он равен 6 выполняем вычисление корня n-ой степени и выводим результат на поле ввода. Для этой операции воспользуемся следующим соотношением, это возведение в 1/n –ю степень: a b =e ln|a|/b или a b =e 1/bln|a| Для вычисления корня n-ой степени воспользуемся следующим правилом

Натуральный логарифм procedure Button9OnClick; begin // Натуральный логарифм a:=StrToFloat(Edit1.Text); c:=ln(a); Edit1.text:=FloatToStr(c); end; Меню Запоминаем число, из которого вычислим натуральный логарифм, и выводим результат в поле вывода.

Десятичный логарифм procedure Button10OnClick; begin // Десятичный логарифм a:=StrToFloat(Edit1.Text); c:=ln(a)/ln(10); Edit1.text:=FloatToStr(c); end; Меню Для вычисления десятичного логарифма воспользуемся формулами.

Обыкновенный логарифм procedure Button11OnClick; begin // логарифм // ввод логарифмируемого // числа a:=StrToFloat(Edit1.Text); k:=7; Edit1.text:=''; end; Далее Запоминаем, логарифмируемое число и код операции (основание будет введено при нажатии кнопки «Равно»)

Обыкновенный логарифм if k=7 then Begin // b –основание логарифма c:=ln(a)/ln(b); Edit1.text:=FloatToStr(c); end; Меню Назад Для вычисления произвольного логарифма воспользуемся формулами.

Факториал procedure Button12OnClick; var i:integer; Begin // Факториал a:=StrToFloat(Edit1.Text); c := 1; for i := 2 to trunc(a) do c := c * i; Edit1.text:=FloatToStr(c); end; Меню Для вычисления факториала используем его итеративное определение Организуем цикл, в котором второй параметр преобразуется к целому типу (trunc)

Проценты procedure Button13OnClick; Begin // проценты a:=StrToFloat(Edit1.Text); k:=7; Edit1.text:=''; end; Далее Запоминаем число от которого будут вычисляться проценты, номер операции и очищаем поле ввода для процентов.

Проценты if k=8 then begin c:=b*a/100; Edit1.text:=FloatToStr(c); end; Меню Назад Если номер операции 8, то вычисляем a процентов от b и выводим результат в поле ввода

Обратная пропорциональность procedure Button14OnClick; begin a:=StrToFloat(Edit1.Text); c:=1/a; Edit1.text:=FloatToStr(c); end; Меню Запоминаем число, выполняем операцию, и выводим результат в поле ввода

Синус procedure Button15OnClick; begin a:=StrToFloat(Edit1.Text); c:=sin(a); Edit1.text:=FloatToStr(c); end; Меню Запоминаем число, выполняем операцию, и выводим результат в поле ввода

Косинус procedure Button16OnClick; begin a:=StrToFloat(Edit1.Text); c:=cos(a); Edit1.text:=FloatToStr(c); end; Меню Запоминаем число, выполняем операцию, и выводим результат в поле ввода

Тангенс procedure Button17OnClick; begin a:=StrToFloat(Edit1.Text); c:=sin(a)/cos(a); Edit1.text:=FloatToStr(c); end; Меню Запоминаем число, выполняем операцию, и выводим результат в поле ввода. Для вычисления тангенса воспользуемся следующей формулой

Котангенс procedure Button18OnClick; begin a:=StrToFloat(Edit1.Text); c:=cos(a)/sin(a); Edit1.text:=FloatToStr(c); end; Меню Запоминаем число, выполняем операцию, и выводим результат в поле ввода. Для вычисления котангенса воспользуемся следующей формулой

Число Пи procedure Button19OnClick; begin c:=Pi; Edit1.text:=FloatToStr(c); end; Меню Для вывода поле ввода числа π воспользуемся встроенной функцией Pi

Експонента procedure Button20OnClick; Begin a:=StrToFloat(Edit1.Text); c:=exp(a); Edit1.text:=FloatToStr(c); end; Меню Вычисляем е х (экспоненту)

25 procedure Button21OnClick; Begin a:=StrToFloat(Edit1.Text); c:=a*180/Pi; Edit1.text:=FloatToStr(c); end; Меню Для перевода из радиан в градусы воспользуемся формулой:

26 procedure Button22OnClick; Begin a:=StrToFloat(Edit1.Text); c:=a*Pi/180; Edit1.text:=FloatToStr(c); end; Меню Для перевода из градусов в радианы воспользуемся формулой:

27 procedure Button23OnClick; Begin Edit1.text:=''; end; Меню Очищаем окно ввода, поместив туда пустую строку

28 procedure Button24OnClick; Begin s:=Edit1.Text; if (length(s)>=0)then delete(s,length(s),1); Edit1.Text:=s; end; Меню Для удаления последнего символа в поле ввода копируем его содержимое в переменную S. И если в этой строке есть символы удаляем последний. Затем помещаем значение S обратно в поле ввода

29 procedure Button25OnClick; Begin Form1.Close; end; Меню Закрываем программу

31 procedure Button31OnClick; begin Edit1.Text:=Edit1.Text+'9'; end; Меню Для каждой цифры создадим 10 процедур. В каждой из них будет к тому что есть в поле ввода в права добавляться одна цифра

32 procedure Button34OnClick; var f,i:integer; begin f:=0; for i:=1 to length(Edit1.Text) do if Edit1.Text[i]='.' then f:=1; if f=0 then Edit1.Text:=Edit1.Text+'.'; end; Меню Так как точку в числе можно поставить один раз, необходимо проверять а есть ли в поле ввода десятичная точка. Переменная f является флагом. Перебирая циклом символы в поле ввода ищем точку. Если точка нашлась, f становится равной 1 и еще одна точка не ставится.

33 if Edit1.Text[1]<>'-' then Edit1.Text:='-'+Edit1. Text else begin s:=Edit1.Text; delete(s,1,1); Edit1.Text:=s; end; Меню Для смены знака перед числом в поле ввода проверяем первый символ. Если он не равен минусу, то приписываем к содержимому поля ввода знак минус иначе удаляем первый символ в поле ввода.

34 Калькуляторы в Internet Сайт ПРИКЛАДНАЯ МАТЕМАТИКА, статья о калькуляторе. Фестиваль педагогических идей «Открытый урок».Проект на Delphi «Стандартный Калькулятор». Автор: Панов Сергей Иванович, учитель физики и информатики html Кибер Форум, ветвь Delphi - Калькулятор Пишем калькулятор на Delphi 7 (есть видео уроки) delphi.htmlhttp://delphicomponent.ru/120-kalkulyator-v- delphi.html Обычный калькулятор на Delphi. Автор: Кротов Роман. Далее

35 Калькуляторы в Internet kalkulyator.htmlhttp://cybern.ru/delphi-dlya-nachinayushhix-urok-6-pishem-svoj- kalkulyator.html Delphi для начинающих. Пишем свой калькулятор. Идея с визуализацией примеров, можно использовать (идею) для дальнейшего развития нашего калькулятора. na-delphihttp://koder.kz/articles/ishodniki-programm-na-delphi/kalkulyator- na-delphi Исходник полноценного калькулятора на Delphi 2010 для реализации всех функций заимствован код на Assembler. В программе использованы только стандартные компоненты Delphi. Исходник содержит большое количество комментариев. Готовый проект «Научный калькулятор» Меню Назад

1. Delphi Алгоритмы и программы: О. В. Чеснокова Санкт- Петербург, НТ Пресс, 2008 г. 2. Основы программирования в интегрированной среде DELPHI: А. Желонкин Москва, Бином. Лаборатория знаний, 2004 г. 3. Программирование в Turbo Pascal. Переход к Delphi: Ю. А. Шпак Москва, МК-Пресс, 2006 г. 4. Занимательное программирование: М. Мозговой – СПб, Питер, 2005 г. 5.Delphi. Программирование на языке высокого уровня: Фаронов В.В. Учебник для вузов. – СПб.: Питер, – 640 с.: ил. И интернет ресурсы: 1. Королевство Delphi - виртуальный клуб программистов Мастера Delphi 3. Сайт о Lazarus. Алгоритмы, статьи, библиотеки и много всего интересного 36 Список литературы и интернет источников Меню