русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Розгалуження


Дата додавання: 2014-11-28; переглядів: 1712.


1. Складена команда — це конструкція такого вигляду:

  begin <команда 1>; … <команда n>; end;

Складена команда трактується як одна команда.
Зауваження. Запис begin end; чи ; називається порожньою командою.
Надалі під командою будемо розуміти порожню, просту або складену команду.
2. Логічний вираз— це засіб записування умов для відшукання потрібних даних. Логічний вираз може приймати значення true (істинність) або false (хибність). Логічні вирази бувають прості та складені. Простий — це два арифметичні вирази, з’єднані сим­волом відношення, а складений — це прості логічні вирази, з’єднані назвами логічних операцій: not, and i or.
Розглянемо означення логічних операцій.

Вираз Значення Вираз Значення
not true false notfalse true
true and true true true or true true
true and false false false or true true
false and true false false andtrue true
false and false false false or false false

Приклад. Нехай х=3, y=–9. Розглянемо деякі логічні вирази та їхні значення.

  Прості вирази Значення Складені вирази Значення
x=3 true not (y<=–50) true
x>y true (1<x) and(x<5) true
7 mod 3=1 true (x>4) or (y<–15) false
y div 2=4 false (x>4) or (y>–15) true

Подвійну нерівність 1<x<5 як складений логічний вираз запи­сують так: (1<x) and(x<5). Сукупність нерівностей вигляду x<1; x>5 — так: (x<1) or (x>5). Прості логічні вирази, які входять у складені, завжди беруть у дужки.
3. Команда розгалуження if (умовна команда) має два різновиди.
1. Повна команди розгалуження має вигляд

if <логічний вираз> then <команда 1> else <команда 2>;

Дія команди. Якщо логічний вираз істинний, то виконується команда 1, в протилежному випадку — команда 2. Команди 1 та 2 можуть бути простими або складеними.
Приклад. Нехай x=9. У результаті виконання команд
if x>7 then y:=x*x elsey:=sin(x);
if x<5 thenz:=exp(x) else z:=sqrt(x);
отримаємо y=81, z=3.
Задача 1.Обчислити і вивести значення складеної функції y у деякій заданій користувачем точці х, якщо

  program Myfunction; uses Crt; var x,y:real; begin clrscr; writeln('Введіть x'); readln(x); if x < –1 then y:=ln(abs(x)) else if (x>=–1) and (x<1) then y:=sin(x) else y:=cos(x); writeln('x=', x:5:2, ' y=', y:5:2); readln end.

Зауваження. У команді розгалуження перед службовим словом else символ “;” не ставиться.
Завдання 1. Розв’язати задачу № 3а свого варіанта.
2. Коротка команда розгалуження має вигляд

if<логічний вираз> then<команда 1>;

Дія команди. Якщо логічний вираз істинний, то виконується команда 1, інакше виконується команда, яка знахо­дить­ся за даною конструкцією.
Приклад. Нехай x=25. Тоді у результаті виконання команд
if x>12 then y:=2*x; z:=10;
if x<5 then z:=exp(x);
отримаємо y=50, z=10.
Завдання 2. Розв’язати задачу № 3б свого варіанта.
4. Команда goto — це команда безумовного переходу, яка змі­нює послідовність виконання інших команд програми шляхом пере­ходу до виконання команди, що має позначку (мітку):

goto <позначка>;

Позначка може стояти перед довільною командою в програмі. Вона від­окремлюється від команди двокрапкою (:)

<позначка> : <команда>;

Позначку треба заздалегідь оголосити на початку програми у розділі label: label <список позначок>;

Позначка може починатися з букви або бути числом від 0 до 9999. Задача 2. Ввести декілька наборів коефіцієнтів квадратного рів­нян­ня ax2+bx+c=0 і вивести повідомлення чи рівняння матиме дійсні корені, чи ні. program Rivnyannya; uses Crt; label 99, finish; var a,b,c,d,x,y:real; begin clrscr; 99: writeln('Введіть коефіцієнти квадратного рівняння'); readln(a, b, c); if a=0 then goto finish; d:=b*b–4*a*c; if d>=0 then writeln('Дане рівняння має дійсні розв''язки') else begin writeln('Дані введені некоректно'); writeln('Рівняння дійсних розв''язків не має'); goto 99; end; finish: readln end.

Зауваження. Не можна передавати керування команді, яка є в се­ре­дині підпрог­рами чи в середині складеної команди.
5. Команда вибору (сase) має вигляд

  case<вираз>of <список значень 1> : <команда 1>; … < список значень n> : <команда n> else <команда n+1> end;

Тут вираз — це проста змінна цілого, символьного, перерахова­ного або логічного типу; списки значень — сталі або діапазони, тип яких збігається з типом виразу. Якщо список значень скла­да­ється з декількох елементів, то вони перераховуються через кому. Складова части­на else <команда n+1> може бути від­сут­ня — тоді матимемо коротку форму команди case.
Дія команди. Якщо значення виразу збігається зі значенням з списку i, то ви­конується команда з номером i, а інші команди цієї конструк­ції не викону­ють­ся. Якщо зна­чення виразу не збігається з жодним значен­ням з жодного списку, то вико­нується команда n+1 або, у випадку короткої форми, наступна команда після командиcase.
Задача 3. Нехай населені пункти позначені номерами від 1 до 8. Вартість одного квитка до конкретного пункту k визначається так:

Скільки коштуватимуть m квитків до населеного пункту, номер якого вводять з клавіатури?

  program Kvytky; uses Crt; var k,m,cina:integer; begin clrscr; writeln('Введіть номер пункту та кількість квитків:'); readln(k, m); case k of 1:cina:=22; 2..4:cina:=25; 5,6:cina:=30 elsecina:=35 end; write(m, ' квитків до пункту ', k, ' коштують '); writeln(m*cina); readln end.

Якщо під час виконання програми ввести дані так: 3 5, то на екрані отримаємо: 5 квитків до пунку 3 коштують 125.
Завдання 3. Розв’язати задачу № 4 свого варіанта.

Цикли

Цикл – це процес виконання певного набору команд деяку кі­ль­кість разів. Цикл реалізують або за допомогою конструкції if-goto, або, що значно ефективніше, за допомогою команд циклу. Є три ви­ди команд циклів: з параметром, з передумовою та з після­умовою.
1. Команда циклу з параметром (for). Є два різновиди команди for. Розглянемо перший:

for <параметр> := <вираз 1> to <вираз 2> do <команда 1>;

Тут параметр — це змінна цілого, символьного, логічного або пере­ра­хо­ва­ного типу, а вирази 1 і 2 задають початкове та кінцеве зна­чен­ня пара­метрa.
Дія команди. Параметрові циклу присвоюється значення ви­ра­зу 1. Якщо це значення менше-рівне, ніж значення виразу 2, то викону­єть­ся коман­да 1. Після виконання команди 1 значення параметра автоматично збільшується на 1 і знову порів­нюєть­ся зі значенням виразу 2 і т.д. Коли значення параметра стане більшим, ніж зна­чення виразу 2, то виконується наступна після цик­лу команда.
Приклад. Нехай s=0. Після виконання команди циклу
for i:=4 to 6 do begin s:=s+i; z:=2*i end;
змінна s набуде значення 0+4+5+6=15, а змінна z — 12.
Розглянемо другий різновид команди циклу for:

for <параметр> := <вираз 1> downto <вираз2> do <команда 1>;

Ця команда діє як попередня, але крок зміни пара­мет­ра є –1.
Приклад. Нехай s=0. Після виконання команди циклу
for i:=6 downto 4 do begin s:=s+i; z:=2*i end;
змінна s набуде значення 0+6+5+4=15, а змінна z — 8.
Зауваження. Значення параметра в середині циклу змінювати не можна.
Задача 1. Побудувати таблицю відповідності між унціями та гра­­ма­ми, якщо 1 унція = 28,353495 г. Початкове значення кіль­кості унцій (uncia), крок зміни (krok) цього значення та кіль­кість рядків (kil) у таблиці задати самостійно у режимі діалогу.

  program Mira; uses Crt; const line='------------------------'; var unсia, gramy, krok: real; i, kil: integer; begin clrscr; write('Введіть початкове значення, крок зміни та '); writeln(' кількість рядків у таблиці'); readln(unсia, krok, kil); writeln; writeln(line); writeln('Унцiї Грами'); writeln(line); for i:=1 to kil do begin gramy:=28.353495*uncia; writeln(uncia:5:2, ' ', gramy:10:6); uncia:=uncia+krok; end; writeln(line); readln end.   {Формуємо порожній рядок} {Формуємо заголовок таблиці} {Виводимо таблицю на екран}

Завдання 1. Розв’язати задачу № 5 свого варіанта.
Задача 2. Обчислити значення виразу, що містить суму і добуток

  program SumaDobutok; var i: integer; suma, dob, y: real; fact: longint; begin suma:=0; dob:=1; fact:=1; for i:=1 to 25 do begin fact:=fact*i; suma:=suma+5*sqr(i)/fact; dob:=dob*i*i; end; y:=suma+dob; writeln('y=', y:7:2); readln end.   {Спочатку сума дорівнює нулю, а добуток одиниці} {Обчислюємо i!=1*2*3*…*і} {Обчислюємо суму та } {добуток }

Завдання 2. Розв’язати задачу № 6 свого варіанта двома спо­со­ба­ми: 1) за допомогою команди for-to; 2) за допомогою команди for-downto. Довідка: у курсі вищої математики обгрунтовується, що обчислення скінченної суми другим способам дає точніший резу­льтат, що пов’язано з проблемою заокруглення чисел. Порів­няйте отримані значення.
2. Команда циклу з передумовою (while) має вигляд

while <логічний вираз> do <команда 1>;

Дія команди. Доки значення логічного виразу істинне, викону­єть­ся команда 1. Істинний логічний вираз описує умову продов­жен­ня процесу виконання команди циклу.
Приклад. Нехай змінні x, s мають значення x=4, s=0. Після ви­ко­нання команди
while x<=8 do begin s:=s+x; x:=x+1 end;
вони набудуть значень s=4+5+6+7+8=30, x=9.
Приклад. Вивести таблицю чисел від 20 до 30, їхні квадрати та куби за допомогою команди while можна так:

  i := 20; while i <= 30 do begin writeln(i:4, i*i:6, i*i*i:8); i := i + 1 end;

Приклад. Визначити дійсне додатне число a, для якого викону­ється співвідношення а/2 = 0 в комп’ютерній арифметиці дійсних чисел. Таке число характеризує нижню додатну межу типу даних real.

  program MinRealNumber; uses Crt; var a : real; begin clrscr; a := 1; while a/2 > 0 doa := a / 2; writeln('a =', a); readln end.   {Відповідь: a = 2.9E–39}

Задача 3. Протабулювати функцiю y = sinx на промiжку [0; 3,1], з кроком h = 0,1 i обчислити середнє арифметичне (s1) значень функцiї більших, ніж 0,1 і менших, ніж 0,6.

  program FindSerednie; uses Crt; var x, y, s, s1, h, xk: real; n : integer; begin clrscr; x := 0; xk := 3.1; h := 0.1; s :=0; n:=0; while x <= xk + h/2 do begin y := sin(x); writeln(x:3:1, y:6:2); if (y > 0.1) and (y<0.6) then begin s := s + y; n := n + 1 end; x := x + h ; end; if n > 0 then begin s1 := s / n; writeln ('Середнє =', s1) end else writeln('Таких значень немає n=0'); readln end.

Задача 4. Нехай x – деяке число, а е=0.001. Обчислити суму елементів нескінченно спадної знакозмінної по­слідо­в­ності {an}, де an =(–1)n(2x)n/n! такі, що задовольняють умову |an|>e, n=1,2,...,. Виз­на­чити кількість доданків. Вивести на екран результати обчис­лень.

  program Suma1; use const e=0.001; var suma, x, a: real; fact, n, z: integer; begin clrscr; writeln('Введіть деяке число х:'); readln(x); suma:=0; n:=1; fact:=1; a:=–2*x; z:=-1; while abs(a)>e do begin suma:=suma+a; n:=n+1; z:=–z; fact:=fact*n; a:=z*exp(n*ln(2*x))/fact end; writeln('Сума =', suma:5:2); writeln('Кількість доданків =', n–1); readln end.   {Обчислимо an+1} {Обчислюємо (–1)n+1} {Обчислимо факторіал} {Див. зауваження}

Зауваження. Є більш економний спосіб обчислення значення змінної а (саме даної послідовності), використовуючи її поперед­нє значення і команду присвоєння вигляду a:=a*M, де для даного прикладу M=–x/(n+1). Реалізуйте цей спосіб самостійно.
Завдання 3. Розв'яжіть задачу № 7 свого варіанта трьома спосо­бами: 1) використовуючи програму-зразок Suma1; 2) модифі­кував­ши програму, враховуючи зауваження (це буде програма Suma2); 3) модифікувавши програму-зразок за допомогою такої конструкції для обчислення знакозмінної суми: if odd(n) then suma := suma-a else suma:=suma+a (це буде програма Suma3). Порівняйте резуль­тати. Збережіть файли програм, оскільки вони будуть потрібні для виконання завдання № 5 з § 8.
3. Команда циклу з післяумовою (repeat) має вигляд

repeat <команди> until <логічний вираз>;

Дія команди. Команди виконуються в циклі, доки значення логічного виразу не стане істинним. Істинний логічний вираз задає умову виходу з циклу.
Приклад. Нехай змінні x, y мають значення x=5, y=0. У ре­зуль­таті виконання команди
repeat y:=y+x; z:=2*x; x:=x–2 until x<=1;
змінні y, z, x набудуть значень y=0+5+3=8, z=6, x=1.
Задача 5. Протабулювати функцію y=sin(x) на про­між­ку [-p,p] з кроком h=p/5. Результати обчислень вивести на екран у вигляді таб­лиці. Знайти максимальне (max) та мінімальне (min) значення функції на цьо­му проміжку.
Максимальне чи мінімальне значення функції чи значення, яке за­до­вольняє деякій іншій умові пошуку, визначають методом ска­ну­вання (перегляду) і порівняння всіх підряд значень функції з деяким еталоном.

  program Tabulfuncii; uses Crt; var h, x, y, max, min: real; begin clrscr; h:=pi/5; x:=–pi; max:=sin(x); min:=sin(x); writeln(' x y'); repeat y:=sin(x); writeln(x:7:2, y:7:2); if y>max then max:=y; if y<min then max:=y; x:=x+h; until x>pi+h/2; writeln('max=', max:5:2, ' min=', min:5:2); readln end.   {Припускаємо, що max i min} {знаходяться в першій точці} {Визначаємо максимум функції} {Визначаємо мінімум функції} {Збільшуємо x на h} {Перевіряємо умову виходу з циклу}

Зауваження. Щоб визначити значення аргумента (xmax), для якого досягається, наприклад, максимальне значення функції, умовну команду слід використати так:
xmax:=–pi; … repeatif y>max then begin max:=y; xmax:=x end;
Завдання 4. Розв’яжіть задачу № 8 свого варіанта.

Масиви

1. Масив (array) — це скінчений набір елементів одного (базо­вого) типу, які зберігаються в послідовно розташованих комір­ках опе­­ра­­­тивної пам’яті і мають спільну назву.
У математиці поняттю мaсив відповідають поняття вектора та матри­ці. Розрізняють одно- та багатовимірні масиви. Двовимірний масив даних ­— це таблиця, що складається з декількох рядків.
Загальний вигляд конструкції опису типу масиву такий:

array[<розмір>] of <назва базового типу>;

Розмір (кількість елементів) масиву найчастіше задають у виг­ля­ді діапазону або назви деякого пере­ра­хо­ваного типу даних.
Описати масив можна у розділі опису типів type, у розділі кон­стант const, або у розділі оголошення змінних var. Назви типів маси­вів і змінних-масивів придумує користувач.
Приклад. Розгляньте: 1) опис типу масивів (назва типу myma­syv), 2) оголошення cталого масиву (масиву-константи) vydatky типу mymasyv і 3) оголошення змін­них-масивів a, a1 типу mymasyv та масивів: b (він має 7 елементів цілого типу), c (має 100 елемен­тів-символів, тобто даних типу char).

  type mymasyv= array [1..10] of real; day=(mon, tue, wed, the, fri, sat, sun); const vydatky: mymasyv =(1.2, 1, 1, 2, 18, 2.4, 8.97, 3, 7, 1.3); var a, a1: mymasyv; b: array[day] of integer; c: array [1..100] of char;

Над масивами визначена єдина команда копіювання: a:=a1 – усі значення масиву a1 будуть присвоєні відповідним еле­мен­там масиву a. Усі інші операції, наприклад, присвоєння конкретних значень, додавання, множення тощо, визна­че­ні лише над елементами масиву.
Доступ до елемента масиву здійсню­ється через назву масиву і номер елемента. Цей номер (його часто називають індексом) записується в квад­рат­них дужках, наприклад, a[1] - перший елемент масиву а, b[tue] - другий елемент масиву b.
Щоб опрацювати всі елементи масиву використовують команду циклу for (чи whileабо repeat).
Приклад. Елементам описаних масивів можна надати значення так: a[1]:=15.1; b[tue]:=3; с[1]:=’a’; c[2]:=’b’. Сталі елементи мають такі значення: vydatky[1]=1.2; vydatky[2]=1; …; vydatky[10]=1.3.
Приклад. Створити масив з перших ста цілих чисел і обчислити суму всіх його елементів можна так:
s:=0; for i:=1 to 100 do begin a[i]:=i; s:=s+a[i] end; writeln(s);
Задачі відшукуання в масиві конкретних даних розв’язують методом сканування (перебирання, перегляду) усіх елементів маси­ву за допо­могою циклу і умовної команди, де зазначають умову пошуку.
Задача 1. Нехай yk — це число викликів, які поступають на АТС за k-ту секундy. Припустимо, що yk — випадкове число зі зна­ченням від 0 до 6, яке генерується формулою yk=trunc(abs(7sin(k))). Утвори­ти масив y з десятьма елементами . Обчислити суму викли­ків за перші 10 секунд роботи АТС та максимальну кількість ви­кли­ків, що були за деяку одну секунду. Вивести результати об­чи­слень.

  program ATS; uses Crt; type vyklyk= array[1..10] of integer; var y: vyklyk; max, s, i: integer; begin clrscr; max:=0; s:=0; for i:=1 to 10 do begin y[i]:=trunc(abs(7*sin(i))); write('Кількість викликів за ', i, '–ту секунду: '); writeln(y[i]:5); s:=s+y[i]; if y[i]>max then max:=y[i]; end; writeln('Кількість викликів за 10 секунд = ', s:3); write('Максимальна кількість викликів за одну '); writeln('секунду = ', max:3); readln end.   {Припустимо, що max=0} {Обчислимо кількість викликів} {за і-ту секунду} {Виведемо цю кількість} {Обчислимо суму викликів} {Обчислимо max значення }

Зауваження. Випадкове ціле число зі значенням від 0 до 6 мож­на згенерувати також за допомогою функції random(7). На по­чатку виконуваного блоку слід записати виклик процедури randomize (вона забезпечить іншу послідовність випадкових чисел під час вико­нання програми вдруге).
Завдання 1. На основі зауваження модифікуйте програму ATS і визначіть, під час якої секунди надійшла максимальна кількість викликів.
Завдання 2. Розв’яжіть задачу № 9 свого варіанта.
Задача 2. Утворити масив y, елементи якого обчислюються за форму­лою yk=ln(k)–3, де . Побудувати масив g, який склада­ється з від'ємних еле­мен­тів масиву y. Вивести результати обчис­лень. Якщо шуканих величин немає, вивести про це повідом­лення.
У наступній програмі змінна n визначає кількість від’ємних елементів у новому масиві.

  program DvaMasyvy; uses Crt; var y,g: array [1..10] of real; k,n: integer; begin clrscr; n:=0; for k:=1 to 10 do begin y[k]:=ln(k)–3; if y[k]<0 then begin n:=n+1; g[n]:= y[k]; end; writeln('y(' , k, ')=' , y[k]:7:2); end; if n=0 then writeln('Масив у від''ємних елементів не має') else for k:=1 to n do writeln('g[' , k , ']=' , g[k]:7:2); readln end.   {Спочатку кількість елементів у g = 0} {Перевіримо чи елемент від'ємний} {Збільшимо кількість елементів вектора g} {Знайдемо n-ий елемент} {Виведемо масив g }

Завдання 3. Розв’яжіть задачу № 10 свого варіанта.
2. Двовимірні масиви. Елементи двовимірного масиву (дані можуть бути подані у вигляді таблиці) визначаються іменем масиву та двома індексами: перший індекс означає номер рядка, а другий — номер стовпця, на перетині яких стоїть елемент, наприклад р[1,2], p[i,j].
Розглянемо приклади оголошення масиву-константи bal, що має 2 рядки і 4 стовпці елементів, деякого масиву doba, який містити­ме 24·60 еле­­мен­тів цілого типу, двовимірного масиву р розміру 9 на 9 (тут буде 9·9=81 елемент).

  const bal: array [1..2, 1..4] of integer=((4,3,5,3), (4,4,5,3)); var doba: array [0..23] of array [0..59] of integer; const n = 9; var p : array [1..n, 1..n] of integer;

Тут bal[1,1]=4, bal[1,2]=3, …, bal[2,3]=5, bal[2,4]=3. Значення елементам масивів doba i p можна надати командою присвоєння двома способами,наприклад, так: doba[16][30]:=5, doba[16,30]:=5.

Задача 3. Скласти програму для занесення в двовимірний ма­сив р таблиці множення двох чисел і виведення масиву на екран.

  program Pifagor; uses Crt; const n = 9; var p : array [1..n, 1..n] of integer; i, j : integer; begin clrscr; for i := 1 to n do begin for j := 1 to n do begin p[i, j] := i * j; write(p[i, j] : 6) end; writeln end; readln end.   {Зверніть увагу на команди виведення масиву} {у вигляді таблиці}

Задача 4. Кондитерська фабрика для виготовлення п'яти сортів цукерок використовує п'ять видів сировини. Нехай норми затрат aij кожного виду сировини і на виробництво 1т цукерок сорту j задані формулою aij = 2|Sin(i)|+j, . Вивести на екран таблицю затрат сировини (тобто масив а). Визначити для якого сорту цу­керок (imin) потрібно найменше сировини (min) третього виду.

  program Fabryka; uses Crt; type vytraty = array [1..5, 1..5] of real; var i,j,imin: integer; min: real; a:vytraty; begin clrscr; writeln(' Вид сировини'); writeln(' 1 2 3 4 5'); for i:=1 to 5 do begin write(i, ' сорт'); for j:=1 to 5 do begin a[i,j]:=2*abs(sin(i)) +j; write(a[i,j]:7:2); end; writeln end; imin:=1; min:=a[1;3]; for i:=2 to 5 do if a[i,3]<min then begin min:=a[i,3]; imin:=i end; writeln('Найменше сировини третього виду '); writeln('потрібно для цукерок ', imin, ' сорту'); readln end.   {Утворимо таблицю затрат} {Роздрукуємо елементи і-го рядка} {Перейдемо на новий рядок} {Припустимо, що найменше сировини третього} {виду потрібно для цукерок першого сорту} {Визначимо шуканий сорт цукерок}

Зауваження. Нехай задана деяка матриця ai,j, . Тоді ви­рази i = j, i < j та i > j визначають відповідно елементи головної діагоналі, елементи над та під головною діагоналлю цієї матриці.
Завдання 4. Розв’язати задачу № 11 свого варіанта.
Задача 5. Зaдано масив b, елементи якого обчислюються за формулою bij=i+j2, де . Утворити і вивести масив у, який скла­дається з тих елементів масиву b, значення яких більші, ніж 20. Обчислити кількість елементів масиву у. Масив b вивести у виг­ля­ді матриці 5х5. Якщо шуканих даних немає, вивести про це повідомлення.

  program Masyv5х5; uses Crt; type masyv= array [1..5, 1..5] of real; newmas= array [1..25] of real; var b: masyv; y: newmas; i,j,k:integer; begin clrscr; k:=0; writeln('Роздрукуємо матрицю b'); for i:=1 to 5 do begin for j:=1 to 5 do begin b[i,j]:=i+j*j; write(b[i,j]:7:2); if b[i,j]>20 then begin k:=k+1; y[k]:=b[i,j]; end; end; writeln; end; if k=0 then write(У масиві немає елементів >20') else begin writeln('Виведемо утворений масив'); for i:=1 to k do writeln(y[i]:7:2); writeln('Кількість k елементів масиву у =', k:2); end; readln end.   {Спочатку кількість k таких, що bij>20, =0} {Виведемо елементи і-го рядкa} {Визначимо k-ий елемент масиву y}

Завдання 5. Розв’яжіть задачу № 12 свого варіанта.

 

 


<== попередня лекція | наступна лекція ==>
Прості програми | Рядки (string)


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн