Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Курсовая работа / Курс / Курсовая 2012 / Методичні вказівки

.pdf
Скачиваний:
0
Добавлен:
30.05.2020
Размер:
311.84 Кб
Скачать

2.На другій формі відображаються обчислений дискримінант, кількість коренів і кнопка обчислити, при натисненні на яку в третин формі видаються корені квадратного рівняння.

«Довідкова система»

Створити програму – довідкову систему з довільної галузі знань (бажано програмування).

«Гороскоп»

Створити програму, що виконує наступні дії:

1.На першій формі відбувається запит імені користувача і його дати народження.

2.На другій формі відображаються кнопки з назвами знаків зодіаку.

3.Після натиснення на відповідну кнопку в третин формі в компоненті MEMO відображаються інформація їх файлу (гороскоп).

«Конвертор СИ»

Створити програму, що виконує наступні дії:

1.На першій формі відбувається запит величини для перекладу (час, відстань, об'їм).

2.На другій формі відображаються рядки для введення відповідного значення величини і кнопки для перерахунку у вся решта.

«Тест з фізики»

Створити програму-тест з фізики. Програма має виконувати такі дії:

після завантаження з’явиться вікно

користувач за допомогою клавіш керування курсором вибирає зі списку «Фізична величина» довільне слово та натискає Enter;

курсор автоматично переводиться в поле «Назва величини», з якого також за допомогою клавіатури можна обирати відповідну назву величини та натискати Enter;

якщо вибрано правильну відповідність «Фізична величина» – «Назва величини», то під словом «Результат» з’являється повідомлення «Правильно», інакше – «Помилка». Дається 13 спроб, тобто по 13 разів користувач може обирати зі списків пари слів.

В новому вікні вивести результат виконання тесту та оцінку.

«Закон Ома»

Створити програму для обчислення напруги, опору та сили струму за законом Ома, якщо відома одна з величин. Програма має виконувати такі дії:

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

після натисканні на кнопці «Обчислити» в окремому вікні видає результат.

«Розрахунок опору»

Створити програму для обчислення невідомої величини в формулі для знаходження опору

R = ρ

l

πd 2

 

S

4

, якщо одна з них невідома. Програма має виконувати такі дії:

 

 

за

допомогою перемикачів або списку вибирається, яку величину треба знайти, потім

 

 

з’являється поля для введення інших величин;

 

після натисканні на кнопці «Обчислити» в окремому вікні видає результат.

«Розрахунок оплати за електроенергію»

Створити програму для обчислення суми, яку необхідно сплатити за спожиту електроенергію. Відомі 3-4 пристрої (лампочка, телевізор і т.д.), їх потужність та час, який працював кожний з них, а також оплата за 1 кВт/год в грн. Програма має виконувати такі дії:

на першій формі вводяться данні;

після натисканні на кнопці «Обчислити» в окремому вікні видає результат.

«Розрахунок рівняння Менделєєва-Клапейрона»

Створити програму для обчислення невідомої величини в рівнянні Менделєєва-Клапейрона

pV =

m

RT

M

 

, якщо одна з них невідома. Програма має виконувати такі дії:

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

після натисканні на кнопці «Обчислити» в окремому вікні видає результат.

«Ізопроцеси»

Створити програму для обчислення тиску, об’єму та температури, якщо невідома одна з величин.

p1V1

=

p2V2

 

T

T

 

1

 

2 Програма має виконувати такі дії:

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

після натисканні на кнопці «Обчислити» в окремому вікні видає результат.

«Розрахунок електричної ланцюгу»

Створити програму обчислення сили струму, напруги та опору електричного ланцюгу. Ланцюг складається з двох опорів, які можуть бути з’єднані паралельно чи послідовно. Програма має виконувати такі дії:

за допомогою перемикачів або списку вибирається, що відомо напруга чи сила струму, потім з’являються поле для введення значення другої величини та значень опорів.

за допомогою перемикачів встановлювати тип з’єднання;

після натисканні на кнопці «Обчислити» в окремому вікні видає результат.

«Супермакет»

Створити програму для обчислення суми покупки. Користувач повинен вводити код товару та кількість одиниць. Програма повинна формувати список товарів. Список кодів найменувань та цін товарів вводити з файла. Результат виводиться в окремому вікні. Також передбачити обчислення здачі покупця.

«Таксі»

Створити програму для обчислення вартості поїздки на автомобілі. Користувач повинен вводити відстань, вартість бензину за 1л, витрати палива на 100 км. За допомогою прапорця встановлювати чи буде повертатися. Результат виводиться в окремому вікні.

«Трикутники»

Створити програму для обчислення сторін та кутів трикутника, якщо відомі: 2 сторони та кут між ним, сторона та 2 прилеглих кути, 3 сторони. Програма має виконувати такі дії:

за допомогою перемикачів або списку вибирається що відомо, потім з’являється поля для введення інших величин;

після натисканні на кнопці «Обчислити» в окремому вікні видається результат.

Гра «Хто хоче стати мільйонером»

Гра «П’ятнадцять»

Гра «Судоку»

«Калькулятор систем числення»

Розробити калькулятор, що дозволяє проводити обчислення в заданій системі числення

«Енциклопедія країн світу»

4 Приклад програми

Створити файл, що містить відомості про робітників заводу. Структура запису: прізвище, ім’я, по-батькові, цех, стать, вік, заробітна платня.

Написати програму, що видає таку інформацію:

-список робітників цеху Х та їх заробітну плату;

-середню та максимальну заробітну плату цеху Х.

Основна програми

program Zavod; uses crt, zarplata; label 0,1;

Var p:integer; begin

assign(f, 'rabota.dat'); 1:clrscr;

gotoXY(32,8); writeln('Zdelayte vybor'); gotoXY(30,9); writeln('1 - Vvod zapisej'); gotoXY(30,10); writeln('2 - Vyvod zapisej'); gotoXY(30,11); writeln('3 - Dobavit'); gotoXY(30,12); writeln('4 - Redaktirovat'); gotoXY(30,13); writeln('5 - Udalit'); gotoXY(30,14); writeln('6 - Poisk'); gotoXY(30,15); writeln('7 - Vyhod iz programy'); gotoXY(27,16); write('-->');

readln(p); case p of

1:begin Vvod; goto 1 end; 2:begin Vyvod; goto 1 end; 3:begin Dobavit; goto 1 end; 4:begin Redakt; goto 1 end; 5:begin Delete; goto 1 end; 6:begin Poisk; goto 1 end; 7:goto 0

else goto 1; end;

0:end.

Модуль

Unit Zarplata; interface uses Crt;

type rabotnik=record Fam,Im,Otch:string; tseh:1..25; pol:char; vozrast:0..120; zarpl:real;

end;

var f,f1:file of rabotnik; i,n,n_tseh:integer; z:rabotnik; st:string; max,s,k:real; z_max:rabotnik;

procedure Vvod; procedure Vyvod; procedure Dobavit; procedure Delete; procedure Redakt; procedure Poisk;

implementation procedure Vvod; begin

clrscr;

rewrite(f);

i:=1;

st:='d';

while st='d' do begin

clrscr;

writeln('Vvedite dannye ',i, ' rabotnika');

write('Vvedite familiju: ');

readln(z.fam);

write('Vvedite imja : ');

readln(z.im);

write('Vvedite otchestvo : ');

readln(z.otch);

write('Vvedite nomer tseha: ');

readln(z.tseh);

write('Vvedite pol: ');

readln(z.pol);

write('Vvedite vozrast: ');

readln(z.vozrast);

write('Vvedite zarplatu: ');

readln(z.zarpl);

write(f, z); i:=i+1;

writeln ('Hotite prodolzhit (d/n)'); readln(st);

end;

close(f);

end;

procedure Vyvod; begin

clrscr;

reset(f);

writeln(' Spisok rabotnikov ');

if filesize(f)=0 then begin textcolor (4+16); writeln(' V baze net zapisej'); textcolor(7) end else for i:=1 to filesize(f) do

begin

read(f, z); write(z.fam);

gotoxy(15,wherey); write(z.im); gotoxy(27,wherey); write(z.otch); gotoxy(44,wherey); write(z.tseh); gotoxy(49,wherey); write(z.pol); gotoxy(54,wherey); write(z.vozrast); gotoxy(59,wherey); write(z.zarpl:5:2); writeln;

end;

close(f);

readkey;

end;

procedure Dobavit; begin

clrscr;

reset(f);

seek(f,filesize(f));

i:=filesize(f);

st:='d';

while st='d' do begin

clrscr;

writeln('Vvedite dannye pro rabotnika');

write('Vvedite familiju: ');

readln(z.fam);

write('Vvedite imja : ');

readln(z.im);

write('Vvedite otchestvo : ');

readln(z.otch);

write('Vvedite nomer tseha: ');

readln(z.tseh);

write('Vvedite pol: ');

readln(z.pol);

write('Vvedite vozrast: ');

readln(z.vozrast);

write('Vvedite zarplatu: ');

readln(z.zarpl);

write(f, z);

 

i:=i+1;

 

writeln ('Hotite prodolzhit (d/n)'); readln(st);

end;

close(f);

end;

procedure Delete; begin

clrscr;

reset(f);

while not (eof(f)) do begin

read(f, z); write(z.fam);

gotoxy(15,wherey); write(z.im); gotoxy(27,wherey); write(z.otch); gotoxy(44,wherey); write(z.tseh); gotoxy(49,wherey); write(z.pol); gotoxy(54,wherey); write(z.vozrast); gotoxy(59,wherey); write(z.zarpl:5:2); writeln;

end;

close(f);

writeln;

reset(f);

writeln('Zadajte nomer udaljaemoj zapisi'); readln(n); if n>filesize(f) then write('Takoj zapisi net')

else begin

assign(f1,'rabota2.dat');

rewrite(f1);

for i:=1 to filesize(f) do begin

read(f, z);

if filepos(f)<>n then write (f1,z); end;

close(f1); close(f);

erase(f); rename (f1,'rabota.dat'); write('Zapis udalena');

end;

readkey;

end;

procedure Redakt; begin

clrscr;

reset(f);

while not (eof(f)) do begin

read(f, z); write(z.fam);

gotoxy(15,wherey); write(z.im); gotoxy(27,wherey); write(z.otch); gotoxy(44,wherey); write(z.tseh); gotoxy(49,wherey); write(z.pol); gotoxy(54,wherey); write(z.vozrast); gotoxy(59,wherey); write(z.zarpl:5:2); writeln;

end;

close(f);

reset(f);

writeln('Vvedite nomer zapisi'); readln(n);

if n>filesize(f) then write('Takoj zapisi net') else

begin seek(f,n-1);

writeln('Vvedite dannye ',n, ' rabotnika');

writeln('Vvedite familiju: ');

readln(z.fam);

writeln('Vvedite imja : ');

readln(z.im);

writeln('Vvedite otchestvo : ');

readln(z.otch);

writeln('Vvedite nomer tseha: ');

readln(z.tseh);

writeln('Vvedite pol: ');

readln(z.pol);

writeln('Vvedite vozrast: ');

readln(z.vozrast);

writeln('Vvedite zarplatu: ');

readln(z.zarpl);

write(f, z);

 

write('Zapis izmenena');

 

end;

 

readkey;

 

close(f);

 

end;

 

procedure Poisk; begin

clrscr;

write('Vvedite nomer tsheha: '); readln(n_tseh); s:=0; k:=0; max:=0;

reset(f);

writeln;

while not (eof(f)) do begin

read(f, z);

if n_tseh=z.tseh then k:=k+1

end;

close(f);

reset(f);

if k=0 then write('Takogo tseha net') else

begin

writeln('Spisok rabotnikov ', n_tseh, ' tseha'); while not (eof(f)) do

begin

read(f, z);

if n_tseh=z.tseh then begin

write(z.fam); gotoxy(15,wherey); write(z.im);

gotoxy(27,wherey); write(z.otch); gotoxy(44,wherey); write(z.tseh); gotoxy(49,wherey); write(z.pol); gotoxy(54,wherey); write(z.vozrast); gotoxy(59,wherey); write(z.zarpl:5:2); writeln;

s:=s+z.zarpl;

end;

if (n_tseh=z.tseh) and (max<z.zarpl) then

begin max:=z.zarpl; z_max:=z;

end;

end;

s:=s/k;

writeln;

writeln('Srednja sarplata ',s:4:2); writeln('Maksimalnaja sarplata ',max:4:2); write(z_max.fam);

gotoxy(15,wherey); write(z_max.im); gotoxy(27,wherey); write(z_max.otch); gotoxy(44,wherey); write(z_max.tseh); gotoxy(49,wherey); write(z_max.pol); gotoxy(54,wherey); write(z_max.vozrast); gotoxy(59,wherey); write(z_max.zarpl:5:2); writeln;

end;

readkey;

end;

end.

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

Основна література

1.Фаронов В. В. Турбо Паскаль 7.0. Учебный курс: Учебное пособие. – М.: Нолидж, 2001. – 576 с.

2.Боровик В.А., Тыркусова Н.В. Программирование: Учебное пособие: В 2 ч. – Сумы: Изд-во СумГУ, 2004. – 4.1. – 106 с.

3.Боровик В.А., Тыркусова Н.В. Программирование: Учебное пособие : В 2 ч. – Сумы: Изд-во СумГУ 2004. – Ч.2. – 111 с.

4.Бабий М.С. Использование файлов в среде Турбо Паскаль. – Сумы:Изд-во СумГУ 1997.

Додаткова література

1.http://vv\vw.programmist.info/pp/pascal/ – Різна інформація для усіх, хто знає мову програмування Pascal; тут можна знайти довідкові посібники.

2.http://mdelphi.far.ru/pascal/ – Повний навчальний курс Turbo Pascal. Цей розділ створений для навчання програмуванню на Паскалі.

3.http://www.knowledge.ru/ – Дискета з модулями і прикладами до книги Фаронова з Турбо Паскаля.

4.http://www.karelia.ru/psu/Chairs/IMO/pascal/ – Навчальний комплекс з мови програмування Паскаль.

Соседние файлы в папке Курсовая 2012