Тема: Програмування розгалужень. (2 години)




Скачати 39.05 Kb.
НазваТема: Програмування розгалужень. (2 години)
Дата26.01.2014
Розмір39.05 Kb.
ТипДокументы
nauch.com.ua > Информатика > Документы

http://antibotan.com/ - Всеукраїнський студентський архів

Лабораторна робота №3

(модуль 1)

Тема: Програмування розгалужень. (2 години)

Мета: Сформувати навички і вміння застосовувати оператори розгалуження мови Pascal для розв’язування задач. Розвивати логічне мислення при складанні алгоритмів.

Література:


  1. Архангельский А.Я. Язык Pascal и основы программирования в Delphi

  2. Ахо А., Хопкрофт Дж., Ульман Дж. Построение и анализ вычислительных алгоритмов.– М.: Мир, 1979.– 536 с.

  3. Венц А. Н. Профессия – программист.– Ростов: Изд-во «Феникс», 1999.– 384 с.

  4. Виноградов И.М. Основы теории чисел.– М.: Наука, 1972.– 167 с.

  5. Вирт Н.. Алгоритмы + структуры данных = программы. Москва, Мир, 1985 г. 406 с.

  6. Вирт Н.. Алгоритмы и структуры данных. Москва, Мир, 1989 г. 420 с.

  7. Гусева А.И. Учимся информатике: задачи и методы решения.– М.: «Диалог – МИФИ», 1998.– 320 с.

  8. Кормен Т., Лейзерсон Ч., Ривест Р. Алгоритмы. Построение и анализ.– М.: МЦНМО, 1999.– 960 с.



^

Короткі теоретичні відомості.


Умови використовуються в програмах для організації розгалужень і дій, що повторюються. Умовою в мові є логічний вираз - вираз типу Boolean. Булеві значення – це логічні істинностні значення: True (істина) і False (хибність).

Цей тип даних, як і інші прості типи даних, упорядкований. На ньому визначені функції Ord, Succ, Pred.

Таким чином, мають місце наступні співвідношення:

  • False < True,

  • Ord (False)=0, Ord (True)=1,

  • Succ (False)=True, Pred (True)=False.

На множині < False, True > визначені логічні операції.

Операції:

  • And - логічна кон’юнкція ( і )

  • Or - логічна диз’юнкція ( або )

  • Not - логічне заперечення ( ні )

Ці операції визначаються наступними таблицями істинності:


Відношення, що були визначені раніше для простих стандартних типів, є операціями, результат яких має логічний тип. Іншими словами, булеве значення дає будь-яка з операцій відношень : =, < > , <= , < , > , >= , in.

Для типу Boolean визначені стандартні функції, які приймають значення цього типу (логічні значення):

  • Odd(Х) { Odd(Х) = True, якщо Х - ціле непарне число; Odd(Х) = False, якщо Х - ціле парне число}

  • Eoln(F) { кінець рядка в текстовому файлі}

  • Eof(F) { кінець файла}

Функції Eoln(F) і Eof(F) ми розглянемо при вивченні файлів.

Умови можна класифікувати як прості і складені. Прості умови визначені діаграмою:


Складені умови конструюються з простих за допомогою логічних операцій.

Логічні вирази перетворюються за законами логіки висловлювань. Наприклад,

Not((A > 0) And (B <> 0)) <==> Not(A > 0) Or Not(B <> 0) <==> (A <= 0) Or (B = 0)

Перетворення логічних виразів часто призводять до зменшення їх складності і, тим самим, оптимізації програми за часом.

Декілька операторів, які виконуються послідовно, можна об’єднувати в один складений оператор.

Складений оператор передбачає виконання операторів, які в нього входять (компоненти) у порядку їх написання. Службові слова Begin і End грають роль дужок операторів – вони виділяють тіло складеного оператора.

Складений оператор означається діаграмою:


Оператори вибору призначені для виділення зі списку компонент одного-єдиного оператора, який і виконується. Таким чином, оператори вибору реалізують керівну структуру “розгалуження”. У якості оператора вибору у мові визначені умовний оператор і оператор варіанта.

Існують дві форми умовного оператора:

  • If < умова > Then < оператор >

  • If < умова > Then < оператор > Else < оператор >

Вони відповідають базовим керівним структурам короткого і повного розгалуження. Умова – це вираз типу Boolean.

Синтаксична діаграма умовного оператора має вигляд:


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

If <умова 1> Then If <умова 2> Then <оператор 1> Else <оператор 2>

Для того, щоб усунути цю двозначність, у мові обрано 1-ий варіант інтерпретації у відповідності до правила: роздільнику else відповідає найближчий попередній роздільник then.

Приклад. Скласти програму розв’язання квадратного рівняння, заданого своїми коефіцієнтами a, b, c.

Program SquareEquation;

Var a, b, c, Root1, Root2: Real;
Solution: Integer;

Procedure SolutionEquation ( a, b, c : Real; Var Solution: Integer; VarRoot1,
Root2: Real );
Var
Discriminant: Real;
Begin
Discriminant :=b*b - 4*a*c;
If Discriminant < 0
Then
Solution := 0
Else
If Discriminant = 0
Then
Begin
Solution := 1;
Root1 := -b/a;
End
Else
Begin
Solution := 2;
Root1 := (-b + Sqrt(Discriminant))/(2*a);
Root2 := -b/a - Root1;
End;
End;

Begin
SolutionEquation ( a, b, c, Solution, Root1, Root2);
End.
^

Задачі для самостійного розв’язування


  1. Розробити програму перевірки, чи є дане чотиризначне число паліндромом. Число називається паліндромом, якщо його запис читається однаково зліва направо і справа наліво. (Наприклад, 2442, 3883, 5115).

  2. Натуральне число із n цифр називається числом Армстронга, якщо сума його цифр, піднесена до n–го степеня, дорівнює самому числу (наприклад, 153=13+53+33). Скласти програму, яка перевіряє, чи є дане дво або тризначне число k числом Армстронга.

  3. Розробити алгоритм і реалізувати програму розв’язування квадратної нерівності ax2 + bx + c < 0.

  4. Розробити алгоритм і реалізувати програму розв’язування системи лінійних рівнянь:

a11x + a12y = b1;

a21x + a22y = b2.

  1. Скласти програму обчислення внутрішніх кутів трикутника, з вершинами A(x1, y1), B(x2, y2), C(x3, y3).

  2. Написати програму знаходження максимума і мінімума із трьох цілих чисел.

  3. Скласти програму знаходження найкоротшої сторони трикутника з вершинами A(x1,y1), B(x2, y2), C(x3, y3).

  4. Написати програму обчислення значення функції:

 1, якщо x > 0;

Sign(x) =  0, якщо x = 0;

-1, якщо x < 0 .

  1. Скласти програму обчислення найбільшого і найменшого значення функції Y=ax2 +bx+c на відрізку [p ; q].

  2. Написати програму знаходження області визначення функції:
    y=1/(x2 + px + q).



Схожі:

Тема: Програмування розгалужень. (2 години) iconТема: Прості стандартні типи даних мови програмування Pascal. Лінійні програми. (2 години)
Ахо А., Хопкрофт Дж., Ульман Дж. Построение и анализ вычислительных алгоритмов.– М.: Мир, 1979.– 536 с
Тема: Програмування розгалужень. (2 години) iconМіністерство освіти І науки, молоді та спорту України Національний...
Програмування співпроцесора з використанням команд обчислення трансцендентних функцій та реалізація розгалужень при порівнянні даних...
Тема: Програмування розгалужень. (2 години) iconУрок №21 Тема уроку: Прапорці та групи перемикачів. Реалізація розгалужень...
Тема уроку: Прапорці та групи перемикачів. Реалізація розгалужень із використанням прапорців та груп перемикачів
Тема: Програмування розгалужень. (2 години) iconОб’єктно – орієнтоване програмування
Студенти даного курсу повинні володіти мовою програмування с та С++ та засобами програмування не нижче Microsoft Visual Studio 6
Тема: Програмування розгалужень. (2 години) icon2. Раціональні вирази (43 години) Тема 1

Тема: Програмування розгалужень. (2 години) icon“Розробка системних програмних модулів та компонент систем програмування.”...
Метою виконання курсової роботи є закріплення теоретичних знань та практичних навичок системного програмування, набутих при вивченні...
Тема: Програмування розгалужень. (2 години) icon1. Мета І предмет математичного програмування
Основні поняття математичного програмування. Побудова моделі задачі лінійного програмування
Тема: Програмування розгалужень. (2 години) icon11 клас (66 години + 4 години резервного часу)
Автоматизація математичних обчислень. Практична робота №
Тема: Програмування розгалужень. (2 години) iconЛадиченко Т. В., Черевко О. С., Камбалова Я. М
України. 10-11 класи" авторів Пометун О.І., Гупана Н. М., Фреймана Г. О. (52 години на рік, 1,5 години на тиждень); для класів історичного...
Тема: Програмування розгалужень. (2 години) iconЗадачі нелінійного програмування особливості нелінійного програмування
У задачах лінійного програмування, які розглядалися раніше, всі невідомі входили як до системи обмежень, так І до цільової функції,...
Додайте кнопку на своєму сайті:
Школьные материалы


При копіюванні матеріалу обов'язкове зазначення активного посилання © 2013
звернутися до адміністрації
nauch.com.ua
Головна сторінка