Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Обчислювальний процес, що розгалужується
Завдання: Скласти алгоритм і програму за допомогою операторів галуження IF і CASE і оператора безумовного переходу GOTO. Досліджувати функцію на область допустимих значень. Завдання приведені в таблиці 2. Управління обчислювальним процесом Коли процес обчислення залежить від проміжних обчислень, то хід розрахунку не може бути заданий однозначно до початку розрахунку. В цьому випадку потрібне використання операторів управління обчислювальним процесом:
2.1 Оператор безумовного переходу GOTO Безумовний перехід приводить до передачі управління з одного місця програми в інше. Для виконання безумовного переходу необхідно:
· на початку програми описати цю мітку. Опис міток виконують між заголовком програми і описом констант. Мітками можна зробити відразу декілька чисел.
Наприклад:
program prim; label 1,2,8; var c, i:integer; b, d:real; begin read(b); d: =sin (b); goto 1; ... ... ... 2: read(i); c: =i+1; write(c); goto 8; ... ... ... 1: write(d); goto 2; ... ... ... 8: end.
2.2 Тип даних BOOLEAN
Булеві (логічні) змінні можуть мати одне з двох значень: TRUE (істина) або FALSE (брехня).Булеві вирази використовуються для перевірки відносин між двома змінними. Відносини: = рівно; > більше, ніж...; >= більше, ніж... або рівно; < менше, ніж...; <= менше, ніж..., або рівно; <> нерівно; Крім того, булеві вирази можуть конструюватися за допомогою булевих операцій. У мову Паскаль включені три булеві операції: AND (и), OR (або), NOT (не). Булеві операції застосовуються, якщо потрібно перевірити складну умову. Булеві вирази можуть використовувати три булеві операції в будь-яких поєднаннях; операнди можуть бути простими булевими константами, булевими змінними або відносинами. Порядок старшинства операцій в булевих виразах:
У мові Паскаль є вбудована булева функція ODD (X) з цілочисельним аргументом. Функція ODD (X) повертає істину, якщо аргумент X є непарним.
2.3 Галуження
Використовуючи булеві вирази можна здійснювати перевірку різних умов в мові Паскаль. Конструкція вибору може бути реалізована за допомогою двох функцій: IF і CASE.
2.3.1 Інструкція IF
Оператори умовного переходу IF THEN і IF THEN. ELSE задають порядок проходження операторів залежно від істинності (або помилковості) виразу відношення.
Загальна форма запису: IF булевий вираз THEN оператор IF булевий вираз THEN оператор 1 ЕLSE оператор 2
Коли оператор IF з'являється усередині іншого оператора IF, він вважається вкладеним. Вкладення використовується для зменшення числа перевірок. Проте не рекомендується використовувати більш за одного-двух рівні вкладення IF. Якщо в операторові IF буде потрібно виконання послідовності операторів, можна поміщати цю послідовність між зарезервованими словами BEGIN і END.
Приклад:
program vybor; var a, b:integer; begin writeln('введіть числа а, b'); read(а, b); if a<b then writeln('а менше b') else writeln('а більше b'); { складений оператор} if a<b then begin writeln('a<b'); writeln('а менше b'); end; end.
2.3.2 Інструкція CASE
Оператор IF дозволяє програмі виконувати переходи на ту або іншу гілку за значенням булевої умови. Для здійснення вибору однієї з декількох альтернатив мова Паскаль надає іншу структуру, що управляє (оператор CASE). Таким чином, інструкція CASE здійснює множинне галуження по ряду умов.
Загальна форма запису: CASE вираз OF значення: оператор; ................... значення: оператор; ELSE оператор; end;
Обробка оператора починається з обчислення виразу, а далі виконується оператор, відповідний результату обчислення виразу.
Приклад 1:
case number mod 2 of 0: writeln('number- парне'); 1: writeln('number- непар.'); end;
Приклад 2:
case month of 1,2,3: writeln('перший квартал'); 4,5,6: writeln('другий квартал'); 7,8,9: writeln('третій квартал'); 10,11,12: begin writeln('четвертий квартал'); writeln('складається з місяців:'); writeln('жовтень, листопад, грудень'); end; end;
Змінна вибору (селектор) в операторові CASE не повинна належати типу REAL. Селектор може бути виразом.
Таблиця 2 - Варіанти завдань для лабораторної роботи № 2
ЛАБОРАТОРНА РОБОТА № 3
ЦИКЛІЧНИЙ ПРОЦЕС
Завдання: Написати програми розрахунку функції, використовуючи операторів циклу WHILE, REPEAT і FOR. Для кожного конкретного завдання з таблиці 3 визначити ефективність кожного оператора циклу. Цикл це послідовність операторів, яка може виконуватися більше одного разу. Для реалізації циклів в Паскалі передбачено три різні інструкції. WHILE і REPEAT використовуються, якщо число повторень (ітерацій) заздалегідь не відомі, але відомі умови завершення циклу. Інструкція FOR застосовується, коли число ітерацій відоме.
3.1 Оператор WHILE
При виконанні оператора WHILE повторюється група операторів до тих пір, поки визначене в операторі WHILE булева умова істинно. Як тільки умова циклу не задовольняється, управління передається інструкції, наступній за WHILE. Якщо умова не виконується до початку виконання циклу, тіло циклу пропускається.
Загальна форма запису: WHILE булева умова DO оператор;
Приклад підрахунку суми додатніх чисел: program sum; var a, sch, sum:integer; begin sum:=0;sch:=0; while a>0 do begin read(a); sum:=sum+a; sch:=sch+1; end; writeln('сума',sch,' чисел рівна',sum); end.
3.2 Оператор REPEAT
Між інструкціями REPEAT і WHILE існує три істотні відмінності:
Загальна форма запису: REPEAT список операторів; UNTIL умова;
Приклад підрахунку суми додатніх чисел:
program sum; var a, sch, sum:integer; begin sum:=0;sch:=0; repeat read(a); sum:=sum+a; sch:=sch+1; until a>0; writeln(' сума',sch', чисел рівна',sum); end.
3.3 Оператор FOR
Ця інструкція призначена для організації покрокових циклічних процесів, керованих за допомогою спеціальної змінної.
Загальна форма запису 1: FOR керуюча зм і нна:=початкове значення TO кінцеве значення DO оператор;
Загальна форма запису 2: FOR керуюча зм і нна:= початкове значення DOWNTO кінцеве значення DO оператор;
Керуюча змінна, набуває значень починаючи з першого (їм є вираз після символу :=) і, закінчуючи останнім (їм є вираз після TO і DOWNTO). Значення керуючої змінної, міняються з кроком +1, якщо використовується ключове слово TO, або з кроком -1, якщо використовується ключове слово DOWNTO.
Інструкція після ключового слова DO виконується один раз для кожного нового значення змінної, що управляє. Цикл завершується досягнувши керуючої змінної свого кінцевого значення.
Приклад підрахунку суми 10 чисел:
program sum; var a,i,sch,sum:integer; begin sum:=0;sch:=0; for i:=1 to 10 do begin read(a); sum:=sum+a; sch:=sch+1; end; writeln(' сума',sch', чисел рівна',sum); end.
Таблиця 3 - Варіанти завдань для лабораторної роботи № 3
ЛАБОРАТОРНА РОБОТА № 4
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2017-01-25; просмотров: 131; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.135.195.249 (0.071 с.) |