Высокоуровневые методы информатики и програмирования

Автор работы: Пользователь скрыл имя, 22 Ноября 2011 в 02:06, курсовая работа

Краткое описание

Задачу ставит заказчик, а принимает разработчик. В нашей ситуации преподаватель поставил задачу перед студентом: написать программу, которая выводила бы таблицу с определенными данными. Шапка таблицы разрабатывается в процессе создания программы, а данные самой таблицы вводятся из файла (текстового документа). Итоговая таблица должна выглядеть так:

Содержание работы

Неформальная постановка задачи
Формальная постановка задачи
Разработка и поиск алгоритма
Спецификация данных
Спецификация функций программы
Проектирование программы
Тело программы
Тестирование

Содержимое работы - 1 файл

КУРСОВАЯ РАБОТА.DOCX.doc

— 64.00 Кб (Скачать файл)

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

Тихоокеанский Государственный Экономический  Университет 
 
 
 
 

Курсовая  работа

Высокоуровневые методы информатики  и программирования 

Выполнила:

Студентка 3 курса 

Проверил:

Преподаватель 
 
 
 

Владивосток 2009 
 
 

Содержание

  1. Неформальная постановка задачи
  2. Формальная постановка задачи
  3. Разработка и поиск алгоритма
  4. Спецификация данных
  5. Спецификация функций программы
  6. Проектирование программы
  7. Тело программы
  8. Тестирование
 
 
 
 
 
 
 
 
 
 
 
 
  1. Неформальная  постановка задачи
 

    Задачу ставит заказчик, а принимает разработчик. В нашей ситуации преподаватель поставил задачу перед студентом: написать программу, которая выводила бы таблицу с определенными данными. Шапка таблицы разрабатывается в процессе создания программы, а данные самой таблицы вводятся из файла (текстового документа). Итоговая таблица должна выглядеть так: 

    Сотрудники
    fio

    (Ф.И.О.)

    tn

    (Табельный номер)

    Dr

    (Дата рождения)

    Okl

    (Оклад,

    тыс. руб.)

    St

    (Стаж работы)

    Кокунова  И.И.

    Матевосян М.А.

    Педора Д.П.

    Курбацкий Е.М.

    Банников Д.П.

    123

    124

    125

    126

    127

    31.10.1966

    14.09.1958

    21.11.1973

    21.07.1981

    17.05.1969

    7897.78

    12874.96

    18985.00

    6739.36

    9999.99

    12

    24

    6

    2

    18

     

    Затем, необходимо посчитать общую сумму оклада. 

  1. Формальная  постановка задачи

При решении поставленной задачи нам необходимо определить:

  • Область исходных данных;
  • Область решения задачи;
  • Связи (формулы, уравнения), связывающие между собой исходные данные и результаты.

    В нашем примере  исходными данными является таблица, содержащая необходимую информацию для нахождения общей суммы всего оклада.

    Результат может  быть только один: S=S+okl.

  1. Разработка или поиск алгоритма

    Проект алгоритма  разработаем в виде блок-схемы: 
     
     

начало

ввод okl из массива

 да   okl<0   нет  

 нет решения S=S+okl

     S

конец 

  1. Спецификация данных

    Файл input:

    fio: string;

    tn:integer;

    dr:real;

    okl:real;

    st:integer;

    Kokynova I.I.            123   1966     7897.78   12

    Matevosyan M.A.   124   1958   12874.96   24

    Pedora D.P               125   1973   18985.00   6

    Kyrbackiy E.M.         126   1981     6739.36   2

    Bannikov D.P.           127   1969    9999.99   18 

    Файл  output:

    Сообщение 1: таблица  с данными о сотрудниках.

    Сообщение 2: общая  сумма оклада сотрудников.

    Сообщение 3: оклад  не может быть отрицательным (решений нет).

    Сообщение 4: табельный номер не может быть отрицательным.

    Сообщение 5: стаж не может быть отрицательным.

    5.Спецификация функций программы

  1. Печать шапки таблицы (Сообщение1).
  2. Если okl<0, то сообщение 3.
  3. Если okl>=0, то сообщение 2.
  4. Если tn<0, то сообщение 4.
  5. Если st<0, то сообщение 5.
  6. Проектирование программы

    fio, tn, dr, okl, st

    (INPUT)

       Печать шапки таблицы

    с сотрудниками и

    их данными 

 

             tn, okl, st                                           S                                      

   проверка вводимых                     вычисление                     печать результата

              данных                                 суммы оклада                           OUTPUT 
 
 
 
 
 

  1. Тело  программы
 

    program kurs;

    uses crt; 

    type

    firma=record;

    fio:string[20];

    tn:integer;

    dr:real;

    okl:real;

    st:integer;

    end; 

    var sotr: array[1..20] of firma;

    fin, fout: text;

    k,n,i:integer; 

    procedure shapca;

    begin  

                writeln(#186,'fio',#179:4,'tn',#179:3,'dr',#179:8,'okl',#179:9,'st',#186:2);

    end; 

    procedure sum;

    var s:real;

    begin

    s:=0;

    for i:=1 to n do begin

    with sotr[i] do

    s:=s+okl;

    end; 

    procedure tabnumb;

    begin

    for i:=1 to n do begin

    if (sort[i].tn>0) and (sort[i].tn<1000) then begin

    end

    else

    writeln (I,’ne korrektnaya zapis tabelnogo nomera’);

    end;

    end; 

    procedure oklad;

    begin

    for i:=1 to n do begin

    if (sort[i].okl>0) and (sort[i].okl<1000000) then begin

    end

    else

    writeln (I,’ne korrektnaya zapis oklada’);

    end;

    end; 

    procedure stage;

    begin

    for i:=1 to n do begin

    if (sotr[i].st>0) and (sort[i].st<100) then begin

    end

    else

    writeln (I,’ne korrektnaya zapis staga’);

    end;

    end; 

    begin {--------------}

    clrscr;

    assign(fin, 'D:\131\data.txt');

    reset (fin);

    k:=0;

    while not eof(fin) do begin

    k:=k+1;

    with sotr[k] do

    readln(fin, fio, tn, dr, okl st);

    end; 

    close(fin);

    shapca;

    n:=k;

    writeln ('-----------------------------------------------');

    for i:=1 to n do begin

    with sotr[i] do

    writeln (#186, fio,#179:2,tn,#179:2,dr,#179:2,okl,  #179:2,st:2,#186);      

    end;

    writeln ('-----------------------------------------------');

    sum;

    tabnumb;

    stage;

    readkey;

    end. 

    8. Тестирование

    Тест 1:                                   Тест 2:                                    Тест 3:

    пусть один из                       пусть один из                       пусть один из

    Okl=-1234                              tn=-123                                   st=-15

    Otvet: ne korrektnaya         otvet: ne korrektnaya          otvet: ne korrektnaya

    Zapis                                       zapis                                         zapis 

    Тест 4:

    Если okl, tn, st будут положительными (okl=1234, tn=123, st=15), то программа никаких сообщений об ошибке не выдаст. 
     
     
     
     
     

Информация о работе Высокоуровневые методы информатики и програмирования