Ази програмування в Pascal

Правильний оператор присвоювання. Доведення тотожності від зворотного, припускаючи протилежний результат. Пояснення існування залежності (тотожності). Пошук помилок у програмі шляхом написання та перевірки її допомогою мови програмування Pascal.

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык украинский
Дата добавления 04.11.2013
Размер файла 655,5 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Національний технічний університет України

"Київський Політехнічний Інститут”

Міжуніверситетський Медико-Інженерний Факультет

ДОМАШНЯ РОБОТА

з курсу

"Обчислювальна техніка - 1. Теорія алгоритмів"

Викладач: Зінченко Ніна Павлівна

Виконав: студент ММІФ, гр. БМ-13

Федорчук Максим

Київ - 2011

Завдання 1

Якщо у - дійсна змінна, а п - ціла, тоді які з наступних операторів присвоювання правильні, а які ні и чому?

а) у: = n+1; б) n: = y - 1; в) n: = 4.0;

г) y: = trunc (y); д) n: = n div 2;

е) у: = у div 2; ж) n: = n/2; з) n: = sqr (sqrt (n))

Для вирішення задачі розглянемо кожен варіант окремо:

А) у: = n+1

За умови що "у" - дійсне число що може змінюватись і не залежить від "n", то цей оператор присвоювання не є правильним. Так як "у" не обов'язково ціле число. Неправильний оператор присвоювання.

У програмі це виглядає так:

Б) n: = y - 1

Так само як і у прикладі (а) стоїть рівність між "у" та "n", а "у" не обов'язково є цілим, Але вираз "у-1" ми присвоюємо "n", а не навпаки, тому розв'язок цієї програми є:

І сам розв'язок:

В) n: = 4.0

Правильний оператор присвоювання (n - ціле). Відповідь:

Г) y: = trunc (y)

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

Д) n: = n div 2

Таке значення може бути використаним для присвоювання значенню "n" вдвічі меншого значення для подальших розрахунків. Але в нашому випадку "n" має бути цілим, і тому це неправильний оператор присвоювання:

Е) у: = у div 2

Правильний оператор присвоювання. Проте "n" такий як і у випадку (Г):

Ж) n: = n/2

n/2 від цього числа за даних умов задачі може приймати лише значення "0". Допустимий оператор присвоювання:

З) n: = sqr (sqrt (n))

Математичну тотожність не порушено, тому це правильний оператор присвоювання. Виглядає вона так:

Потім нас запитують про значення "n" - "n: =”

І після обрахунку одразу програма висвічує результат:

Все, задачу виконано.

Завдання 2

Довести тотожність: a and b? (a<true) <b;

Зобразивши у текстовому вигляді отримаємо:

[Довести тотожність: значення "а" та значення "b" правильні для виразу, де "а" менше свого правильного значення і при цьому менше значення "b"].

За визначеннями взятими з дискретної математики при доведенні тотожності можна йти від зворотного, тобто припускаючи протилежний результат пояснити існування тієї чи іншої залежності (тотожності).

Припустимо що існує таке "а" яке може бути більше за заданий для нього діапазон (а>true) <b:

З самого початку варто визначитись з обмеженнями:

Для того щоб число "а" могло бути менше свого істинного значення, його можна подати у вигляді значення з обмеженим діапазоном значень. Для прикладу можна взяти діапазон "byte". Значенню "b" тоді можна присвоїти такий самий діапазон.

Program totognist;

Var a: array [1.255] of integer; b: byte; sum: integer;

Begin

Write (`vvedite a');

For a: <1 do

Begin

Sum: =a+b;

Writeln (`summa chisel='sum);

End.

При запуску такої програми буде видавати наступну помилку:

Помилкова змінна, яка задає команду "For":

Це означає що програма не може виконувати дії з числами що виходять за межі заданого для них діапазону. Отже вираз (а>true) <b не може бути вірним.

Завдання 3

Пошук помилок у програмі:

program errors;

const L = 18;

label 19;

var x,y: integer;

begin y: =0;

8: read (x); if x<0 then goto L;

у: =у+х; goto 18;

19L: writeln (y)

end.

Дізнатись про всі помилки в задачі можна написавши її та перевіривши у Паскалі.

Першою помилкою є значення у третьому рядку: "label 18.8" що має набувати цілого значення відповідно до змінних, для яких вона є міткою. А змінні у нас є цілими.

Другою помилкою є невідомий ідентифікатор "8" у 6-му рядку:

Рис. 4.1

Цей ідентифікатор потрібно замінити на відомий ідентифікатор для програми, тобто на ті значення які програма вже знає:

програмування pascal тотожність оператор

Рис. 4.2

З малюнку 4.2 одразу можна побачити наступну помилку в тому самому рядку - Невірний ідентифікатор мітки. Це означає що на цьому місці має бути цифрове значення що відоме програмі.

Виправивши цей пункт маємо:

Рис. 4.3

Тепер помилкою є запис в передостанньому рядку. Для того щоб виконати команду "writeln (y)", не потрібно присвоювати їй ідентифікатори на початку рядка.

Виправши цю, останню, помилку, маємо кінцевий результат:

Висновок: Розглядаючи приклади задач із помилками можна дійти висновку що найкоротшим шляхом вирішення таких завдань є покрокова перевірка її у Паскалі. Перевіряючи рядок за рядком ми можемо виправляти послідуючі помилки та знайти вірний результат.

Размещено на Allbest.ru


Подобные документы

  • Програми і мови програмування. Алфавіт мови програмування. Лексеми, зарезервовані слова мови Pascal. Ідентифікатори, типи даних. Арифметичні вирази, операції. Стандартні функції, структура програми. Процедури введення-виведення. Правила написання команд.

    лекция [445,0 K], добавлен 24.07.2014

  • Постановка задачі: створення списку співробітників інституту. Аналіз мов програмування та вибір мови PascalABC.Net - 32-розрядної програми, яка може працювати на сучасних версіях Windows. Опис функцій та процедур, реалізації інтерфейсу користувача.

    курсовая работа [277,8 K], добавлен 25.06.2015

  • Загальні відомості про процедури та функції. Характеристика, особливості і можливості мови Pascal, її використання для розробки наочних, компактних, структурованих програм, створення умов для систематичного і цілеспрямованого процесу програмування.

    реферат [30,0 K], добавлен 13.11.2010

  • Сутність Pascal як алгоритмічної мови програмування універсального призначення. Історія її виникнення і характерні особливості. Специфіка використання середовища розробки програм Borlan Delphi. Реалізація алгоритму визначення n! для великих значень n.

    курсовая работа [22,9 K], добавлен 04.01.2014

  • Базис векторного простору. Програма визначення лінійної залежності або незалежності векторів, написана на мові програмування Turbo Pascal. Головна процедура системи - Procedure Lineq. Виконання перевірки умови залежності з масиву знайдених розв’язків.

    курсовая работа [34,1 K], добавлен 28.03.2009

  • Основні відомості про історію розвитку мови Object Pascal, середовища Delphi, їх основні технології та застосування для роботи з файлами. Опис основних особливостей мови, основних елементів програмної мови. Принципи об'єктно-орієнтованого програмування.

    курсовая работа [471,5 K], добавлен 12.04.2010

  • Значення функції, типи елементів масиву та їх кількість. Побудова інтерполяційного багаточлена Лагранжа. Апроксимування залежності багаточленом другого ступеня і обчислення коефіцієнту варіації. Обчислення рівняння за методом Рунге-Кути, лістинг програми.

    контрольная работа [222,4 K], добавлен 17.02.2011

  • Методика розробки компілятору з вхідної мови програмування Pascal, оболонка, якого розроблена в середовищі програмування Borland C під операційну систему Windows. Блок-схема програми. Розробка оптимізатора та генератора коду. Тестування компілятора.

    курсовая работа [218,6 K], добавлен 04.06.2011

  • Прості та умовні оператори мови С++. Робота з двовимірними масивами. Пошук та сортування даних. Робота з файлами та з динамічними структурами даних. Опис мови програмування Delphi. Складення програми до розроблених алгоритмів. Організація циклів.

    отчет по практике [4,3 M], добавлен 28.08.2014

  • Особливості мови програмування Turbo Pascal. Текстовий редактор Word: набір, редагування та форматування тексту, вставка графічних об'єктів та таблиці в документ, використання редактора формул. Електронні таблиці Excel. Робота з шаблонами документів.

    курсовая работа [2,1 M], добавлен 06.09.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.