49665

Нарахування відрядної заробітної платні на підприємстві

Курсовая

Информатика, кибернетика и программирование

У проекті показана робота підприємства по нарахуванню відрядної заробітної платні співробітникам цього підприємства. Нарахування заробітної платні виконується з урахуванням окладу співробітника, кількості днів перебування його у відряджені та податків.

Украинкский

2014-01-12

1.06 MB

3 чел.

Анотація

У проекті показана робота підприємства по нарахуванню відрядної заробітної платні співробітникам цього підприємства. Нарахування заробітної платні виконується з урахуванням окладу співробітника, кількості днів перебування його у відряджені та податків.


Реферат

Проект складається з ? сторінок, 6 ілюстрованих прикладів, 3 таблиць.

 

Об’єктом дослідження є нарахування відрядної заробітної платні на підприємстві.

Для розробки проекту знадобились інтегрована середа розробки Borland Delpi 7 та редактор Database Desktop, а також знання та навички роботи з цим програмним забезпеченням.

У процесі розробки досягнуте редагування бази даних співробітників підприємства, обчислення відрядної заробітної платні як для співробітників підприємства, так і для інших користувачів.

Програмне забезпечення розраховане на невелике підприємство з відповідним штатом співробітників для полегшення проведення бухгалтерського обліку нарахування заробітної платні.


Зміст


Вступ


Розділ 1

Дослідження предметної області

1.1 Характеристика предметної області

 Начислення відрядної заробітної платні.

 Заробі́тна пла́та, скорочено зарплата — винагорода, обчислена, зазвичай, у грошовому виразі, яку за трудовим договором власник або уповноважений ним орган виплачує працівникові за виконану ним роботу. Розмір зарплати залежить від складності та умов виконуваної роботи, професійно-ділових якостей працівника, результатів його праці та господарської діяльності підприємства.

У сучасній економічній теорії праця однозначно вважається фактором виробництва, а заробітна плата - ціною використання праці робітника.

З точки зору відносин розподілу заробітна плата - це грошове вираження частини необхідного продукту, яка надходить в індивідуальне споживання робітникам фірми у відповідності з кількістю і якістю затраченої ними праці у виробництві.

 Відря́дна фо́рма опла́ти пра́ці  оплата праці, яка прямо залежить від кількості виробленої продукції.

 Відря́дження  — поїздка за розпорядженням керівника підприємства, установи, організації для виконання службового доручення поза місцем постійної роботи.

 Середня заробітна плата – по підприємству, установі – економічний показник, який характеризує розмір нарахованої заробітної плати, яка припадає на одного працівника підприємства, організації; визначається поділом загальної суми нарахованої заробітної плати на середню чисельність працівників.

 

Дана задача представлена у вигляді начислення відрядної заробітної платні як для співробітників підприємства,  так і для окремих користувачів. Для підприємств розроблена спеціальна база даних, котра формує список співробітників за допомогою додавання їх в базу користувачем. Інформації про співробітника:

- П.І.Б.

- Табельний номер

- Дата прийому на роботу

- Оклад співробітника

Також користувачем вводиться інформація про поточний розрахунковий місяць, дата початку та кінця відрядження, а також ставка податку ( у процентах) .

Виконання задачі припиняєтеся лише у зв’язку з некоректним введенням інформації для її розв’язання.


1.2 Опис вхідних повідомлень

Назва вхідного повідомлення

Ідентифікатор

Форма подання

Термін і частота знаходження

Джерело

Імя  співробітника

FIO

БД

На протязі роботи з БД

Роботодавець

Табельний номер

Nomer

БД

На протязі роботи з БД

Роботодавець

Оклад

Oklad

БД

На протязі роботи з БД

Роботодавець

Дата прийому на роботу

Data

БД

На протязі роботи з БД

Роботодавець

Початок відрядження

---

Первинна форма

На момент роботи програми

Користувач

Кінець відрядження

---

Первинна форма

На момент роботи програми

Користувач

Вид підрахунку

---

Первинна форма

На момент роботи програми

Користувач

Ставка  податку

---

Первинна форма

На момент роботи програми

Користувач

Оклад або сер. заробіток

---

Первинна форма

На момент роботи програми

Користувач

   d:=DaysBetween(DateTimePicker3.Date,DateTimePicker4.Date);

if ComboBox1.Text='из среднего заработка' then begin

   zp:=d*StrToInt(Edit2.Text);

   nal:=abs(zp/100*StrToInt(ComboBox2.Text));


   d:=DaysBetween(DateTimePicker3.Date,DateTimePicker4.Date);   

   zp:=StrToInt(Edit2.Text);

   sr:=zp/d;

   nal:=abs(zp/100*StrToInt(ComboBox2.Text));

   opl:=zp-nal;

  Form3.Label5.Caption:=FloatToStr(sr);

   Form3.Label6.Caption:=IntToStr(d);

   Form3.Label7.Caption:=FloatToStr(zp);

   Form3.Label10.Caption:=FloatToStr(nal);

   Form3.Label8.Caption:=FloatToStr(opl);


1.4 Опис основних процедур перетворення даних

1. Начислена зарплата = Кількість днів відрядження * Оклад

   zp:=d*StrToInt(Edit2.Text);

2. Кількість днів відрядження = Кінець відрядження – Початок відрядження

   d:=DaysBetween(DateTimePicker3.Date,DateTimePicker4.Date);

3. Податок = Начислена зарплата * Ставку податку (%)

   nal:=abs(zp/100*StrToInt(ComboBox2.Text));

4. До сплати = Начислена зар.плата – Податок

   opl:=zp-nal;


Розділ 2

Розробка інфологічної моделі

Для додавання нового співробітника

Додавання нового співробітника виконується користувачем ПЗ. Для додавання розроблена відповідна форма, в котрій забезпечено введення даних, а саме:

  •  П.І.Б.
  •  Табельний номер
  •  Дата прийому на роботу
  •  Оклад

Підприє́мство — самостійний суб'єкт господарювання, створений компетентним органом державної влади або органом місцевого самоврядування, або іншими суб'єктами для задоволення суспільних та особистих потреб шляхом систематичного здійснення виробничої, науково-дослідної, торговельної, іншої господарської діяльності в порядку, передбаченому Господарським кодексом України та іншими законами.

Кожне підприємство має штат робітників, в залежності від його розмірів, форм власності та видів діяльності.  Для обліку робітників створена спеціальна база даних, розроблена на прикладі найпростішого невеликого виробничого підприємства.

Після введення даних вони, через компонент Table, котрий призначений для роботи з нашою базою даних (bd1.db), записуються до бази даних.


    table1.Active:=true;

    table1.Insert;

    table1.FieldByName('FIO').AsString:=edit1.Text;

    table1.FieldByName('Nomer').AsInteger:=StrToInt(edit2.Text);

    table1.FieldByName('Data').AsDateTime:=DateTimePicker1.Date;

    table1.FieldByName('Oklad').AsFloat:=strtofloat(edit3.Text);

    table1.Post;


Для вибора співробітника

Вибір співробітника  призводить до змінення у головній формі ПЗ її заголовка на П.І.Б співробітника, та даних про його табельний номер, дату прийому на роботу та оклад, через запит у базу даних на виведення інформації для виділеного співробітника.

 s:='SELECT FIO FROM bd1.DB';

 Query1.SQL.Clear;

 Query1.SQL.Add(s);

 Query1.Open;



Розділ 3

Розробка даталогічної моделі

База даних розроблена за допомогою Database Desctop, тому як ця середа створення БД інтегрована з Borland Delphi 7, і є однією із його складових. На прикладі роботи з Database Desctop  вона дуже легка у користуванні та реалізації бази даних інтегровано з Borland Delphi.

 

Тип бази даних, а саме Table Paradox 7, котрий ми вибрали для реалізації проекту є одним з основних стандартних типів БД у середі Database Desctop. Він є простий у налагодженні та використанні. Інтегрування з Borland Delphi 7 виконується за допомогою компонентів палітри BDE, Data Acess та Data Controls.


Розділ 4

Проектування та реалізація БД на фізичному рівні

За допомогою Database Desctop ми створили базу даних під назвою bd1.db у вигляді Table Paradox 7. Усе управління структурою даної бази даних відповідно виконується через Database Desctop. Управління самими даними виконується безпосередньо із розробленого ПЗ. Елементи, котрі відповідають за реалізацію та змінення даних нашою бази, а саме Query та Table, є стандартними.

Query – відповідає за реалізацію та виведення бази даних та її елементів, виконання запитів і таке інше, в рамках нашого ПЗ.

Приклад використання у проекті

e:='SELECT * FROM bd1.DB WHERE FIO="'+DBGrid1.SelectedField.AsString+'"';

 Form1.Query1.SQL.Clear;

 Form1.Query1.SQL.Add(e);

 Form1.Query1.Open;

 Form1.Caption:=DBGrid1.SelectedField.AsString;

 Form1.Edit1.Text:=Form1.DBGrid1.Columns.Grid.Fields[1].AsString;

 Form1.DateTimePicker2.DateTime:=Form1.DBGrid1.Columns.Grid.Fields[2].AsDateTime;

 if Form1.ComboBox1.Text='èç îêëàäà' then   Form1.Edit2.Text:=Form1.DBGrid1.Columns.Grid.Fields[3].AsString;


Table
– відповідає за реалізацію змінення елементів бази даних в рамках нашого ПЗ.

Приклад використання у проекті:

    table1.Active:=true;

    table1.Insert;

    table1.FieldByName('FIO').AsString:=edit1.Text;

    table1.FieldByName('Nomer').AsInteger:=StrToInt(edit2.Text);

    table1.FieldByName('Data').AsDateTime:=DateTimePicker1.Date;

    table1.FieldByName('Oklad').AsFloat:=strtofloat(edit3.Text);

    table1.Post;

Усі поля бази даних заповнюються із розробленої форми нашого ПЗ, котра запускається за допомогою натиснення кнопки «Новый сотрудник».

Вибір співробітника реалізується безпосередньо з допоміжної форми проекту, після натиснення кнопки «Выбор сотрудника».

Виведення даних здійснюється у головну форму проекту безпосередньо з розробленої нами бази даних відповідно до вибору нами співробітника з допоміжної форми.


Висновок


Список використаної літератури


Додаток

Лістинг проекту

Form 1

unit Unit1;

interface

uses

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

 Dialogs, StdCtrls, ComCtrls, Buttons, DB, DBTables, Grids, DBGrids, dateutils;

type

 TForm1 = class(TForm)

   GroupBox1: TGroupBox;

   DateTimePicker2: TDateTimePicker;

   DateTimePicker3: TDateTimePicker;

   Edit1: TEdit;

   DateTimePicker4: TDateTimePicker;

   ComboBox1: TComboBox;

   Edit2: TEdit;

   ComboBox2: TComboBox;

   Label1: TLabel;

   Label2: TLabel;

   Label3: TLabel;

   Label4: TLabel;

   Label5: TLabel;

   Label6: TLabel;

   Label7: TLabel;

   Label8: TLabel;

   Button1: TButton;

   Button3: TButton;

   BitBtn1: TBitBtn;

   ComboBox3: TComboBox;

   DataSource1: TDataSource;

   Query1: TQuery;

   DBGrid1: TDBGrid;

   procedure ComboBox1Select(Sender: TObject);

   procedure BitBtn1Click(Sender: TObject);

   procedure Button1Click(Sender: TObject);

   procedure Button3Click(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 Form1: TForm1;

 m,d:integer;                  // äàòû ðàñ÷¸òíîãî ìåñÿöà è äíåé êîìàíäèðîâêè

 day0,month0:integer;          // äåíü íà÷àëà

 date0: string;                //

 day,month:integer;            // äåíü îêîí÷àíèÿ

 date: string;                 //

 zp:integer;                   // äåíåæíûå è ïðîöåíòíûå ýêâèâàëåíòû

 nal,opl,sr:real;              //

 s:string;

implementation

uses Unit2, Unit3, Unit4, Unit5;

{$R *.dfm}

procedure TForm1.ComboBox1Select(Sender: TObject);

begin

if ComboBox1.Text='èç ñðåäíåãî çàðàáîòêà' then Label7.Caption:='Ñðåäíèé çàðàáîòîê çà ðàññ÷¸òíûé ïåðèîä'

else if ComboBox1.Text='èç îêëàäà' then Label7.Caption:='Îêëàä íà íà÷àëî ðàáî÷åãî ìåñÿöà';

Edit2.Enabled:=True;

end;

procedure TForm1.BitBtn1Click(Sender: TObject);

begin

// ïðîâåðêà íà çàïîëíåíèå âñåõ ïîëåé ââîäà è âûáîðà

if (ComboBox3.Text='') or (DateTimePicker3.Date=DateTimePicker4.Date) or

 (ComboBox1.Text='') or (ComboBox2.Text='') or (Edit2.Text='') then begin

 ShowMessage('Ââåäèòå êîððåêòíûå äàííûå!!!');

end else begin

   d:=DaysBetween(DateTimePicker3.Date,DateTimePicker4.Date);

//ïðîâåðêà ïóòè ðàñ÷¸òà

if ComboBox1.Text='èç ñðåäíåãî çàðàáîòêà' then begin

 //ðàñ÷¸ò çàðîáîòíîé ïëàòû çà ïåðèîä êîìàíäèðîâêè

   zp:=d*StrToInt(Edit2.Text);

 //ðàñ÷¸ò íàëîãîîáëîæåíèÿ

   nal:=abs(zp/100*StrToInt(ComboBox2.Text));

 //ðàñ÷¸ò ññóììû ê îïëàòå

   opl:=zp-nal;

end;

//ïðîâåðêà ïóòè ðàñ÷¸òà

if ComboBox1.Text='èç îêëàäà' then begin

 //ðàñ÷¸ò çàðîáîòíîé ïëàòû çà ïåðèîä êîìàíäèðîâêè

   zp:=StrToInt(Edit2.Text);

 //ðàñ÷¸ò ñðåäíåé çàðîáîòíîé ïëàòû

   sr:=zp/d;

 //ðàñ÷¸ò íàëîãîîáëîæåíèÿ

   nal:=abs(zp/100*StrToInt(ComboBox2.Text));

 //ðàñ÷¸ò ññóììû ê îïëàòå

   opl:=zp-nal;

end;

//âûâîä èíôîðìàöèè è ðàñ÷¸òîâ

 if ComboBox1.Text='èç ñðåäíåãî çàðàáîòêà' then begin

   Form2.Label5.Caption:=IntToStr(d);

   Form2.Label6.Caption:=IntToStr(zp);

   Form2.Label7.Caption:=FloatToStr(nal);

   Form2.Label8.Caption:=FloatToStr(opl);

   Form2.Left:=Form1.Left+Form1.Width;

   Form2.Top:=Form1.Top;

   Form2.Caption:='èç ñðåäíåãî çàðàáîòêà';

   Form2.ShowModal;

 end;

 if ComboBox1.Text='èç îêëàäà' then begin

   Form3.Label5.Caption:=FloatToStr(sr);

   Form3.Label6.Caption:=IntToStr(d);

   Form3.Label7.Caption:=FloatToStr(zp);

   Form3.Label10.Caption:=FloatToStr(nal);

   Form3.Label8.Caption:=FloatToStr(opl);

   Form3.Left:=Form1.Left+Form1.Width;

   Form3.Top:=Form1.Top;

   Form3.Caption:='èç îêëàäà';

   Form3.ShowModal;

 end;

// îêîí÷àíèå ïðîâåðêè íà ïðàâèëüíîñòü ââîäà ìåñÿöà îò÷¸òíîñòè

end {else begin

 ShowMessage('ðàñ÷¸òíûé ìåñÿö è ìåñÿö êîìàíäèðîâêè äîëæíû áûòü ðàâíû!');

end;                             }

// îêîí÷àíèå ïðîâåðêè íà ââîä âñåõ çíà÷åíèé

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

// îòêðûòèå ôîðìû âûáîðà ñîòðóäíèêîâ

if Form1.ComboBox1.Text<>'' then begin

Form4.Top:=Form1.Top+Form1.Height;

Form4.Left:=Form1.Left;

Form4.ShowModal;

end else begin

ShowMessage('Âûáåðèòå âèä ðàññ÷¸òà!');

end;

end;

procedure TForm1.Button3Click(Sender: TObject);

begin

// îòêðûòèå ôîðìû âûáîðà ñîòðóäíèêîâ

Form5.Top:=Form1.Top+Form1.Height;

Form5.Left:=Form1.Left;

Form5.ShowModal;

end;

end.


Form 4

unit Unit4;

interface

uses

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

 Dialogs, StdCtrls, DB, DBCtrls, DBTables, Grids, DBGrids;

type

 TForm4 = class(TForm)

   Button1: TButton;

   DataSource1: TDataSource;

   Query1: TQuery;

   DBGrid1: TDBGrid;

   procedure FormShow(Sender: TObject);

   procedure Button1Click(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 Form4: TForm4;

 s,e:string;       // ñòðîêîâûå êîñòàíòû äëÿ çàãðóçêè áàçû äàííûõ

implementation

uses Unit1;

{$R *.dfm}

procedure TForm4.FormShow(Sender: TObject);

begin

//çàãðóçêà áàçû äàííûõ â ôîðìó (Ãðèä)

 s:='SELECT FIO FROM bd1.DB';

 Query1.SQL.Clear;

 Query1.SQL.Add(s);

 Query1.Open;

end;

procedure TForm4.Button1Click(Sender: TObject);

begin

//çàãðóçêà áàçû äàííûõ â ôîðìó 1 (Ãðèä) âûäåëåííîãî â ôîðìå 4 ñîòðóäíèêà

 e:='SELECT * FROM bd1.DB WHERE FIO="'+DBGrid1.SelectedField.AsString+'"';

 Form1.Query1.SQL.Clear;

 Form1.Query1.SQL.Add(e);

 Form1.Query1.Open;

// ïðèñâàèâàíèå ôîðìå èìåíè ñîòðóäíèêà

 Form1.Caption:=DBGrid1.SelectedField.AsString;

// ïðèñâàèâàíèå òàáåëüíîãî íîìåðà ñîòðóäíèêà

//               Ôîðìà1.Òàáëèöà1.Êîëîíêè.Êîëîíêà.Ýëåìåíò(ñòðîêà)[1].Êàê ñòðîêîââûé òèï;

 Form1.Edit1.Text:=Form1.DBGrid1.Columns.Grid.Fields[1].AsString;

// ïðèñâàèâàíèå äàòû ïðè¸ìà íà ðàáîòó

//               Ôîðìà1.Òàáëèöà1.Êîëîíêè.Êîëîíêà.Ýëåìåíò(ñòðîêà)[2].Êàê äàòîâûé òèï;

 Form1.DateTimePicker2.DateTime:=Form1.DBGrid1.Columns.Grid.Fields[2].AsDateTime;

 if Form1.ComboBox1.Text='èç îêëàäà' then   Form1.Edit2.Text:=Form1.DBGrid1.Columns.Grid.Fields[3].AsString;

Form4.Close;

end;

end.


Form 5

unit Unit5;

interface

uses

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

 Dialogs, DBTables, DB, StdCtrls, ComCtrls;

type

 TForm5 = class(TForm)

   DataSource1: TDataSource;

   Edit1: TEdit;

   Edit2: TEdit;

   Edit3: TEdit;

   DateTimePicker1: TDateTimePicker;

   Label1: TLabel;

   Label2: TLabel;

   Label3: TLabel;

   Label4: TLabel;

   Button1: TButton;

   Table1: TTable;

   procedure Button1Click(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 Form5: TForm5;

implementation

{$R *.dfm}

procedure TForm5.Button1Click(Sender: TObject);

begin

    table1.Active:=true;

    table1.Insert;

    table1.FieldByName('FIO').AsString:=edit1.Text;

    table1.FieldByName('Nomer').AsInteger:=StrToInt(edit2.Text);

    table1.FieldByName('Data').AsDateTime:=DateTimePicker1.Date;

    table1.FieldByName('Oklad').AsFloat:=strtofloat(edit3.Text);

    table1.Post;

Form5.Close;

end;

end.


 

А также другие работы, которые могут Вас заинтересовать

29338. Технология обработки изобразительной информации 53.5 KB
  Соотношение свойств изображения на входе системы и свойств изображения которые должны получить на выходе системы диктует ряд преобразований это технологические преобразования. Часть системных преобразований может служить в качестве технологических например преобразование изображения из позитивного в негативное при фотографировании так же могут быть использованы изменения полярности и зеркальности. Так обработка штрихового изображения и растрового изображения цветного или чернобелого осуществляется с использованием разных технологий....
29339. Вычисление экспонирования 39.5 KB
  При правильном выборе экспозиции для широких и узких штрихов и просветов очень узкие штрихи и просветы будут воспроизведены с искажениями. При необходимости возможно воспроизвести геометрически точно штрихи и просветы относящиеся к классу очень узких или суперузких при использовании материала с бесконечно большим коэффициентом контрастности. Однако при таком выборе условий экспонирования все остальные штрихи и просветы в том числе широкие и узкие будут воспроизводиться геометрически не точно а с определенными искажениями геометрических...
29340. Условия результата получения штриховой продукции при коэффициенте контрастности фотографического материала меньше бесконечности 63.5 KB
  Если Dmax полученная  Dmax требуемой то не выполняется одно из требований штрихового изображения и необходимо произвести изменения условий проведения процесса. Градиент получаемого фотографического изображения будет определяться градиентом характеристической кривой: где g 0 градиент оптического изображения где gф градиент фотографического изображения если t= const lgt=0 то lgH=lgE Можем подвести итоги. Факторы влияющие на воспроизведение штрихового изображения: характеристика самого оригинала как правило на входе имеем штрихи с...
29341. Бинарное изображение и битовая карта 49.5 KB
  На воспроизведение штрихового изображения влияют 2 группы факторов: 1 группа факторы определяющие зону размытия пограничной кривой. Определяет резкость изображения на входе аналогично фокусировке в системе фотоаппарата фактор апертурной фильтрации. Эта дискретность возникает как на стадии сканирования вследствие строчной развертки так и на стадии синтеза изображения так же вследствие строчной развертки. В целом границу такого дискретизированного изображения вследствие возникшей ступенчатой структуры можно также представить в виде...
29342. Воспроизведение тонового изображения 46 KB
  Это оригиналы представленные в виде цифровых изображений изготовленных цифровым способом: с помощью цифровых фотокамер методом сканирования. Эта обработка в основном соответствует той обработке в которой нуждаются оригиналы первого класса в системах цифровой обработки. Традиционные оригиналы представляют собой оригиналы аналогового типа в отличие от оригиналов второго класса которые всегда имеют дискретизацию двух видов: в пространстве и по уровню.
29343. Требования к точности для разных классификаций оригиналов 44 KB
  Однако в случае невозможности создания колометрически точного воспроизведения возможно 2 пути решения: 1 формирование колометрически точного воспроизведения большинства цветов изображения и сведения к максимальному приближению тех цветов которые находятся вне цветового охвата. В случае воспроизведения изображения для каталогов цвета чаще всего не являются насыщенными и входят в цветовой охват и задачей является точное воспроизведение необходимых цветов возможно даже за счет искажения цветов окружающих предметов. Ко второму классу...
29344. Special Literary Vocabulary 24.36 KB
  A term unlike other words directs the mind to the essential quality of the thing phenomenon or action as seen by the scientist in the light of his own conceptualization. With the increase of general education and the expansion of technique to satisfy the evergrowing needs and desires of mankind many words that were once terms have gradually lost their quality as terms and have passed into the common literary or even neutral vocabulary. Such words as 'radio' 'television' and the like have long been incommon use and their terminological...
29345. Special Colloquial Vocabulary 22.56 KB
  The first thing that strikes the scholar is the fact that no other European language has singled out a special layer of vocabulary and named it slang though all of them distinguish such groups of words as jargon cant and the like. Webster's Third New International Dictionary gives the following meanings of the term: Slang [origin unknown] 1: language peculiar to a particular group: as a: the special and often secret vocabulary used by class as thieves beggars; b: the jargon used by or associated with a particular trade profession or...
29346. Phonetic Expressive Means and Stylistic Devices 18.9 KB
  This is the way a word a phrase or a sentence sounds. The sound of most words taken separately will have little or no aesthetic value. The way a separate word sounds may produce a certain euphonic impression but this is a matter of individual perception and feeling and therefore subjective. In poetry we cannot help feeling that the arrangement of sounds carries a definite aesthetic function.