- •Мета лабораторних занять
- •Порядок виконання лабораторних робіт
- •Завдання до лабораторних робіт Лабораторна робота № 3
- •Інтегрованого середовища програмування Turbo Pascal 7.0. Багатовіконна робота з редактором текстів.
- •Лабораторна робота № 4
- •Створення і виконання програм в інтегрованому середовищі Turbo Pascal 7.0.
- •Лабораторна робота № 5
- •Варіанти індивідуальних завдань:
- •Вирази до індивідуальних завдань п.5 Таблиця 1
- •Лабораторна робота № 6
- •Обчислювальних процесів. Побудова блок-схем алгоритмів.
- •Варіанти індивідуальних завдань:
- •Лабораторна робота № 7
- •Контролювання процесу виконання програми.
- •Варіанти індивідуальних завдань:
- •Лабораторна робота № 8
- •Варіанти індивідуальних завдань:
- •Лабораторна робота № 9
- •Використання стрінгів і множин у Паскаль-програмах.
- •Варіанти індивідуальних завдань:
- •Лабораторні роботи № 10 і 11
- •Варіанти індивідуальних завдань:
- •Лабораторна робота № 12
- •Варіанти індивідуальних завдань:
- •Лабораторна робота № 13
- •Лабораторна робота № 14
- •Навчальна література
Завдання до лабораторних робіт Лабораторна робота № 3
Тема роботи: Ознайомлення зі складом та призначенням
Інтегрованого середовища програмування Turbo Pascal 7.0. Багатовіконна робота з редактором текстів.
Мета роботи: ознайомитись зі структурою та основними складовими компонентами інтегрованого середовища програмування Turbo Pascal 7.0, оволодіти засобами редагування текстів і роботою в багатовіконному режимі, навчитись створювати, зберігати та відкривати текстові файли.
Завдання лабораторної роботи: 1. Активізувати інтегроване середовище програмування, використовуючи один з можливих способів його завантаження, описаних у методичному посібнику по роботі з системою програмування Turbo Pascal 7.0.
Ознайомитись зі структурою інтерфейсу інтегрованого середовища, пройтись по всіх розділах головного меню, переглянути пункти кожного з вертикальних меню.
Змінити поточний каталог середовища на особистий підкаталог у загальному каталозі групи, виконавши необхідні установки у вікні діалогу команди Change dir…; якщо такого каталогу ще немає, то закрити інтегроване середовище і створити потрібні каталоги.
Відкрити вікно нового файлу і ввести 30-40 рядків будь-якого тексту (введені рядки можуть бути беззмістовними). Зберегти набраний текст у файлі з довільним іменем в особистому каталозі (обов’язково перевірити, чи він є поточним на даний момент).
Використовуючи набраний текст, навчитись використовувати засоби текстового редактора інтегрованого середовища для швидкого введення та коректування текстів програм, зокрема: оволодіти командами пересування курсора, витирання та вставляння тексту і роботи з текстовими блоками. Виправлений текст зберегти у файлі з іншим іменем.
Відкрити файл з текстом, збереженим раніше, а також ще одне вікно нового файлу. Розташувати відкриті вікна у різному порядку, використовуючи команди Tile i Cascade з розділу меню Window. Навчитись здійснювати перехід від одного активного вікна до іншого, закривати вікна, змінювати їх розміри та пересувати їх (за допомогою мишки чи клавіш), щоб створити зручний для роботи багатовіконний інтерфейс.
Перенести і/або скопіювати декілька фрагментів тексту з першого та другого файлів у нове вікно. Подивитись, яким є вміст буфера обміну Clipboard після виконання цих операцій. Внести в нього якісь зміни і скопіювати виправлені фрагменти у робочі текстові вікна.
Перед завершенням роботи з інтегрованим середовищем зберегти внесені зміни в текстових файлах і закрити всі текстові вікна.
Оформити звіт з лабораторної роботи, в якому до кожного пункту завдання вказати, що було зроблено в процесі його виконання, які команди чи засоби інтегрованого середовища використовувались для цього та якими були результати їх застосування.
Лабораторна робота № 4
Тема роботи: Структура програми на мові Турбо Паскаль.
Створення і виконання програм в інтегрованому середовищі Turbo Pascal 7.0.
Мета роботи: Ознайомитись з основними структурними частинами програм на мові Турбо Паскаль та правилами їх запису; навчитись швидко вводити текст програми, виконувати операції пошуку та заміни елементів тексту, здійснювати компіляцію і виконання програми.
Завдання лабораторної роботи: 1. Уважно прочитати текст програми, наведеної нижче. Програма дозволяє визначити день 2013 року, порядковий номер якого задає користувач.
2. Виділити основні структурні фрагменти програми:
заголовок;
підключення стандартних бібліотечних модулів;
розділ оголошення користувацьких типів даних;
розділ оголошення констант;
розділ опису змінних;
оголошення міток;
розділ операторів головної програми.
3. Звернути увагу на стиль запису програми:
введення коментарів, що пояснюють значення змінних та дії, які виконуються;
використання відступів та вертикального вирівнювання рядків для візуального виділення цілісних фрагментів програми;
застосування великих і малих літер для підвищення наочності та читабельності зарезервованих слів, імен змінних і констант, імен стандартних підпрограм.
Ввести текст поданої програми і зберегти його у файлі в особистому каталозі (перед записом файлу обов’язково пересвідчитись, що встановлено потрібний каталог). Для швидкого введення програми використати відповідні команди текстового редактора, що дозволяють робити табуляційні відступи, вирівнювання рядків, копіювання тексту, внесення замін чи доповнень, тощо. У процесі введення доцільно час від часу записувати у файл вже набраний текст (найпростіше це робити командою Save (F2), попередньо створивши потрібний файл командою Save as…).
Відкомпілювати програму командою Compile (Alt+F9), перевіривши, чи в опції Destination вказано Memory. У випадку наявності синтаксичних помилок – виправити їх і повторно відкомпілювати програму.
Якщо компіляція пройшла успішно, про що свідчить повідомлення у вікні результатів компіляції, то запустити програму на виконання командою Run (Ctrl+F9).
Виконати програму декілька разів для різних значень порядкового номера дня року, які вказані в п.1 індивідуального завдання. Навчитись перемикати вікно середовища на повноекранне вікно MS DOS з результатами роботи програми (Alt+F5) та знову повертатись у вікно редактора (довільна клавіша). Занести в звіт отримані результати. Зауваження: для перегляду результатів роботи програми в окремому вікні середовища, треба відкрити вікно Output (пункт меню Debug).
Використовуючи команди розділу меню Search, зробити заміну в тексті програми заданих в п.2 індивідуального завдання імен змінних, підпрограм, виразів і т.п. на вказані нові. Зберегти змінену програму під новим іменем.
Виконати відредаговану програму. Щоб зменшити кількість операцій, надалі компіляцію і реалізацію програми можна виконувати однією командою – Run (Ctrl+F9). Відзначити, чи вплинули внесені зміни на результат роботи програми.
Якщо у вас є досвід програмування, то можна внести в програму свої зміни чи доповнення. Наприклад, переробити її так, щоб визначався день поточного року або змінити інтерфейс введення/виведення, тощо. Зафіксувати отримані результати.
Оформити звіт з лабораторної роботи, зазначивши всі основні кроки, що були зроблені в процесі введення, компіляції та виконання програми. Навести текст програми і результати її реалізації. Вказати, які зміни вносились у програму і чи вплинули вони на результати виконання.
Програма для введення, редагування і виконання:
Program Day_of_2013_year;
Uses CRT;
Type
MonName=string [10];
MonDays=29..31;
Const
MaxDays=366;
Month: array[1..12] of MonName = ('січня','лютого','березня','квітня',
'травня','червня','липня','серпня','вересня',
'жовтня','листопада','грудня');
Days: array[1..12] of MonDays = (31,28,31,30,31,30,31,31,30,31,30,31);
Var
day, nmon: byte;
numb, n: integer;
mon: MonName;
weekday: string [9];
Label rep;
BEGIN
Writeln; Writeln;
Write ('Введіть номер дня 2013 року - ');
rep: Readln (numb);
if (numb>MaxDays) or (numb<1) then
begin
Writeln (' Помилка у номері дня року! Повторіть!');
goto rep
end;
{** Визначення місяця та дня **}
nmon:=1; {номер місяця}
n:=numb;
while n>Days[nmon] do { якщо значення n перевищує кількість днів }
begin { у місяці з номером nmon, }
n:=n-Days[nmon]; { то зменшуємо значення n }
nmon:=nmon+1 { і розглядаємо наступний місяць }
end;
day:=n;
mon:=Month[nmon];
{** Визначення дня тижня **}
n:=numb mod 7; {відкидаємо повні тижні і беремо залишок }
case n of {за базис приймаємо день 1-го січня 2004 р. – четвер}
1: weekday:='четвер';
2: weekday:='п''ятниця'; {апостроф в символьних рядках подвоюється}
3: weekday:='субота';
4: weekday:='неділя';
5: weekday:='понеділок';
6: weekday:='вівторок';
0: weekday:='середа';
end;
TextColor (Yellow); {результат виводимо жовтим кольором }
Writeln (' Цей день - ',day, ' ', mon, ' - ', weekday);
TextColor (White);
Readln {затримка зображення результатів }
End.
Індивідуальне завдання складається з двох пунктів, в яких вказано: 1 – порядкові номери днів 2004 року, для яких треба визначити відповідну дату; 2 – елементи програми, які повинні бути замінені вказаними новими іменами.
Варіанти індивідуальних завдань:
|
|
1) 12, 189, 266; |
2) MaxDays YearDays, n day_number. |
|
|
1) 43, 287, 301; |
2) weekday day_name, rep input_lab. |
|
|
1) 101, 225, 364; |
2) Writeln WRITELN, Readln READLN. |
|
|
1) 36, 188, 362; |
2) byte integer, nmon month. |
|
|
1) 99, 219, 276; |
2) MonDays MonthDays, TextColor textcolor. |
|
|
1) 1, 239, 287; |
2) 29 28, nmon month_number. |
|
|
1) 52, 178, 325; |
2) n date, Yellow Green. |
|
|
1) 87, 158, 269; |
2) Days Number_of_Days, ** ***=**. |
|
|
1) 233, 261, 360; |
2) MonName Name_of_Month, White WHITE. |
|
|
1) 15, 139, 325; |
2) begin Begin, end End. |
|
|
1) 291, 307, 348; |
2) MaxDays MAX_DAYS, weekday day_name. |
|
|
1) 103, 181, 254; |
2) nmon month_number, MaxDays YearDays. |
|
|
1) 7, 132, 313; |
2) n day_number, mon month_name. |
|
|
1) 208, 75, 206; |
2) Readln readln, Writeln writeln. |
|
|
1) 325, 89, 171; |
2) rep input_number, Days Number_of_Days. |
|
|
1) 358, 137, 311; |
2) MonDays MonthDays, mon month_name. |
|
|
1) 134, 66, 359; |
2) ** ** **, MonName Name_of_Month. |
|
|
1) 109, 29, 367; |
2) n date, MaxDays YEAR_DAYS. |
|
|
1) 214, 122, 271; |
2) Yellow LIGHTRED, White WHITE. |
|
|
1) 117, 364, 179; |
2) begin Begin, end End. |
|
|
1) 123, 250, 304; |
2) TextColor textcolor, rep input_number. |
|
|
1) 321, 198, 97; |
2) weekday day_name, n date. |
|
|
1) 76, 136, 351; |
2) mon month_name, n day_number. |
|
|
1) 49, 118, 321; |
2) Readln READLN, Writeln WRITELN. |
|
|
1) 30, 172, 244; |
2) MonName Month_Name, nmon month_number. |
|
|
1) 84, 163, 272; |
2) Days Number_of_Days, 29 28. |
|
|
1) 98, 279, 366; |
2) MaxDays YearDays, MonDays MonthDays. |
|
|
1) 109, 101, 249; |
2) Writeln writeln, Readln readln. |
