Термінова допомога студентам
Дипломи, курсові, реферати, контрольні...

Курсова робота програмування на Pascal

РефератДопомога в написанніДізнатися вартістьмоєї роботи

Алгоритм програми можна укрупненно записати так: |Запровадити дату його й поточну дату — |Проконтролювати їх правильність і несуперечність — |Обчислити кількість днів між двома датами, щоб визначити фазу синусоид — |для поточної дати — |Обчислити кількість днів від поточної дати до дати найближчого піка біоритмів і| |дати найближчого спаду — |Визначити і надрукувати обидві дати |. Для виведення… Читати ще >

Курсова робота програмування на Pascal (реферат, курсова, диплом, контрольна)

року міністерство освіти Російської Федерації ТОМСЬКИЙ ДЕРЖАВНИЙ УНІВЕРСИТЕТ СИСТЕМ УПРАВЛІННЯ І РАДИОЭЛЕКТРОНИКИ.

(ТУСУР).

Кафедра автоматизованих системам управління (АСУ).

Программирование.

КУРСОВА РАБОТА.

Дата виконання роботи «15» сентября.

2001 г.

Дата перевірки «___"______________ 2001 г.

Оцінка _________________________________.

И.О.Фамилия преподавателя.

________________________________________.

Підпис преподавателя.

________________________________________.

г. Чита 2001 г.

1. ЗАПРОВАДЖЕННЯ 3.

2. ПРИЗНАЧЕННЯ РОБОТИ І ОБЛАСТЬ ЇЇ ЗАСТОСУВАННЯ. Постановка завдання 4.

3. ВИКОРИСТОВУВАНІ МЕТОДИ, ОПИС АЛГОРИТМУ ПРОГРАМИ З ОПИСАНИЕМ.

ФУНКЦІЙ СКЛАДОВИХ ЧАСТИН І ЗВ’ЯЗКУ МІЖ НИМИ 5.

4. ОПИС ВХІДНИХ І ВИХІДНИХ ДАНИХ 7.

5. КЕРІВНИЦТВО КОРИСТУВАЧА 7.

6. ВИСНОВОК 7.

7. СПИСОК ЛІТЕРАТУРИ 9.

8. ДОДАТОК 1. ЛІСТИНГ ПРОГРАМИ 10.

9. ДОДАТОК 2. РЕЗУЛЬТАТИ РОБОТИ 17.

Мова програмування Pascal створений 1973 року швейцарським ученым.

Ніколасом Віртом і називався на вшанування видатного французького фізика, математика і філософа Блеза Паскаля (1623−1662), що був автором першою у світі обчислювальної (суммирующей) машини (1641). Мова спочатку створювався з метою навчання програмування вообще.

За словами автора мови «…розробка мови Паскаль базувалася двома принципових концепціях. Перша зводилася до того, щоб винайти мову, пристосований до навчання програмування як систематичної дисципліни, що базується що на деяких фундаментальних положеннях, зрозуміло і природно відображених у мові. Друга передбачала розробку конкретних уявлень цієї мови, які б надійніші ефективні на сучасних ЭВМ."[1] На думку Вірта, «мову, у якому студент навчається висловлювати свої ідеї, серйозно впливає з його спосіб мислення та винахідливість… безладдя, супутній існуючим мовам, впливає на стиль програмування студентов."[2] Тепер упевнено можна говорити, що Вірт досяг поставленої собі мети. Мова Паскаль не лише найкращим мовою навчання програмування, дає можливість здійснити просту реалізацію його за сучасних ПЕОМ, використовувати як мову системного програмування, а є базою до створення потужніших языков.

ПРИЗНАЧЕННЯ РОБОТИ І ОБЛАСТЬ ЇЇ ПРИМЕНЕНИЯ.

Постановка задачи.

Давно відомо, що творча й фізична активність людини не залишається постійної, а циклічно змінюється, причому періодичність її зміни приблизно цілком узгоджується з періодом обертання Місяця навколо Землі. Існує теорія, за якою фізична, емоційна й інтелектуальна активність людини підпорядковується відповідним биоритмам. Кожен биоритм є синусоїду із суворо постійним періодом, причому кожному за біоритму є своя період. У окремі дні все три біоритму людини можуть досягти свого максимуму і тоді людина відчуває підйом творчих і фізичних наснаги в реалізації такі дні в нього всьо йде на лад, від легко розв’язує проблеми, які у інший час йому вирішити набагато складніше. Так само є і «чорні» дні, відповідні спаду всіх трьох биоритмов.

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

ВИКОРИСТОВУВАНІ МЕТОДИ, ОПИС АЛГОРИТМУ ПРОГРАМИ З ОПИСОМ ФУНКЦИЙ.

СКЛАДОВИХ ЧАСТИН І ЗВ’ЯЗКУ МІЖ НИМИ.

Алгоритм програми можна укрупненно записати так: |Запровадити дату його й поточну дату | |Проконтролювати їх правильність і несуперечність | |Обчислити кількість днів між двома датами, щоб визначити фазу синусоид | |для поточної дати | |Обчислити кількість днів від поточної дати до дати найближчого піка біоритмів і| |дати найближчого спаду | |Визначити і надрукувати обидві дати |.

Застосовую методику спадного программирования.

Для спрощення підрахунку кількості днів, поділяючих дату його й поточну дату використовую масив Size_of_month — довжина місяця — і роблю його глобальним у тому, щоб використати його і визначення дати критичних днів та правильності впроваджуються дат. Отже вищевказаний масив використовуватиметься у трьох процедурах.

При розрахунку кількості днів, поділяючих обидві дати (його й поточної), крім контролю несуперечливості запроваджених дат (мінімально і максимально можливі правильні дати 1900 і 2100 роки), треба враховувати такі обстоятельства:

. Місячний немовля (коли рік і місяць обох дат однаковий) — тоді кількість днів перебуває простим відніманням двох чисел;

. Однорічне немовля (коли рік обох дат збігається) — тоді кількість днів = (решту днів в місяці народження) +.

(кількість днів, у поточному місяці) + (кількість днів, у місяцях, поділяючих обидві даты);

. Загальний варіант (відрізняються року) — тоді кількість дней=.

(кількість днів від дати народження кінця року) + (кількість днів, у поділяючих дати роках) + (кількість днів з початку цього року до поточної даты).

Всі ці варіанти враховуються у процедурі Get_numbers_of_days.

Процедури Variant2 і Variant3 — допоміжні. Їх використовують для зв’язки України із основний програмою через глобальні переменные.

Процедури Findmaxmin здійснюється пошук критичних днів, тобто найближчих до поточної дати днів, яким усе три біоритму досягають свого максимуму і мінімуму. Приймаю, що біоритми змінюються по синусоидальным залежностям кількості прожитих днів із періодами TF, TE і TI відповідно для фізичної, емоційної та інтелектуальної активності людини, що є усередненими чоловікам і покриток. Періоди приймаю такі (в днях):

TF=23.6884 — період фізичної активности.

TE=28.4261 — період емоційного активности.

TI=33.1638 — період інтелектуальної активности.

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

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

ОПИС ВХІДНИХ І ВИХІДНИХ ДАННЫХ.

Введення вихідних даних (дати народження чоловіки й поточної дати) ввозяться форматі ДВ ММ ГГГГ з клавіатури на запит (тип змінних, відповідних цим значенням, Integer).

Задля реалізації виведення екран розрахункових даних для дат піка і спаду біоритмів — найбільш і найменш сприятливих днів використовую тип Integer.

Для виведення даних про тривалість життя в годиннику хвилинах і секундах використовую Longint («довгий» цілий), оскільки для типу Integer діапазон можливих значень даних від -32 768 до +32 767. Коли ж врахувати, що сьогодні середня тривалість життя близько 70 років, тобто 25 550 днів, і 36 792 000 годин, то прийнятний лише тип даних Longint з діапазоном значень від -2 147 483 648 до +2 147 483 647.

Програмне і апаратне забезпечення для нормальної роботи програми стандартне — Turbo Pascal 7.0 — за відсутності исполнимого файла.

Операційна система MS-DOS 6.0 чи Windows95 і від з режимом эмуляции.

MS-DOS.

КЕРІВНИЦТВО ПОЛЬЗОВАТЕЛЯ.

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

Дані необхідно вводити суворо дотримуючись зазначеного формата:

ДВ ММ ГГГГ — дві символу на що і місяць і чотири символу на введення року, розділяти значення дні місяця і пора року необхідно пробелом.

Закінчення введення рядки даних підтвердити стандартно з допомогою клавиши.

ENTER.

ЗАКЛЮЧЕНИЕ

.

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

1. Абрамов В. Г., Трифонов Н. П. Введення у мову Паскаль. — М. :Наука,.

1988.-320 с.

2. Абрамов С. А., Зима Є.В. Почала програмування мовою Паскаль. -.

М.: Наука, 1987. — 112 с.

3. Бутомо І.Дз., Самочадин А. В., Усанова Д. В. Програмування на алгоритмическом мові Паскаль. — Л.: Видавництво Ленінградського, 1985. — 216 с.

4. Грехем Р. Практичний курс мови Паскаль. — М.: Радіо і зв’язок. 1986 -.

200 с.

5. Ієнсен До., Вірт М. Керівництво для користувача і опис мови. -.

М., 1982. 151 с.

6. Пильщіков В.М. Збірник вправ з мови Паскаль. — М.: Наука, 1989.

— 160 с.

ДОДАТОК 1. ЛІСТИНГ ПРОГРАММЫ.

Program bioritm; {Програма визначення фізичної, емоційної і інтелектуальної активності людини. Запроваджується дата його й поточна дата. Програма обчислює і виводить на екран загальна кількість днів годин, хвилин і секунд, поділяючих обидві дати, і навіть прогнозує озер місяцем вперед дати, відповідні максимуму і мінімуму біоритмів} CONST SIZE_OF_MONTH: ARRAY [1.12] OF BYTE=.

(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31); var d0, d, {Дні його й місяці} m0, m, {Місяці його й поточний} y0, y, {Роки його й поточний} dmin, {Найменш сприятливий день} dmax, {Найсприятливіший день} days: integer; {Кількість днів від народження} {————————————————————————} PROCEDURE InputDates (var d0, m0,y0,d, m, y: integer); {Введення дати його й поточної дати. Контроль правильності дат та його несуперечливості (поточна дата мусить бути пізніше дати народження)} var correctly: boolean; {Ознака правильності ввода}.

{———————————————————————-} PROCEDURE InpDate (text: string; var d, m, y: integer);

{Виводить запрошення TEXT, вводить дату в формате.

ДВ ММ ГГГГ і перевіряє її правильність} const.

YMIN=1900; {Мінімальний правильний год}.

YMAX=2100; {Максимальний правильний год}.

BEGIN {InpDate} repeat write (text); readln (d, m, y); correctly:=(y>=YMIN) and (y=1) and (m0); if correctly then if (m=2) and (d=29) and (y mod 4=0) then.

{не робити: це 29 лютого високосного року} else correctly:=dy0; {ПРоверить несуперечність дат:} if not correctly and (y=y0) then begin correctly:=m>m0; if not correctly and (m=m0) then correctly:=d>d0; end; until correctly;

END; {InputDates}.

{——————————————————————————} PROCEDURE Get_numbers_of_days (d0,m0,y0,d, m, y: integer; var days: integer);

{Визначення повного кількості днів, минулих від однієї дати до інший} {——————————————————————————}.

PROCEDURE Variant2;

{Підрахунок кількості днів, у місяцях, поділяючих обидві дати} var mm: integer;

BEGIN {Variant2} mm:=m0; while mm.

Показати весь текст
Заповнити форму поточною роботою