Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Оператор присвоювання




Написання програм для роботи з простими типами даних мови ТР 7.0

Кількість занять – 2 (4 години).

Мета роботи ознайомитися з простими типами мови ТР 7.0 та основними прийомами роботи з ними, вдосконалити навики роботи з одномірними масивами.

Підготовка до роботи – за матеріалами лекцій, методичною та додатковою літературою вивчити ієрархію типів мови ТР 7.0, звернувши увагу на прості (складні) типи даних, ознайомитися з основними алгоритмічними конструкціями по введенню та обробці одномірних масивів і простих типів даних.

Послідовність виконання роботи:

 

1. Отримати індивідуальне завдання.

2. Скласти алгоритм розв`язання задачі у вигляді графічної блок-схеми.

3. Написати програму мовою ТР 7.0, яка реалізує даний алгоритм.

4. Ввести і налагодити програму, виконати розрахунок за комп`ютером.

5. Оформити і захистити звіт.

 

3.2.1. Прості (скалярні) типи даних мови ТР 7.0

 

Прості (складні) типи даних характеризуються тим, що в кожний момент вони приймають тільки одне значення (на відміну від них, складені типи даних – це набір простих (скалярних) величин).Наприклад, змінна типу REAL (простий тип) може приймати в будь-який момент часу лише одне значення – дійсне число, а змінна типу ARRAY (складений тип) приймає стільки значень, скільки елементів має цей масив.

Склад простих типів даних показано на рисунку 2.2.1.

А) дійсний тип (REAL). Цей тип використовується для опису змінних і констант, що зберігають дійсні числа, тобто числа, в запису яких є десяткова точка (наприклад 4.5; -7.3; 0.1Е-5).

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

Упорядкований тип ділиться на:

- цілий тип (INTEGER) – для опису змінних і констант, що зберігають цілі числа (наприклад 0; -7, 16);

- символьний тип (CHAR) – для опису змінних та констант, котрі зберігають один символ (наприклад ‘S’; ‘9’; ‘#’);

- булевий (логічний) тип (BOOLEAN) – для опису логічних змінних, які можуть приймати лише два значення: TRUE (істина) і FALSE (хибність).

На основі вказаних наперед означених (стандартних) типів будуються перераховані та обмежені типи даних.

 

 

 

Один з основних операторів будь-якої мови програмування є оператор присвоювання (:=).

Він має вигляд:

<Змінна>:=<вираз>

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

А:= (В+С)*3.5;

Якщо результат вираження є ціле або дійсне значення, то таке вираження називається арифметичним. Арифметичні вираження будуються з використанням наступних операцій: *(множення); /(ділення); +(додавання); -(віднімання); DIV(цілочислове ділення (ціла частина від ділення)) МОD (цілочисельне ділення (залишок від ділення)).

Правила обчислення арифметичних виразів:

А) Спочатку виконуються перші за старшинством операції, а потім другі за старшинством операції.

Старшинство операцій:

- перші за старшинством: *,/,DIV,MOD;

- другі за старшинством +,-;

Б) операції одного старшинства виконуються зліва направо, а також у

порядку розставлення дужок.

Нехай вираз має вигляд:

-А*(B*(M+2)-3)+C*5

Тоді послідовність обчислень така:

P1=M+2; P2=B*P1; P3=P2-3; P4=A*P3;

P5=C*5; P6=-P4; P7=P6+P5.

 

При використанні оператора присвоювання слід запам`ятати основне правило: в операторі присвоювання тип вираження в правій частині повинен збігатися з типом змінної в лівій частині. Виключена з правила змінна може бути дійсного типу, а вираз – цілого типу (змінним дійсного типу можна присвоювати цілі значення).

 

3.2.3. Зразок виконання індивідуального завдання

 

Завдання. Написати програму, яка зчитує з клавіатури в масив дійсні числа до тих пір, поки не буде введено підряд два однакових числа. Для введеної послідовності чисел розрахувати середнє значення; вивести на екран монітора введену послідовність, середнє значення та число, яке знаходиться найближче до середнього значення.

 

 

 
 

 

 

Рис.3.2.1. Графічна блок-схема введення та обробки одномірного масиву дійсних чисел

 


1. Виконання завдання. Складемо алгоритм обчислень, побудувавши графічну блок-схему (рис.3.2.1.). На першому етапі цього алгоритму виконується введення значень елементів масиву (дійсних чисел) і підрахунок суми цих елементів. Після закінчення введення (коли введено підряд два однакових числа) значення змінної і дорівнює числу елементів масиву, а середнє значення послідовності визначається як відношення отриманої суми на величину і. На другому етапі відшукується число, яке знаходиться найближче до середнього значення, тобто таке число, для якого різниця між ним та середнім значенням уведеної послідовності (за модулем) мінімальна.

Перед написанням програми мовою ТР, що реалізує наведений алгоритм, слід звернути увагу на те, що кількість чисел, які будуть уведені, наперед невідома. В цьому випадку при побудові циклу введення неможливо використати циклічну конструкцію FOR…TO…DO. Крім того, наперед невідомим є розмір масиву для зберігання введених чисел.

У такій ситуації для організації циклу введення послідовності чисел, як правило, використовують циклічну конструкцію REPEAT…UNTIL, а розмір масиву задають таким, щоб його гарантовано вистачило для розміщення цієї послідовності.

ТР – програма має вигляд:

 

PROGRAM POSLIDIVNIST;

USES CRT;

VAR I,J,K:INTEGER; SUMA,SER_ZN,RIZ,MIN_RIZ:REAL;

VAR: ARRAY [1…100] OF REAL;

BEGIN

CLRSCR;

I:=1;

WRITE(‘Введіть перше число послідовності:’);

READLN(X[I]);

SUMA:=X[I];

REPEAT

I:=I+1;

WRITE(‘Введіть наступне число:’);

READLN(X[I]);

SUMA:=SUMA+X[I]; {накопичення суми чисел}

UNTIL X[I]=X[I-1];

SER_ZN:=SUMA/I {обчислення середнього значення}

J:=1;MIN_RIZ:=ABS(X[I]-SER_ZN); K:=J;

WRITELN(‘Введена послідовність:’);

WRITELN(X[I]);

FOR J:=2 TO I DO

BEGIN

WRITELN(X[I]);

RIZ:=ABS(X[I]-SER_ZN);

 

IF RIZ<MIN_RIZ

THEN

BEGIN

MIN_RIZ:=RIZ;

K:=J; {індекс елементу масиву, що найбл. до середн.}

END; {визначення числа, що найбл. до середнього}

END;

WRITELN(‘середнє значення:’, SER_ZN);

WRITELN(‘Число, яке знаходиться найбл. до середн.:’,X[K]);

END.

 

2) Введемо, налагодимо та виконаємо наведену програму за комп`ютером.

 

Контрольні вправи та питання

 

1. Прості типи даних та їх структура.

2. Опис та правила використання впорядкованих типів. Перераховані та обмежені типи даних.

3. Дійсний тип та його використання.

4. Оператор присвоювання. Правила обчислень арифметичних виразів.

5. Побудуйте інший, свій власний алгоритм виконання наведеного вище завдання та напишіть програму мовою ТР, що його реалізує.

6. Виконайте наведену вище ТР програму по-кроково з паралельним переглядом змінних програми (лічильників циклу I, J;;змінних SUMA, RIZ, K).

 

 




Поделиться с друзьями:


Дата добавления: 2014-10-31; Просмотров: 494; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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