русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

УРОК 35. ВИКОРИСТАННЯ ПРОЦЕДУР


Дата добавления: 2015-06-12; просмотров: 514; Нарушение авторских прав


Мета уроку:Дати поняття про допоміжні алгоритми, типи допоміжних алгоритмів, оформлення підпрограм (процедур) мовою Паскаль.

На початку уроку рекомендується провести опитування у письмовому чи усному вигляді для закріплення теоретичного матеріалу попереднього уроку (поняття допоміжного алгоритму, типи допоміжних алгоритмів, передача параметрів у допоміжний алгоритм, локальні та глобальні, фактичні та формальні параметри тощо).

Після цього рекомендується розв'язати з учнями кілька задач.

ЗАДАЧА № 417

Умова: Баба-Яга записалася на курси водіїв літальних апаратів. Але справи в неї були кепські, бо вона ніяк не могла запам'ятати, яким чином визначається тривалість польоту, якщо відомі швидкість і відстань. Довелося їй звернутися по допомогу до Хлопчика-Мізинчика, який швиденько написав їй шпаргалку, куди Бабі-Язі треба було лише підставити свої значення. Як виглядала послідовність дій у цій шпаргалці і як нею користувалася Баба-Яга?

Розв'язування: Очевидно, що «шпаргалку» Хлопчика-Мізинчика можна оформити як допоміжний алгоритм. Параметрами, що передаються у цей алгоритм, будуть швидкість літального апарату та відстань, яку необхідно подолати, а вихідним параметром - шукана тривалість польоту. Вхідні параметри процедури повинні бути параметрами-значениями, а вихідний параметр - параметром-змінною. Позначимо у підпрограмі формальні параметри наступним чином: V - швидкість літального апарату; S -відстань, що необхідно подолати; Т - тривалість польоту.

В основній програмі ті самі змінні будуть мати відповідно імена: X, Y та М (імена змінних у основній програмі бажано, щоб не збігалися з іменами локальних параметрів підпрограми, тому їх вибір є випадковим).

Спробуємо на цьому уроці оформити допоміжний алгоритм як процедуру. Тоді вихідна програма буде мати наступний вигляд:



Program Example_417;

Uses crt; (Підключення бібліотеки}

Procedure Solution (V,S - real; var T - time);

Begin T:=S/V; End;

Var X,Y,M:real;

Begin

Clrscr;

Write('Введіть швидкість літального апарату: ');

Readln(X);

Write('Введіть відстань між населеними пунктами: ');

Readln(Y);

If (X<=0) or (Y<0) then writeln('He коректні вхідні дані.')

Else

Begin

Solution(X,Y,M); {Виклик процедури}

Writeln('Тривалість польоту -> ',М:6:2);

end;

Readkey;

End.

ЗАДАЧА № 463

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

Розв'язування: Очевидно, що підпрограма, яка виконує дану задачу, повинна мати три формальних параметри. Позначимо їх наступним чином: S - заданий текст (змінна рядкового типу string); x - символ, що підлягає вилученню (змінна символьного типу char); count- кількість вилучень (числова змінна цілого типу, наприклад byte).

Параметр х повинен бути параметром-значенням (вхідний параметр), а параметри 5 та соип/параметрами-змінними (вихідні параметри). Рядок 5 фактично є і вхідним, і вихідним, тому що за умовою задачі саме в ньому необхідно здійснити вилучення заданих символів.

Для виконання поставленої задачі, на наш погляд, зручніше використовувати цикл з передумовою, тому що після вилучення символів з рядку він змінює свою довжину, і використання циклу з параметром (for) може призвести до помилки. Крім того, зверніть увагу на те, що зміна індексу і (номер поточної позиції рядка) виконується тільки у випадку, якщо шуканий символ не знайдено. Це пов'язано з тим, що рядок може містити цей символ у сусідніх позиціях, і після вилучення поточного символу на ту саму позицію попадає знову шуканий символ.

Оформлення основної програми, на наш погляд, не повинно викликати сумнівів. Зазначимо лише, що відповідні фактичні параметри у запропонованій програмі будуть називатися Л (заданий текст), ch (символ, що підлягає вилученню), ^(кількість вилучень). Програма, що виконує запропонований алгоритм, має наступний вигляд:

Program Example_463;

Uses crt; (Підключення бібліотеки}

Procedure Solution (x:char; var S:string; var count:byte);

var і:byte; (локальна змінна для організації циклу}

Begin

count:=0; і:=1;

while i<=length(S) do

Begin

if S[i]=x

Then

Begin

count:=count+l;

delete(S,i,l);

End

else i:=i+1;

end;

End;

Var A:string; ch:char; N:byte;

Begin

clrscr;

writeln('Введіть текст: ');

readln(A);

write('Введіть шуканий символ: ');

readln(ch);

Solution(ch,A,N);

writeln('Результуючий текст: ',A);

writeln('Кількість виконаних вилучень: ',N);

readkey;

End.

Домашнє завдання:

повторити теоретичний матеріал за попередні уроки;

задачі з запропонованого підручника №419, №424, №426, №430.

 



<== предыдущая лекция | следующая лекция ==>
R(1,d) —ні | Теоретическая часть


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 1.739 сек.