Студопедия — Порядок виконання роботи. 1. Розрахувати за допомогою трьох типів оператора циклу значення функції, наведеної в табл
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Порядок виконання роботи. 1. Розрахувати за допомогою трьох типів оператора циклу значення функції, наведеної в табл






1. Розрахувати за допомогою трьох типів оператора циклу значення функції, наведеної в табл. 2.9 (згідно списку).

2. Скласти графічний алгоритм розв’язку задачі циклічних обчислень,

3. Виконати ідентифікацію змінних.

4. Скласти програму на мові Turbo Pascal. Передбачити уведення аргументів x1, xn, dx і ведення усіх значень аргументів та функції у наступному форматі:

x1= y1=

x2= y2=

……………

xn= yn=

5. Розв’язати задачу на ЕОМ у діалоговому режимі.

6. Оформити звіт.

 

Таблиця 2.9 – Завдання до лабораторної роботи

 

Варіант Значення функції x1 xn dx
  y=2x2-sin(x)     0.2
  y=sin(x)+х3
  y=e-x
  y=50cos(x/2)
  y=(cos(x))2
  y=e-xsin(x)
  y=x3-2x2+7
 
  y=cos(x)/x
  y=x4-1+sin(x)
  y=1/(x2-1)
  y=1/x3-1/x2
  y=sin(2x)/(1-x)
  y=xcos(x)
  y=1/(x+sin(x2))

2.3.4 Аналіз результатів роботи, висновки

1. Вивчити методику застосування операторів циклу з лічильником for, з передумовою while та з післяумовою repeat.

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

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

1. Що таке алгоритм циклічної структури?

2. Що називають параметрами циклу?

3. Які типи операторів циклу ви знаєте?

4. Які елементи містить кожний алгоритм циклічної структури?

5. Оператор циклу з наперед заданою кількістю повторень: вид, принцип дії.

6. Які параметри обов’язково потрібно вказувати в циклі з лічильником?

7. Що необхідно виконати для використання оператора циклу з параметром у випадку коли крок зміни змінної відмінний від 1?

8. Оператор циклу з передумовою: вид, принцип дії.

9. Оператор циклу з післяумовою: вид, принцип дії.

 

2.3.6 Рекомендована література

1 Тхір І.Л., Юзьків А.В. Курс лекцій по Turbo Pascal 7.0. –Тернопіль: Технічний коледж ТДТУ. – 2001. –144с.

2 Бартків А.Б. та ін. Турбо Паскаль: Алгоритми і програми. – К.: Вища школа, 1992. – 248с.

3 Довгаль С.И., Сбитнев А.И. Интерфейс современной программной системы Турбо Паскаль 7.0. – К.: Информсистема-сервис, 1994. – 416с.

4 Кукурудз С.Ф. Збірник задач з програмування: навч. посіб. /С.Ф.Кукурудз, В.Р.Процюк, Т.О.Ваврик. - Івано-Франківськ: ІФНТУНГ, 2005. - 247 с.: іл.

 


Лабораторна робота №2.4
Одновимірні масиви. Двовимірні масиви.

Дії з елементами масиву

2.4.1 Мета і завдання роботи

Навчитись працювати з одновимірними та двовимірними масивами.

2.4.2 Основні теоретичні положення

Масив (array) — це скінчений набір елементів одного (базового) типу, які зберігаються в послідовно розташованих комірках оперативної пам’яті і мають спільну назву.

Кожен елемент масиву характеризується індексами або координатами, тобто порядковими номерами, під якими вони знаходяться в масиві. Сам масив характеризується іменем та розмірністю. В якості імені масиву може бути будь-який набір латинських літер та цифр, але першою обов’язково повинна бути літера. Після імені у квадратних дужках записується розмірність масиву. Розмірність – це кількість координат для визначення місця знаходження кожного елементу в масиві.

За розмірністю масиви поділяються на:

· одновимірні масиви – характеризуються однією координатою. Їх ще називають рядами або векторами. Прикладом одномірного масиву може бути позначення A[5] – вектор “А” з п’яти елементів. Наприклад, [12, 3, 1, 5, 4] – це масив цілих чисел, [’a’, ’! ’, ’3’, ’d’, ’x’] – масив символів;

· двовимірні масиви – характеризуються двома координатами, номером рядка (перша координата) та номером стовпця (друга координата). Такі масиви ще називають матрицями або інколи таблицями. Прикладом двовимірного масиву може бути позначення A[2, 3] – матриця “А” з двох рядків та трьох стовпців. Наприклад,

– матриця цілих чисел;

– матриця символів.

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

Описати масив можна у розділі опису типів type, у розділі констант const, або у розділі оголошення змінних var. Назви типів масивів і змінних-масивів придумує користувач.

Над масивами визначена єдина команда копіювання: a: =a1 – усі значення масиву a1 будуть присвоєні відповідним елементам масиву a. Усі інші операції, наприклад, присвоєння конкретних значень, додавання і т. п, визначені лише над елементами масиву.

Доступ до елемента масиву здійснюється через назву масиву та номер елемента (індекс). Даний номер записується в квадратних дужках, наприклад, a[1] – перший елемент масиву а; b[2, 3]: =35 означає, що елементу, який знаходиться в другому рядку та третьому стовпці присвоюється значення 35.

Щоб опрацювати всі елементи масиву використовують команду циклу for (чи while або repeat).

Наприклад:

Створити масив з перших ста цілих чисел і обчислити суму всіх його елементів можна так: s: =0; for i: =1 to 100 do begin a[i]: =i; s: =s+a[i] end; writeln(s);

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

Одновимірні масиви

У програмі Turbo Pascal масиви спочатку потрібно описати в розділі type. Для цього використовують таку конструкцію:

type

ім’я = array [поч.інд...кін.інд] of тип;

var

змінна1, змінна2...: ім’я;

де ім’я – назва типу, що отримують масиви; тип – тип елементів масиву; поч.інд – номер першого елементу масиву (переважно приймають 1); кін.інд – номер останнього елементу масиву.

Приклад:

type

mas=array [1..7] of real; {масив з 7 дійсних чисел}

var

A, В: mas;

Допускається опис масивів у розділі var, наприклад,

var

A, B: array [1..7] of real;

Для уведення елементів масиву використовують оператор циклу з наперед заданою кількістю повторень. Для цього записують таку конструкцію:

for І: =M to N do

begin

write (‘A[‘, I, ‘]=’);

readln (A[ І ])

end;

де M, N – номери першого та останнього елементів масиву; І – лічильник, що відповідає номеру елемента масиву, що вводиться; А – назва масиву.

Для виведення елементів масиву також використовується оператор циклу. Для цього записують таку конструкцію:

for І: = M to N do

writeln(‘A[‘, І, ’]=’, A [ І ]);

Основні операції над одновимірними масивами

Розглянемо деякі основні операції над масивами.

Для того, щоб знайти суму (різницю) двох масивів A та B, потрібно попарно додати (відняти) всі їх, елементи. Тому потрібно використати оператор циклу:

for I: = M to N do C[ I ]: = A[ I ] + B[ I ];

а для різниці

for I: = M to N do C[ I ]: = A[ I ] - B[ I ],

Для знаходження добутку двох масивів потрібно попарно перемножити їх елементи:

for I: = M to N do C[ I ]: = A[ I ] * B[ I ], так само, щоб поділити два масиви, потрібно попарно поділити їх елементи.

При множені (ділені) масиву на число перемножуються (діляться) усі елементи масиву на це число:

for I: = M to N do C[ I ]: = K * B[ I ],

Якщо потрібно знайти суму елементів в одному масиві, потрібно використати наступну конструкцію:

S: = 0; {задаємо початкове значення суми}

for I: = M to N do S: = S+ A[ I ], {до суми додаємо наступний елемент}

Для знаходження добутку елементів використовують таку ж конструкцію, але початкове значення добутку встановлюють не 0 (нуль), а 1 (одиниця), і в циклі замість символу ”+” записують “*”.

Якщо потрібно знайти максимальний (мінімальний) елемент масиву, то спочатку присвоюють йому значення початкового елементу, а тоді всі наступні порівнюють з цим максимумом (мінімумом). У випадку, коли поточний елемент більший (менший) за максимум (мінімум), то йому присвоюють значення максимального. Отримуємо такий програмний блок:

max: = A[1];

for I: = 2 to N do

if max< A[ I ] then begin max: = A[ I ];

Розглянемо приклад програми.

Приклад 1. Дано масив А з 15 елементів цілого типу. Порахувати середнє арифметичне додатних чисел.

Program example4;

type

mas = array [1..15] of integer;

var

A: mas;

S, N, І: byte;

Х: real;

begin

for І: = 1 to 15 do

begin

write (`A[`, І, `]=`); readln (A[ І ]); end;

S: = 0; N: = 0;

for I: = 1 to 15 do

if (A[ І ] mod 2)=0 {націло ділиться на два, тобто парне число}

then begin

S: = S+A[ І ]; {знаходження суми парних чисел}

N: = N+1 { знаходження кількості парних чисел} end;

X: = S/N; {середнє арифметичне – сума поділена на кількість}

writeln (`X=`, X: 7: 3); readln; end.

Двовимірні масиви (матриці)

Матриці описуються подібно до одновимірних масивів, для чого потрібно записати наступну конструкцію:

type

ім’я=array [поч.інд1...кін.інд1, поч.інд2...кін.інд2] of тип;

var

змінна1, змінна2...: ім’я;

де ім’я – назва типу, що отримують матриці; тип – тип елементів матриці; поч.інд 1 – номер першого рядка матриці (переважно приймають 1); кін.інд1 – номер останнього рядка матриці; поч.інд2 – номер першого стовпця матриці (переважно приймають 1); кін.інд2 – номер останнього стовпця матриці.

Приклад:

type

matr = array [1..3, 1.. 4] of real;

var

A, B, С: matr;

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

Допускається опис матриць в розділі var, наприклад

var

A, B: array [1.. 2, 1.. 2] of real;

Для уведення елементів матриці використовують оператор циклу з наперед заданою кількістю повторень. Для цього записують таку конструкцію:

for І: = M1 to N1 do

for J: = M2 to N2 do

begin

write (’A[’, I, ’, ’, J, ’]=’);

readln (A[ І, J ])

end;

де M1, N1 – номери першого та останнього рядків матриці; M2, N2 – номери першого та останнього стовпців матриці; І – лічильник, що відповідає номеру елемента рядку матриці, що вводиться; J – лічильник, що відповідає номеру елемента рядку матриці, що вводиться; А – назва матриці.

Для виведення елементів матриці також використовується оператор циклу. Для цього записують таку конструкцію:

for І: = M1 to N1 do

for І: = M2 to N2 do

writeln(’A[’, І, ’, ’, J, ’]=’, A [ І, J ]);

Транспонована матриця AT – це матриця, в якій рядки та стовпці поміняні місцями. Для виконання такої операції потрібно в тексті програми записати таку конструкцію:

for I: = M1 to N1 do

for J: = M1 to N1 do

AT[ J, I ]: = A[ I, J];

Приклад 2. Дано матрицю дійсних чисел 3х3. Знайти добутки чисел більших 1, але менших 4.

Program example2;

type

matr=array [1..3, 1..3] of real;

var

A: matr;

І, J: byte;

D: real;

begin

for I: = 1 to 3 do

for J: = 1 to 3 do

begin

write (‘A[‘, I, ‘, ’, J, ‘]=’);

readln (A[I, J])

end;

for I: = 1 to 3 do

begin

for J: = 1 to 3 do

if (A[ I, J ] > 1) and (A[ I, J ] < 4)

then D: = D*A[ I, J ];

writeln (`D=`, D: 7: 3);

end;

readln; end.







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



Шрифт зодчего Шрифт зодчего состоит из прописных (заглавных), строчных букв и цифр...

Картограммы и картодиаграммы Картограммы и картодиаграммы применяются для изображения географической характеристики изучаемых явлений...

Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Схема рефлекторной дуги условного слюноотделительного рефлекса При неоднократном сочетании действия предупреждающего сигнала и безусловного пищевого раздражителя формируются...

Уравнение волны. Уравнение плоской гармонической волны. Волновое уравнение. Уравнение сферической волны Уравнением упругой волны называют функцию , которая определяет смещение любой частицы среды с координатами относительно своего положения равновесия в произвольный момент времени t...

Медицинская документация родильного дома Учетные формы родильного дома № 111/у Индивидуальная карта беременной и родильницы № 113/у Обменная карта родильного дома...

Условия приобретения статуса индивидуального предпринимателя. В соответствии с п. 1 ст. 23 ГК РФ гражданин вправе заниматься предпринимательской деятельностью без образования юридического лица с момента государственной регистрации в качестве индивидуального предпринимателя. Каковы же условия такой регистрации и...

Седалищно-прямокишечная ямка Седалищно-прямокишечная (анальная) ямка, fossa ischiorectalis (ischioanalis) – это парное углубление в области промежности, находящееся по бокам от конечного отдела прямой кишки и седалищных бугров, заполненное жировой клетчаткой, сосудами, нервами и...

Основные структурные физиотерапевтические подразделения Физиотерапевтическое подразделение является одним из структурных подразделений лечебно-профилактического учреждения, которое предназначено для оказания физиотерапевтической помощи...

Studopedia.info - Студопедия - 2014-2024 год . (0.031 сек.) русская версия | украинская версия