Міністерство науки і освіти Республіки Казахстан
Костанайської коледж автомобільного транспорту
Звіт
З навчальної практиці по предмету
Основи алгоритмізації та програмування
Виконала: учениця гр.2 Пр-8
Леонова Ю.
Костанай 2008
1. Введення
Мета: Закріпити та поглибити теоретичні знання мови програмування на практиці, за наступними темами: лінійний алгоритм, умовний оператор (модуль CRT), цикли, графіка, підпрограми, множини, записи, рядки, одномірні і двовимірні масиви.
Задачі.1. Повторити теоретичний матеріал.
2. Закріпити теоретичний матеріал.
3. Вирішити запропоновані завдання на мові Паскаль.
4. Правильно оформити запропоновані завдання до звіту.
2. Огляд мови програмування.
2. Історія мови Pascal
Основні концепції мови були розроблені в 1967-1968р. професором Ніколаусом Віртом (Niklaus Wirth). Стандарт мови був розроблений ним у 1974р. (PASCAL - User Manual and Report, ISO Pascal Standard Kathleen Jensen and Niklaus Wirth) спільно з Кетлін Йенсен (Kathleen Jensen). Паскаль досить швидко перетворився із засобу, призначеного для навчання студентів програмуванню, на інструмент, який стали використовувати для створення великих програмних проектів.
В даний час діють три стандарти мови. Перший з них - нерозширення Паскаль (unextended Pascal) був розроблений в 1983 році. Другий - Extended Pascal - містить розширення, що стосуються модульного програмування (роздільна компіляція модулів, імпорт-експорт підпрограм, інтерфейсна частина та реалізація), і доповнений низкою процедур і функцій (прямий доступ до файлів, робота з рядками і т д). Останній - об'єктний Паскаль (Object-Oriented Extensions to Pascal), на відміну від перших двох, формально не затверджений, але оформлений у вигляді звіту (ANSI Technical Report) у 1993р. Об'єктний Паскаль підтримує класи, що володіють властивостями і методами, наслідування класів, перевизначення методів у нащадків (поліморфізм) і ряд інших атрибутів об'єктно-орієнтованого програмування.
Алгоритмом називається точне і зрозуміле розпорядження виконавцю здійснити послідовність дій спрямованих на вирішення поставленого завдання.
Лінійним алгоритмом - називається обчислювальний процес, при якому всі етапи рішення завдання виконуються в природному порядку проходження записи цих етапів.
Циклічний алгоритм - це багаторазове повторюваний ділянку обчислень.
Перераховувані тип даних задається безпосередньо перерахуванням всіх значень, які може приймати змінна даного типу. При описі окремі значення вказуються через кому, а весь список полягає в круглі дужки. Наприклад, Var Season: (winter, spring, summer, autum);
Temp: (23,24,25,26);
Строковий тип:
Рядок - у загальному випадку це послідовність символів. Рядок являє собою особливу форму одновимірного масиву символів, яка має істотну відмінність. Масив символів має фіксовану довжину (кількість елементів), яка визначається при описі. Рядок має два різновиди довжини:
Загальну довжину рядка, який характеризує розмір пам'яті, що виділяється рядку при описі. Поточну довжину рядка (завжди менше або дорівнює загальній довжині), яка показує кількість смислових символів рядка в кожен конкретний момент часу.
Для визначення даних строкового типу в Turbo Pascal 7.0 введені стандартні типи String і PChar.
Умовні оператори призначені для зміни порядку виконання інструкцій програми, у відповідності з деяким умовою.
Оператор умови IF.
Він може приймати одну з таких форм:
IF умова THEN оператор; (неповна форма)
Умова задається змінною і її співвідношенням з деякою константою або значенням висловлювання. Якщо умова виконується, то буде виконаний вказаний оператор.
IF умова THEN оператор 1 ELSE оператор 2; (повна форма)
Додавання до конструкції службового слова ELSE дозволяє виконати певні дії у разі, коли умова не виконуються.
Оператори циклу
Для виконання деякої кількості повторюваних дій доцільно використовувати оператори циклу.
Цикли з лічильником
При використанні циклу з лічильником слід задати змінну-лічильник. При цьому треба пам'ятати, що тип такої змінної повинен бути скалярним: Integer, Char, Boolean, що перераховується тип.
For <початкове значення лічильника> To <кінцеве значення> Do <тіло циклу>;
Лічильник змінюється від меншого до більшого з кроком 1
For <початкове значення лічильника> Downto <кінцеве значення> Do <тіло циклу>;
Лічильник змінюється від більшого до меншого з кроком 1
Цикли з передумовою
Цикл з передумовою використовується для програмування процесів, в яких число повторень оператора циклу не відомо, а задається деяка умова його закінчення.
Оператор циклу з передумовою |
while <умова> do <тіло циклу>; |
Виконання оператора циклу з передумовою починається з перевірки умови, записаного після слова while. Якщо її дотримуються, то виконується <тіло циклу>, а потім знову перевіряється умова і т.д. Як тільки на черговому кроці виявиться, що умова не дотримується, то виконання <тіла циклу> припиниться.
У тілі циклу обов'язково повинен бути оператор, що впливає на дотримання умови, в іншому випадку відбудеться зациклення.
Цикли з постусловіем.
Для програмної реалізації циклічних процесів з невідомим числом повторень існує ще один оператор - оператор циклу з постусловіем, який має наступний вигляд:
Оператор циклу з постусловіем |
Repeat |
<Оператор 1>; |
<Оператор 2>; |
... |
<Оператор n>; |
Until <умова>; |
де Repeat (повторювати), Until (до тих пір, поки що).
Цей оператор аналогічний оператору циклу з передумовою, але відрізняється від нього тим, що перевірка умови проводиться після чергового виконання тіла циклу. Це забезпечує його виконання хоча б один раз.
Тип даних - це безліч величин, об'єднаних певною сукупністю доступних операцій.
Одновимірний масив - послідовність елементів. Число, яких фіксоване і яким присвоєно одне ім'я.
Запис - це структура даних, що складається з фіксованого числа комп'ютера, називається полями запису.
Безліч в мові програмування Pascal представляє собою обмежений, невпорядкований набір різних елементів одного типу.
Рядок - це послідовність символів ASCII (таблиця коду). При використання у виразах рядок полягає в апострофи.
Двовимірний масив-це сукупність даних кожного значення, яких залежить від 2 чисел, які можна розглядати як індекс рядка, і індекс стовпця матриці.
3. Спеціальна частина
3.1 Рішення завдання
3.1.1 Постановка завдання
Скласти програму обчислення суми n перших членів геометричної прогресії в будь-яким двом її членам, номери яких відомі.
3.1.2 Таблиця ідентифікаторів
№ | Змінні | тип | Значення |
1 | n | integer | Кількість членів геометричної прогресії |
2 | b1, b2 | real | Перший і другий члени геометричної прогресії |
3 | Sn | real | Сума n членів геометричної прогресії |