Программирование с использованием подпрограмм пользователя

Автор работы: Пользователь скрыл имя, 13 Декабря 2011 в 20:04, курсовая работа

Описание

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

Содержание

Введение…………………………………………………………….………..4
1. Математическая постановка задачи…………………………….……….4
2. Описание алгоритма решения……………………………………..……..5
3.Обоснование выбора языка и средств поддержки
Технического программирования………………………………………….8
4.Описание процедур и функций ……………………………….…….…...8
5. Листинг программы…………..…………………………………….…..10
6. Результаты работы программы…..……………………………………20
Заключение………………………………………………………..…..……21
Список использованной литературы……………………..………..……..22

Работа состоит из  1 файл

курсовая.doc

— 524.50 Кб (Скачать документ)

Министерство  образования и науки Российской Федерации

Федеральное агентство по образованию

Георгиевский  технологический институт (филиал)

Государственное образовательное учреждение высшего  профессионального образования

«Северо-Кавказский Государственный Технический Университет» 

Факультет Автоматизации и управления

Кафедра Математических и естественнонаучных дисциплин 

                Утверждаю

                зав. Кафедрой МиЕНД

                «      »   2008 г. 
                 
                 

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА 

к курсовому  проекту по дисциплине «Программирование  и основы алгоритмизации» 

на тему: Программирование с использованием подпрограмм пользователя 

Автор проекта                  Шиянова Дарья Игоревна 

Специальность    220301(Автоматизация технологических  процессов и производств) 

Группа   АТП-071 

Руководитель  проекта     Мордасова Елена Борисовна 

Проект  защищен 

_______________________________ Оценка ________________________ 

Члены комиссии  
 
 
 
 
 

      г. Георгиевск, 2008 г. 
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       

Оглавление 

Введение…………………………………………………………….………..4

1. Математическая постановка задачи…………………………….……….4

2. Описание алгоритма решения……………………………………..……..5

3.Обоснование выбора языка и средств поддержки

Технического  программирования………………………………………….8

4.Описание процедур и функций ……………………………….…….…...8

5. Листинг программы…………..…………………………………….…..10

6. Результаты работы программы…..……………………………………20

Заключение………………………………………………………..…..……21

Список использованной литературы……………………..………..……..22  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Введение. 

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

1.Математическая  постановка задачи

     Необходимо создать библиотечный модуль, содержащий процедуры выполнения основных арифметических операций:

n=x+y, n=x-y, n=n*y, n=x/y, n= x div y, n=x mod y.

 В программе нужно осуществлять проверку на неверно введенные символы и ошибочно нажатые клавиши. Использованы приемы модульного программирования. Тип результата операций «+», «*», «-» является INTEGER. Результатом операции «/» всегда является тип REAL, а результат операций DIV и MOD всегда имеет тип INTEGER. Тип вводимых данных строковый.  
 
 
 
 
 

2. Описание алгоритма решения

     Начала  работы с калькулятором происходит с ввода первого операнда. После ввода, проводится проверка корректности введенных данных. Если найдена ошибка, на экран выводится  сообщение «ошибка ввода». Если ошибка не была обнаружена, пользователь продолжает работу выбором арифметической операции. Далее вводится второй операнд, который также подвергается проверке. Для получения результата необходимо нажать кнопку «Результат», если требуется продолжение вычислений, выбирается следующая операция.

Алгоритм составленной программы: 

       
 
 
 
 

     

     

       
 
 
 
 
 
 
 
 
 

     Данная  программа позволяет вычислять  выражения, содержащие численные значения. Следовательно, в алгоритме нужно  осуществлять проверку на неверно введенные  символы и ошибочно нажатые кнопки. Так же должна проверяется длина введенной строки, которая не должна превышать 8 символов.

Алгоритм проверки корректности введенных данных: 

     

     

     

       
 
 
 
 

Алгоритм работы функций:

 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 
 
 
 

3. Обоснование выбора языка и средств поддержки технического программирования.

     Для создания программы было  предложено две альтернативных среды Delphi и Pascal. Между тем синтаксисы Delphi и Pascal близки, обе программы – продукты Borland. Я предпочла использовать интегрированную среду программирования Delphi, позволяет достаточно быстро разрабатывать приложения для Windows. Так как среда Delphi создает программы полностью совместимые с графической оболочкой ОС MS Windows, то позволяет сделать интерфейс программы интуитивно понятным и простым в реализации. Так же среда позволяет использовать функции, предоставляемые операционной системой

     Использована  версия среды программирования Borland Delphi 7.0, компьютер Celeron 845 (оп. память 256 Мбайт). Delphi— английское написание названия древнегреческого города Дельфы, используемое как товарный знак некоторых программных продуктов компании Borland Software Corporation.

4.Описание процедур и функций

  Процедура отображения ошибки

function TextToInt(str: string) : integer;

var n: integer;

label error, endofproc;

begin

if length(str)>8 then goto error;

for n:=1 to length(str) do

begin

  //ShowMessage(str[n]);

  if (str[n]<'0') or (str[n]>'9') then goto error;

end;

TextToInt:=StrToInt(str);

goto endofproc;

error:

  Процедура сложения чисел

function OpPlus(x : integer; y : integer): integer;

begin

OpPlus:=x+y;

end;

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

function OpMinus(x : integer; y : integer): integer;

begin

OpMinus:=x-y;

end;

  Процедура целочисленного деления

function OpDiv(x : integer; y: integer): integer;

begin

OpDiv:=x div y;

end;

  Процедура возвращения остатка  от целочисленного деления

function OpMod(x: integer; y : integer): integer;

begin

OpMod:=x mod y;

end; 

Процедура умножения чисел

function OpUmnojenie(x : integer; y : integer): integer;

begin

OpUmnojenie:=x*y;

end; 

Процедура деления чисел

function OpDelenie(x : integer; y : integer): real;

begin 

OpDelenie:=x/y;

end; 
 
 

5.Листинг программы.

Interface

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, StdCtrls, Unit2, ExtCtrls, Buttons;

type

  TForm1 = class(TForm)

    Pole: TEdit;

    ltext: TLabel;

    Shape1: TShape;

    BitBtn1: TBitBtn;

    Shape2: TShape;

    Shape3: TShape;

    Shape4: TShape;

    Shape5: TShape;

    Shape6: TShape;

    Shape7: TShape;

    Shape8: TShape;

    Shape9: TShape;

    Shape10: TShape;

    Shape11: TShape;

    Shape12: TShape;

    Shape13: TShape;

    Shape14: TShape;

    Shape15: TShape;

    Shape16: TShape;

    Shape17: TShape;

    Shape18: TShape;

   Shape19: TShape;

    Label1: TLabel;

    Label2: TLabel;

    Label3: TLabel;

    Label4: TLabel;

    Label5: TLabel;

    Label6: TLabel;

    Label7: TLabel;

    Label8: TLabel;

    Label9: TLabel;

    Label10: TLabel;

    Label11: TLabel;

    Label12: TLabel;

    Label13: TLabel;

    Label14: TLabel;

    Label15: TLabel;

    Label16: TLabel;

    Label17: TLabel;

    Label18: TLabel;

    procedure FormKeyDown(Sender: TObject; var Key: Word;

      Shift: TShiftState);

    procedure Shape1MouseDown(Sender: TObject; Button: TMouseButton;

      Shift: TShiftState; X, Y: Integer);

    procedure BitBtn1Click(Sender: TObject);

    procedure Shape13MouseDown(Sender: TObject; Button: TMouseButton;

      Shift: TShiftState; X, Y: Integer);

    procedure Shape3MouseDown(Sender: TObject; Button: TMouseButton;

      Shift: TShiftState; X, Y: Integer);

    procedure Shape15MouseDown(Sender: TObject; Button: TMouseButton;

      Shift: TShiftState; X, Y: Integer);

    procedure Shape8MouseDown(Sender: TObject; Button: TMouseButton;

      Shift: TShiftState; X, Y: Integer);

    procedure Shape2MouseDown(Sender: TObject; Button: TMouseButton;

      Shift: TShiftState; X, Y: Integer);

    procedure Shape7MouseDown(Sender: TObject; Button: TMouseButton;

      Shift: TShiftState; X, Y: Integer);

    procedure Shape17MouseDown(Sender: TObject; Button: TMouseButton;

      Shift: TShiftState; X, Y: Integer);

    procedure Shape9MouseDown(Sender: TObject; Button: TMouseButton;

      Shift: TShiftState; X, Y: Integer);

    procedure Shape12MouseDown(Sender: TObject; Button: TMouseButton;

      Shift: TShiftState; X, Y: Integer);

    procedure Shape16MouseDown(Sender: TObject; Button: TMouseButton;

      Shift: TShiftState; X, Y: Integer);

    procedure Shape6MouseDown(Sender: TObject; Button: TMouseButton;

      Shift: TShiftState; X, Y: Integer);

    procedure Shape11MouseDown(Sender: TObject; Button: TMouseButton;

      Shift: TShiftState; X, Y: Integer);

Информация о работе Программирование с использованием подпрограмм пользователя