Написание контрольных, курсовых, дипломных работ, выполнение задач, тестов, бизнес-планов
  • Не нашли подходящий заказ?
    Заказать в 1 клик:  /contactus
  •  
Главная \ Методичні вказівки \ Основи інформаційних технологій та програмування

Основи інформаційних технологій та програмування

« Назад

Основи інформаційних технологій та програмування 25.07.2015 07:43

                                      МІНІСТЕРСТВО ОСВІТИ УКРАЇНИ

 

УКРАЇНСЬКИЙ ДЕРЖАВНИЙ УНІВЕРСИТЕТ ВОДНОГО ГОСПОДАРСТВА І ПРИРОДОКОРИСТУВАННЯ

 

Кафедра прикладної математики

 

 

 

 

100-43

 

 

 

 

 

 

МЕТОДИЧНІ ВКАЗІВКИ ТА ЗАВДАННЯ

 

для виконання контрольної роботи з дисципліни “Основи інформаційних технологій та програмування”

 

для студентів 1 курсу заочної   форми навчання  спеціальності 6.090500 “Теплоенергетика”

 

 

                                                                 Затверджено на засіданні

                                                                          методичної комісії механічного

                                                                          факультету

                                                                          Протокол  № 3     

                                                                                       від  18 грудня 2003р.

 

 

 

 

                                                                  

 

 

 

 

 

 

 

 

РІВНЕ-2003

 

Методичні вказівки до виконання контрольної роботи з дисципліни “Основи інформаційних технологій та програмування” для студентів заочної форми навчання  спеціальності “Теплоенергетика”  /В.Кузьменко. -Рівне: УДУВГП, 2003.-35c.

 

 

Упорядники:  В.Кузьменко – старший викладач кафедри прикладної

                        математики

 

 

        Відповідальний за випуск: А.Власюк – доктор технічних наук, професор,

                                                                          завідувач кафедри   прикладної 

                                                                          математики                

 

                                         Зміст

 

1. Навчально-методичні матеріали...........................................................3

2. Програма дисципліни.....................................................................................4

3. Програмування в середовищі Turbo Pascal..................................................5

    3.1. Вступ.........................................................................................................5

     3.2. Структура Pascal-програми. Найпростіші програми на мові Pascal...5

     3.3. Оператори введення та виведення даних..............................................7

    3.4. Оператор присвоєння...............................................................................7

     3.5. Оператор розгалуження if. Оператор вибору Case...............................9

    3.6. Циклічні алгоритми................................................................................12

    3.7. Масиви даних. Обробка одновимірних та двовимірних масивів…...16

     3.8. Процедури та функції у мові Pascal.....................................................20

4. Правила виконання та оформлення контрольної роботи..........................24

5. Таблиця варіантів..........................................................................................24

6. Завдання до контрольної роботи.................................................................25

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                          

 

 

Навчально-методичні матеріали

                                       

Література

  1. Фигурнов В.Э., IBM PC для пользователя. Краткий курс. - М.: ИНФРА, 1998. - 480 с.: илл.
  2. Бородич Ю.С., Вальвачев А.Н., Кузьмич А.И. Паскаль для персональных компьютеров. – Минск: Высшая школа, 1992. – 365с.
  3. Брябрин В.М., Программное обеспечение персональных ЭВМ. - .:Наука, 1988. - 272c.
  4. Бондарев В.М., Рублинецкий В.И., Качко Е.Г. Основы програмирова­ния. Харьков: Фолио; Ростов н/Д: Феникс, 1998. -368 с.
  5. Попов А.А., Программирование в среде СУБД  FoxPro 2.0. Построение систем обработки данных. – М.: Радио и связь, К.:ТОО , 1995.- 352с.
  6. Фратер Г., Excel 5.0. - К.: Бином, 1995. - 560 с.
  7. Руденко В.Д., Макарчук О.М., Патланжоглу      М.О., Практичний курс інформатики. / За редакцією Мадзігона В.М.-КЮ: Фенікс, 1997.-304 с.
  8. Семотюк В. Програмування в середовищі Турбо Паскаль.- Львів: БаК,

     2000.-248с.

  1. Ставровский А. Б. Турбо Паскаль 7.0. Учебник.- К.: Издательская группа BHV, 2000.-400 c.

10. Джонс Ж.., Хароу К. Решение задач в системе Турбо Паскаль, М.:Финансы  и статистика, 1991.

11. Довгаль С. И., Сбитнев А. И. Персональные ВМ: Турбо Паскаль 7.0, объектное програмирование.- К.: Довгаль, 1995.

12. Верлань А.Ф., Апатова Н. В. Інформатика:Підручник для учнів 10-11 кл. серед. загальноосв. шк.- К.: Форум, 2000-223с.                           

Методичні вказівки

  1. Мельничук С.А., Конспект лекцій з дисципліни ²Обчилювальна техніка та програмування² для студентів всіх спеціальностей. Шифр 044-97.-Рівне: УІІВГ, 1994,-79 с.
  2. Мельничук С.А., Конспект лекцій з дисципліни ²Обчилювальна техніка та програмування² для студентів всіх спеціальностей. Шифр 044-99.-Рівне: УІІВГ, 1995,-79 с.
  3. Зубик Я.Я., Зубик Л.В. Методичні вказівки та завдання для виконання контрольної роботи з дисципліни “Навчальний практикум на ЕОМ” студентами 1 курсу заочної форми навчання всіх спеціальностей. Шифр 044-116. - Рівне: УДАВГ, 1998. - 28 с.
  4. Зубик Я.Я., Зубик Л.В. Завдання для виконання лабораторних робіт з дисципліни “Основи інформатики” розділу “Операційні системи, оболонки, сервісне програмне забезпечення” студентами 1 курсу  спеціальностей 7.050106, 7.050201. Шифр 100-19. - Рівне: РДТУ, 1998. - 12 с.

                                         Програма дисципліни.

  1. Вступ. Архітектура та апаратна організація ПК. ПЕОМ, їх призначення і використання. Класифікація ПЕОМ. Структурна схема ПЕОМ. Призначення і характеристики основних пристроїв.Структура типового програмного забезпечення. Структура типового програмного забезпечення.
  2. Основи операційної системи MS DOS. Операційна система MS DOS та її складові частини. Логічна структура магнітних носіїв інформації, файлова система MS DOS. Основні команди MS DOS.
  3. Робота в середовищі MS WINDOWS. Операційне середовище MS Windows, його використання. Управління програмами в середовищі MS Windows.Основні поняття та принципи роботи. Windows - додатки.
  4. Табличні процесори та обробка табличних даних з їх допомогою. Табличні процесори та їх використання. Структура електронної таблиці. Елементи таблиці. Режими роботи. Формування електронної таблиці в режимі редагування. Основні команди табличного процесора для роботи з елементами електронних таблиць та таблицею в цілому.Обробка табличної інформації в графічній формі.
  5. Основи алгоритмізації та програмування алгоритмічною мовою високого рівня Turbo Pascal 7.0. Поняття алгоритму. Основи алгоритмізації задач. Типові структури алгоритмів (лінійна, розгалужена, циклічна) та їх організація. Основні етапи розв’язання задач на ПЕОМ. Мови програмування, їх призначення і використання. Інтерпретатори та компілятори. Елементарні конструкції мови. Алфавіт мови, константи, змінні, арифметичні вирази. Використання стандартних функцій. Загальна структура програми. Описова та операторна частина програми. Найпростіші оператори мови. Оператор присвоєння. Оператори введення і виведення інформації. Організація лінійної програми. Оператор переходу, умовні оператори та оператор вибору. Поняття про логічні вирази, правила їх запису. Організація програм розгалуженої структури. Циклічні процеси та їх використання. Організація циклів. Використання масивів. Масиви, їх описи та організація. Введення-виведення масивів. Підпрограми та їх організація в Turbo Pascal. Обробка символьної інформації в Turbo Pascal. Записи, їх організація і використання. Файловий тип даних. Стандартні процедури та функції обробки файлів
  6. Бази даних (БД) та їх обробка за допомогою систем керування базами даних       (СКБД) Access 7.0. Основні поняття про БД і СКБД. Елементи теорії бази дани. Що таке база даних. Основні функції СКБД. Коротка характеристика системи. Типи та властивості полів. Створення базаи даних. Робота з таблицями. Зв'язування таблиць бази даних. Створення та використання форм. 

Вступ

Метою курсу є ознайомлення з сучасним станом комп’ютерної техніки та її програмним забезпеченням, перспективними напрямками використання сучасних ПЕОМ, вивчення способів і методів підготовки та розв’язування задач інженерного характеру на ПЕОМ.

Завдання:

  • вивчити прийоми та методи підготовки задач для розв’язування на ПЕОМ;
  • вивчити основні засоби та прийоми алгоритмізації та програмування задач на алгоритмічній мові;
  • вивчити основні засоби та прийоми програмування інженерних, задач з використанням табличних процесорів, систем керування базами даних (СКБД);
  • набути практичних навичок роботи на ПЕОМ, з операційною системою, сервісними програмами тощо;
  • вивчити способи та можливості використання сучасного програмного забезпечення для розв’язку інженерних задач.

         Алгоритмічна мова Pascal була розроблена математиком Ніклаусом Віртом. В 1968 році була розроблена перша версія мови Pascal, названа на честь великого французького математика і механіка Блеза Паскаля.

         Мова Pascal є мовою високого рівня програмування, зі строгим контролем типів, що підтримує структурне та об’єктно-орієнтоване програмування. До її переваг можна віднести легкий для читання код, швидку трансляцію та можливість використання кількох файлів-модулів для модульного програмування.

 

Найпростіші програми на мові Pascal.Структура Pascal-програми

Алфавіт мови Pascal складається із:

1)    великих та маленьких латинських букв, які не розрізняються, та символа підкреслення;

2)    десяти арабських цифр: 0..9;

3)    спеціальних розділових знаків.

Із елементів алфавіту будуються всі конструкції мови.

Програма на мові Pascal має чітко організовану структуру. Вона починається із заголовка, потім розміщується описова частина, в якій визначаються дані, що використовуються в програмі, і, нарешті, - тіло програми, блок операторів, що послідовно виконуються. Оператори, що складають тіло програми, повинні бути заключені у операторні дужки begin i end. Після кожного оператора обов’язково ставиться крапка з комою, в кінці програми - крапка.

Загальний вигляд програми:

Program <ім’я програми>;

Label {блок описання міток};

Const {блок описання констант};

Type {описи нестандартних типів даних};

Var {блок описання змінних};

Begin {початок програми}

  {тіло програми}

End. {кінець програми}

Найпростіша Pascal-програма матиме такий вигляд:

Program pr1;

Begin

  Writeln (‘Моя перша програма’);

End.

Заголовок програми не є обов’язковим. Він використовується лише для того, щоб нагадати користувачу для чого була призначена дана програма. Описові розділи Const, Label, Type, Var також не є обов’язковими і використовуються лише при потребі описання констант, міток, нестандартних типів та змінних відповідно. Вони можуть записуватись в довільному порядку, повторюватись, але вони обов’язково мають бути розміщені перед ключовим словом Begin.

Розглянемо основні розділи Pascal-програми детальніше.

Блок описання констант починається із службового слова Const після якого вказується список імен констант та їхнє значення через знак “=”. Наприклад,

Const  Pi=3.1415;

Step=2E-3; {Такий запис називається експоненціальною формою дійсного числа. Літера E означає множення на 10 у вказаному після неї степені. Тобто, 2E-3=0.002}

A=12;

B=12.0;

C=A+B;

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

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

Label  L1, lab;

Мітки використовуються для переходу з однієї частини програми в іншу, без послідовного виконання операторів. Використання міток не є хорошим стилем програмування.

Блок описання типів починається службовим словом Type.

У мові Pascal є ряд стандартних типів. Наприклад,

-         Integer, Byte, ShortInt, Word, LongInt {цілі типи даних //1,100,-5};

-         Real, Single, Double, Extended {дійсні типи даних // 2.005, -4.23924, 5e4};

-         Boolean {логічний тип // true (істинне), false (хибне)};

-         Char {символьний тип // ‘a’, ‘5’,’#’};

-         String{рядковий тип // ‘Університет’, ‘Я студент 1-го курсу’}.

Всі типи змінних нестандартного типу повинні бути оголошені у розділі Type програми. Наприклад,

Type Ar=Array [1..10] of integer; {масив десяти цілих чисел}

Найважливішим серед описових розділів є розділ Var, у якому вказуються імена та тип змінних, що використовуються в програмі.

Змінна – це величина, звертання до якої проводиться по імені. Будь-яка змінна, що зустрічається у програмі повинна бути оголошена у розділі змінних Var. Наприклад,

Var a1, a2: Real; {оголошені дві дійсні змінні a1 та a2}

B: Integer; {оголошена змінна B цілого типу}

S, C: Char; {S та C оголошені як символьні змінні}

L: Boolean; {L оголошена як змінна логічного типу}.

Будь-які імена змінних, типів, констант являються ідентифікаторами.

Ідентифікатор – це послідовність латинських букв та цифр (може використовуватись також знак підкреслення), але першою обов’язково повинна бути буква. Кількість символів може бути довільною, але розрізняються лише перші 64.

Оператори введення та виведення даних

Для написання найпростіших програм потрібно знати оператори введення та виведення даних. Оператор введення поміщає значення змінної, яка вводиться, у відповідну ділянку пам’яті. Він має такий вигляд:

Read (<список імен змінних>); або Readln (<список імен змінних>);

При виконанні оператора Read програма зупиняється і чекає поки користувач введе з клавіатури значення і натисне клавішу пробіл чи клавішу Enter. Дія оператора Readlnаналогічна, за виключенням того, що курсор на екрані дисплея після виконання оператора переходить на новий рядок.

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

Write (<список виведення>); або Writeln (<список виведення>);

Список виведення складається із імен змінних та виразів. Наприклад,

Write (‘Значення суми ’,S);

Writeln (‘а = ’,a, ’ b = ’,b);

Оператор Writeln відрізняється від Write лише тим, що після виведення даних переводить курсор на екрані дисплея на новий рядок. Допускаються також порожні оператори Readlnта Writeln. Рядок Readln; в програмі чекатиме натиснення клавіші Enter, але введені з клавіатури значення не будуть нікуди заноситись. Порожній оператор Writeln; лише переводитиме курсор на новий рядок.

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

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

<Ім’я змінної>:=<вираз>;

Знак “:=” означає “присвоїти”, надати змінній значення. При виконанні оператора присвоєння спочатку обчислюється значення виразу, записаного зліва від оператора присвоєння, і одержане значення записується у змінну, що вказана зправа від знака присвоєння. Наприклад,

Y:=Sin(x)+Cos(x);{змінній Y присвоїти значення Sin(x)+Cos(x)}

i:=i+1;{збільшити значення змінної i на одиницю}

d:=b*b-4*a*c;{змінній d надати значення виразу b*b-4*a*c }

У мові Pascal існує жорсткий контроль типів. Тому тип виразу, що знаходиться зправа від оператора присвоєння повинен відповідати типу змінної, що записана зліва від знака присвоєння.

Приклади програм:

Приклад 1:  Написати програму для обчислення площі круга та довжини кола за відомим радіусом.

Program pr1;

Const 

        Pi=3.141592;

Var

   R, L, S: Real;

Begin

    Writeln (’Введіть радіус’);

    Readln(R);

    L:=2*Pi*R;    S:=Pi*R*R;

    Writeln(’Довжина кола = ’,L);

    Writeln(’Площа круга = ’,S);

End.

Приклад 2:  Знайти середнє арифметичне трьох цілих чисел і вивести його на екран дисплея.

Program pr2;

Var

   a, b, c: Integer;

   s: Real;

Begin

    Writeln (’Введіть три цілих числа’);

    Readln(a, b, c);

    s:=(a+b+c)/3;

    Writeln(’Середнє арифметичне = ’,s);

End.

              Для виконання  завдань контрольної роботи потрібно знати як стандартні математичні функції записуються мовою Pascal. Приведемо наступну таблицю:

Математичний запис

Запис мовою Pascal

Математичний запис

Запис мовою Pascal

 

Sin(x)

 

Sqr(x)

 

Cos(x)

 

Exp(x)

 

Arctan(x)

 

Ln(x)

 

Sqrt(x)

 

Abs(x)

 

Оператор розгалуженняIf. Оператор вибору Case.

 

                При програмуванні здебільшого використовуються три типи команд: присвоювання, розгалуження і повторення. Для здійснення розгалуження у Pascal-програмі використовується умовний оператор if. Оператор if може використовуватись у повній та неповній формі. Синтаксис умовного оператора такий:

If <умова> then <оператор>; або If <умова> then <оператор 1> else < оператор 2>;

Оператор if обчислює значення логічного виразу <умова> і якщо цей вираз приймає значення true (істинне), то виконується оператор, вказаний після службового слова then, а якщо <умова> приймає значення false (хибне), то, або виконується  оператор, який слідує за оператором if (якщо оператор if неповний), або виконується оператор, вказаний після службового слова else. Наприклад,

If c<>0 then a:=b/c; {виключаєм випадок ділення на нуль}

If c<>0 then a:=b/c else Writeln(‘Помилка! Ділення на нуль!’);

Якщо після слів then чи else треба записати не один оператор, а кілька, слід використовувати операторні дужки begin <послідовність операторів> end. Наприклад,

If x<y then begin z:=x; x:=y; y:=z; end;

{якщо x менший за y, то міняємо значення змінних x та y місцями}.

         Для побудови складних умов використовуються логічні операції and (і), or (або) та not(не). Таблички істинності для цих операцій мають вигляд:

 


A

B

A and B

True

True

True

True

False

False

False

True

False

False

False

False

 

Наприклад, щоб перевірити чи належить x проміжку [-1; 4] слід написати:

If (x>=-1)and(x<=4) then Writeln(‘Так !) else Writeln(‘Ні !’);

Допускається використання будь-якої кількості вкладених операторів If. Наприклад,

If (x>=-1) then  if (x<=4) thenWriteln(‘Так !) else Writeln(‘Ні !’);

У останньому прикладі вітка else відноситься до останнього оператора if.

 
Оператор вибору Case

 

                Умовний оператор дозволяє здійснювати розгалуження програми тільки за двома напрямками. Якщо для змінної необхідно перевірити ряд умов, слід використовувати або вкладені оператори if, або оператор вибору Case. Синтаксис оператора Case такий:

         Case <змінна або вираз> of

           <мітка 1>: <оператор 1>;

           <мітка 2>:<оператор 2>;

            . . . . .

           <мітка N>:<оператор N>;

         else <оператор N+1>;

         end;

         В результаті дії оператора вибору виконається лише оператор, позначений міткою, що відповідає значенню змінної (виразу), вказаної після службового слова Case. Якщо значення змінної не співпаде з жодною із міток, то виконається оператор вказаний після службового слова else. Вітка else є необов’язковою. Параметр <змінна або вираз> може бути цілого, символьного та перелічуваного типів. Наприклад,

Case Variant of  {змінна Variant містить номер варіанту}

  1: Writeln(‘Варіант 1’);{виконається, якщо змінна Variant=1}

  2: Writeln(‘Варіант 2’);{виконається, якщо змінна Variant=2}

else Writeln(‘Не вірне значення варіанту!’);{ виконається, в усіх інших випадках}

end; {вказує на кінець оператора Case}

 

Стандартні типи даних

Для програмування складних задач потрібно використовувати різні типи даних. Наведемо наступну таблицю стандартних типів мови Pascal.

Цілі типи даних

Назва типу

К-ть байт

Діапазон

Byte

1

0..255

ShortInt

1

-128..127

Word

2

0..65 535

Integer

2

-32 768..32 767

LongInt

4

-2 147 483 648..2 147 483 647

         Над цілими числами можна виконувати стандартні математичні операції: додавання (+), віднімання (-), множення (*), ділення націло (div), обчислення остачі від ділення (mod).

Дійсні типи даних

Назва типу

К-ть байт

Діапазон

Single

4

7-8 знаків після коми, 2 знаки для запису порядку

Real

6

11-12 знаків після коми, 2 знаки для запису порядку

Double

8

15-16 знаків після коми, 3 знаки для запису порядку

Extended

10

19-20 знаків після коми, 4 знаки для запису порядку

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

Round(x) – округлити x;

Trunc(x) – відкинути дробову частину x;

Int(x) – взяти цілу частину від x;

Frac(x) – взяти дробову частину від x.

 

Символьний тип Char

                Для розміщення об’єктів типу Char використовується комірка оперативної пам’яті розміром 1 байт, в який записується код символа. Для кодування символів використовується таблиця ASCII. Перші 128 символів включають управляючі символи, арабські цифри та символи латинського алфавіту. У другій половині кодової таблиці розміщені графічні символи та символи національних алфавітів. Впорядкування символів в алфавіті співпадає з їх впорядкуванням у кодовій таблиці.

         Об‘єкти типу Char можна порівнювати між собою. Символ вважається більшим, якщо його ASCII-код більший. Наприклад,

         ‘A’<’C’ {код ‘A’=65, код ’C’=67}

         Функція, що повертає код символа називається Ord(). Обернена до неї функція Chr() за кодом повертає сам символ. Наприклад,

          Ord(‘A’)=65, Chr(67)=’C’.

Кількість всіх символів, які можуть використовуватись у мові Pascal, дорівнює 256.

Логічний тип Boolean

         Змінна логічного типу може приймати лише два значення True (істинно) або False (хибно), хоча для її розміщення використовується  комірка пам’яті розміром 1 байт. До змінних логічного типу можна застосовувати логічні операції: not, and, or, таблички істинності яких наведені вище.

Приклади програм

Приклад 3: Перевірити чи належить точка з координатами (x,y) колу радіусом R з центром в т.(0,0)

Program pr3;

Var

  B: Boolean;

  x, y, R: Real;

Begin

    Writeln(‘Введіть радіус R’);

    Readln(R);

    Writeln(‘Введіть координати (x, y)’);

    Readln(x, y);

    B:=Sqr(x)+Sqr(y)<=Sqr(R);

    Writeln(B);

End.

Приклад 4:  Знайти корені квадратного рівняння .

Program pr4;

Var

  a, b, c, D: Real;

Begin

    Writeln (’Введіть коефіцієнти рівняння a, b, c’);

    Readln(a, b, c);

    D:=b*b-4*a*c;

    If D>0 then

               begin

                    D:=Sqrt(D);

                    Writeln(‘x1=’,(-b-D)/(2*a);

                    Writeln(‘x2=’ ,(-b+D)/(2*a));

               end

    else

       If D=0 then Writeln(‘x1=x2=’,-b/(2*a))

       else Writeln(‘Немає коренів!’);

End.

Приклад 5: Написати програму для здійснення операцій додавання, віднімання, множення, ділення за вибором користувача.

Program pr5;

Var

   op: Char;

   a, b: Real;

Begin

    Writeln (’Введіть операцію (+,-,*,/)’);

    Readln(op);

    Writeln (’Введіть значення a та b’);

    Readln(a, b);

    Case op of

            ‘+’: Writeln(‘Результат =’,a+b);

            ‘-’: Writeln(‘Результат =’,a-b);

            ‘*’: Writeln(‘Результат =’,a*b);

            ‘/’: Writeln(‘Результат =’,a/b);

else Writeln(‘Невідома операція!’);

    end;

End.

 

Циклічні алгоритми.

Циклом називається повторення одних і тих самих дій. У мові Pascal є кілька різних операторів циклу. Розглянемо кожен із них.

Оператор циклу For.

                Якщо потрібно повторити цикл наперед відоме число разів, то зручно використовувати оператор циклу for (для):

         for i:=n1 to n2 do <тіло циклу>;

         Змінна і називається змінною циклу, яка змінюється від значення n1 до n2 з кроком 1. Тобто, перший раз тіло циклу виконається для значення i=n1, другий раз для значення i=n1+1, і т.д. Останній раз тіло циклу виконається для значення i=n2. Якщо n1>n2, то тіло циклу не виконається жодного разу. Наприклад, рядок програми

         for i:=1 to 10 do Writeln('Цикл виконується ', i ,'-й раз !');

надрукує на екрані дисплея 10 повідомлень:

         Цикл виконується 1-й раз !

         Цикл виконується 2-й раз !

                   . . .  . . .  . . .

         Цикл виконується 10-й раз !

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

         for i:=5 downto 1 do Writeln('Через ', i ,' кроків закінчиться цикл !');

Крок, на який змінюється параметр циклу for завжди 1 (for-to) або -1 (for-downto).

         У наведених прикладах тіло циклу складалось із одного оператора. Якщо потрібно виконати в циклі цілий блок операторів, використовують операторні дужки begin-end. Наприклад, наступний фрагмент виводитиме на екран табличку значень функції  на проміжку [-1; 1] з кроком 0.1.

    for i:=-10 to 10 do

    begin

      x:=i*0.1;

      y:=Sqr(x);

      Writeln('При х=',x:8:4,'y= ',y:8:4);

    end;

Записи x:8:4 та y:8:4 означають, що для виведення дійсних чисел x та у відведеться 8 позицій, 4 з яких - для запису знаків після коми.

Оператор циклу while.

                Якщо кількість повторень циклу невідома наперед, або якщо крок параметру циклу відмінний від одиниці, то використовують оператор циклу while (поки).  Синтаксис оператора while такий:

         while <умова> do <тіло циклу>;

По іншому оператор циклу while називають циклом із передумовою. Цикл виконується поки вказана <умова> приймає істинне значення (True). І як тільки умова прийме хибне значення (False), цикл припиниться і програма перейде на виконання наступного оператора.

Наприклад,

    while c<>'q' do

    begin

      Writeln('Введіть значення');

      Readln(c);

    end;

У наведеному прикладі програма пропонуватиме ввести значення змінної с, поки  з клавіатури не буде введено символ 'q'. Але, якщо перед початком циклу с буде дорівнювати 'q' тіло циклу не виконається жодного разу, так як умова c<>'q' прийме значення False.

Оператор циклу repeat - until

                У випадках, якщо потрібно, щоб тіло циклу виконалось принаймні один раз, використовують цикл із післяумовою repeat - until (повторювати поки):

    repeat

    <тіло циклу>

    until <умова>;

         Тіло циклу обов'язково виконується перший раз, потім перевіряється вказана<умова>, і якщо вона виконується, то програма виходить з циклу, інакше тіло циклу повторюється до тих пір, поки умова не прийме значення True. Зазначимо, що<умова> в циклі repeat - until є умовою виходу із циклу, а в циклі while - умовою продовження циклу. Для однієї задачі ці умови є протилежними.

 

Організація циклів за допомогою оператора безумовного переходу goto

        

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

         goto <мітка>;

Один із операторів програми повинен бути помічений вказаною міткою, а мітка обов'язково описана в розділі Label програми. Як організувати цикл за допомогою оператора goto, розглянемо на наступному прикладі:

    Program Example1; {малює на екрані 10 символів '*'//**********}

    Label L1; {описана мітка L1 в розділі Label}

    Var i: Integer;

          Begin

        i:=0;

     L1:write('*'); {рядок помічений міткою L1}

        i:=i+1; {збільшуємо i на 1}

        if i<10 then goto L1;{якщо i<10, то переходимо на

                                                                         помічений  міткою рядок}

    End.

         Будь-який циклічний процес можна запрограмувати без використання міток, за допомогою операторів циклу for, while та repeat-until.

 

Приклади програм:

Прикдад 6: Обчислити значення , x - дійсне, n - ціле. Врахувати випадок від'ємного n.

Program pr6;

Var

   x, p: Real;

   i, n: Integer;

Begin

   Readln(n);

    p:=1;

    if n<0 then begin x:=1/x; n:=-n; end;

    for i:=1 to n do

    p:=p*x;

    Writeln('Значення х^n = ', p);

End.

Приклад 7: Знайти суму всіх парних натуральних чисел, що не перевищують деякого n і не діляться на 13.

Program pr7;

Var  i, n, S: Integer;

Begin

    Writeln('Введіть n');

    Readln(n);

    S:=0; i:=2;

    while i<=n do

    begin

         if (i mod 13 <> 0) then S:=S+i; {додаємо до змінної S    лише ті числа i, для яких  остача від ділення на 13 відмінна від нуля}

         i:=i+2; {збільшуєм на 2,  так як потрібно переглянути лише парні  числа}

    end;

    Writeln('Значення суми = ', S);

End.

Приклад 8: Написати програму для вгадування числа від 1 до 100 задуманого програмою за допомогою генератора випадкових чисел Random. Функція Random(n) – повертає випадкове число від 0 до n-1.

Program pr8;

Uses crt;{підключаємо модуль crt, для використання функції random}

Var

   x, y: Byte;

Begin

    Randomize;{для того, щоб значення random не повторювались при новому запуску програми}

    x:=Random(100)+1;{повертає число від 1 до 100}

    repeat

          Writeln('Введіть число');

          Readln(y);

          If x<y then Writeln(‘Задумане число менше !’) else

          If x>y then Writeln(‘Задумане число більше !’);

    Until x=y;

    Writeln(‘Ви відгадали !’);

End.

 

Масиви даних

Масивом називається впорядкована скінченна послідовність однотипних даних, які називаються елементами масиву. Тип даних може бути довільним. Порядок елементів в масиві задається набором індексів-чисел, які однозначно визначають місце елемента в масиві та забезпечують прямий доступ до його елементів. Масив характеризується іменем, типом даних, які його утворюють, вимірністю (кількістю індексів) та максимальним значенням кожного індекса. За вимірнісю розрізняють одновимірні (один індекс), двовимірні (два індекси) масиви і т.д.

Для звертання до масиву досить вказати його ім’я, для доступу до його елемента вказують ім’я масиву та, у квадратних дужках, через кому, значення відповідних індексів даного елемента. Наприклад, B[1]-перший елемент масиву B, Y1[i]- i-й елемент масиву Y1, SS[5,2]-елемент двовимірного масиву SS, який стоїть на перетині п’ятого рядка та другого стовпчика.

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

<ім´я масиву>: Array [список індексів] of <тип масиву>

 

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

            Приклади опису одновимірних масивів змінних:

Var

      A, B: array [1..10]  of Real;

                                                  {A, B-одновимірні масиви дійсних чисел}

      N: array [1..10]  of Integer;

                                                  {N-одновимірний масив цілих чисел}

       P: array [1..10] of String [15];

                                                   {P-одновимірний масив рядкових змінних}

Приклади опису одновимірних масивів констант:

Const

         X: array [1..10] of real=(1.2,-4.5,0.8,9.1,0.1,-6.4,3.9,-7.6,1.4,3.6);

         P: array [1..10] of String [15]=(‘Комаров’,’Степанчук’,…);

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

For i:=1 no 10 do

Readln(A[i]);

або з підказкою:

For i:=1 no 10 do

Begin

         Write(‘Введіть A’,i:1,’=’);

          Readln(A[i]);

End;

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

Виведення на екран значень елементів масиву змінних можна виконати так:

For i:=1 to 10 do

Writeln(‘A’,i:1,’=’,A[i]:8:2);

Тепер розглянемо приклади використання масивів при розв’ язку задач.

Приклад 1. Протабулювати функцію  в нерівновіддалених точках.

Так як точки нерівновіддалені, то їх абсциси можуть бути задані масивом

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

Program tabul;

Const n=10;

Var

   X:array[1..n] of real;

   Y:real;

   i:integer;

Begin

    {Введення елементів масиву Х}

    for i:=1 to n do

    readln(x[i]);

    {Обчислення значень функції}

for i:=1 to n do

begin

y:=x[i]+sin(abs(x[i]));

writeln(y:10:2,x[i]:6:2)

end;

End.

Приклад 2. Нехай в одновимірному масиві {}потрібно обчислити суму додатніх і суму від´ємних елементів масиву. Враховуючи, що нульовий елемент суми не змінює, програма розв´язку даної задачі матиме наступний вигляд:

Program sum;

Const n=20;

Var

   X:array[1..n] of real;

   sd,sv:real;

   i:integer;

Begin

    {Введення елементів масиву Х}

    for i:=1 to n do

    readln(x[i]);

    sd:=0; sv:=0;

    {Обчислення суми додатніх та від´ємних елементів

    масиву x}

    for i:=1 to n do

if x[i]>0 then sd:=sd+x[i] else sv:=sv+x[i];

writeln(‘Сума додатніх елементів масиву =’,sd:8:2,

Сума від´ємних елементів масиву=’,sv:8:2);

End.

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

Процес знаходження мінімального елементу побудуємо як процес багаторазового порівняння мінімального елементу з наступним вибраним елементом масиву. В якості такого мінімального елементу на початку візьмемо перший елемент масиву. Тоді програма розв´язку задачі матиме наступний вигляд:

Program min;

Const n=20;

Var

   X:array[1..n] of real;

   min:real;

   i,k:integer;

Begin

    {Введення елементів масиву Х}

    for i:=1 to n do

    readln(x[i]);

{Обчислення мінімального елемету в масиві Х}

    min:=x[1]; k:=1;

    for i:=2 to n do

if min>x[i] then

begin

     min:=x[i]; k:=i

end;

writeln(‘Значення мінімального елементу масиву

=’,min:8:2,’ ,його індекс=’,k)

End.

 

Двовимірні  масиви

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

Type mass=array[1..m,1..n] of real;

Var x,y:mass;

Безпосередньо опис масивів можна задати у такому вигляді:

Var x,y:array[1..m,1..n] of real;

Матриця В дійсних чисел розмірності 4*4, заповнена значеннями

                                          

може бути описана так:

 

Const

         B:array[1..4,1..4] of Real=

((2.5,3.6,6.4,9.5),

 (4.0,3.2,7.8,8.0),

 (1.0,5.4,3.6,2.0),

 (1.9,2.1,1.7,3.7)); 

Введення значень двовимірногомасиву можна здійснити так:                                              

For i:=1 to 4 do

Begin

         For j:=1 to 4 do

         Read(B[i,j]);

                   writeln;

end; 

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

For i:=1 to 4 do

Begin

         For j:=1 to 4 do

         write(B[i,j]:8:2);

                   writeln;

end; 

Приклад 4. Записати програму знаходження максимального елемента в матриці і його індексів.

Програма розв´язку поставленої задачі буде такою:

Program max;

Const m=4;n=4;

Var

   X:array[1..m,1..n] of real;

   max:real;

   i,j,imax,jmax:integer;

Begin

    {Введення елементів матриці Х}

    for i:=1 to m do

    for j:=1 to n do

    readln(x[i,j]);

{Обчислення максимального елемету в матриці Х}

    max:=x[1,1]; imax:=1; jmax:=1;

    for i:=1 to m do

    for j:=1 to n do

if x[i,j]>max then

begin

     max:=x[i,j]; imax:=i; jmax:=j;

end;

writeln(‘Значення максимального елементу матриці

=’,max:8:2,’Він розміщений в’,imax:2,’рядку

і’,jmax:2,’стовпчику’)

End.

Процедури та функції у мові Pascal.

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

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

Дані, описані в розділах процедури або функції можуть використовуватись лише всередині підпрограми. Тому їх називають локальними даними. Змінні, описані у основній програмі можуть використовуватись і у підпрограмі. Такі змінні називають глобальними.

         Процедура – це підпрограма, яка має будь-яку кількість вхідних і вихідних даних. Для обміну інформацією між процедурою і програмою, що її викликає, використовуються параметри, які потрібно описати в заголовку процедури. Процедура може бути описана з параметрами та без них.

Процедури без параметрів

Опис процедури без параметрів має такий вигляд:

         Procedure <ім’я процедури>;

         Const{опис локальних констант}

         Type{опис локальних типів}

Var {опис локальних змінних}

         Begin

           {тіло процедури}

         End;

Розглянемо приклад процедури без параметрів Line, що малює на екрані в текстовому режимі горизонтальну лінію, утворену символами ‘*’.

Program Example2;

  Procedure Line;

  Var

    i: Integer;

  Begin

           For i:=1 to 79 do

     Write(‘*’);

     Writeln;

  End;

 Begin

    Line;

    Writeln(‘Механічний факультет’); Line;

End.

Програма почне виконуватись з оператора, розміщеного після слова Begin основної програми. У нашому прикладі цим оператором є виклик процедури Line. При цьому програма перейде на виконання тіла процедури Line. Тобто, виконається послідовність операторів, записана між словами Begin та End процедури Line. В результаті, на екрані дисплею буде намальовано горизонтальну лінію символом ‘*’. Після завершення виконання процедури Line продовжиться виконання основної програми. Оператор Writeln виведе на екран заданий текст ‘Механічний факультет’. І знову відбудеться виклик процедури Line, яка намалює на екрані другу горизонтальну лінію символом ‘*’.

Процедури з параметрами

                Для передачі даних у процедуру та отримання з неї результатів використовуються формальні та фактичні параметри. Формальні параметри – це умовні позначення в заголовку процедури. Реальні значення, які вказуються у дужках при виклику процедури і конкретизують значення формальних параметрів називають фактичними.

         Кількість фактичних та формальних параметрів повинна співпадати, відповідні параметри повинні узгоджуватись за типами.

         Нехай до попередньої програми ми хочемо додати можливість побудови лінії за допомогою різних символів та різної довжини. Тоді використаємо наступну процедуру з двома параметрами:

Program Example3;

  Procedure Line(с: Char; n: Integer);

  Var

    i: Integer;

  Begin

          For i:=1 to n do  Write(c);

     Writeln;

  End;

Begin

    Line(‘-’,20);

    Writeln(‘Механічний факультет’);

    Line(‘+’,15);

End.

Змінні с та n – формальні параметри, які при першому виклику процедури набувають фактичних значень  ‘-’ та 20, а при другому – ‘+’ та 15.

         У даному прикладі ми передаємо значення параметрів лише у процедуру. Така передача параметрів називається передачею по значенню. Тому, фактичні параметри можуть бути не обов’язково змінними, а й виразами відповідного типу. Якщо ж ми хочемо не тільки передати, а й повернути результат із процедури у основну програму, то потрібно використовувати передачу параметра по імені. Для цього перед іменем змінної при описанні процедури слід вказати ключове слово var. Якщо слова var немає, то параметри передаються по значенню. Фактичний параметр, що передається у процедуру по імені обов’язково повинен бути змінною. Розглянемо приклад процедури, що повертає мінімум із двох дійсних чисел:

Procedure Min (a, b: Real; var m: Real);

Begin

    If a<b then m:=a else m:=b;

End.

Викликом процедури Min може бути Min(3,102,x), Min(x, y, x), але не Min(x, y, 2). Перші два параметри a та b передаються по значенню лише у процедуру. Третій параметр m передається по імені. Його значення повертається у викликаючу частину програми.

         Громіздкі структури даних рекомендується передавати по імені з метою економії оперативної пам’яті.

Функції в мові Pascal

                Функції цілком аналогічні процедурам, за виключенням того, що вони самі можуть приймати значення. У функцію так само як і в процедуру параметри можуть передаватись як по імені, так і по значенню. Опис функції має такий вигляд:

Function <назва функції>(<список параметрів>):<тип результату>;

  {опис локальних даних}

Begin

  {тіло функції}

End;

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

Program Example4;

  Function Min (a, b: Real):Real;

  Begin

     If a<b then Min:=a else Min:=b;

  End;

  Var

    x, y: Real;

 Begin

    Readln(x, y);    x:=Min(x, y) 

    Writeln(‘Min=’, x);

End.

Приклади програм

Приклад 9: Написати функцію для перевірки чи є натуральне число простим. Використовуючи дану функцію, вивести всі прості числа від 1 до n.

Program p9;

  Function Simple (a: Word):Boolean; {передача параметрів по значенню}

  Var

        i: Word;

    b: Boolean;

  Begin

     i:=2; b:=True;

     i:=2;

     While b and (i<=Round(Sqrt(a))) do

     Begin

          b:= (a mod i <> 0);

          i:=i+1;

     End;

     Simple:=b;

  End;

 Var

   i, n: Word;

Begin

    Writeln(‘Введіть n’);

    Readln(n);

    For i:=2 to n do

    If Simple(i) then Write(i:5); 

End.

Приклад 10: Написати програму, яка впорядковує значення змінних a, b, c по зростанню.

Program p10;

Procedure Sort (var a, b: Integer); {передача параметрів по імені}

Var    d: Integer;

Begin

    If a>b then begin d:=a; a:=b b:=d; end

 End;

Var

   a, b, c: Integer;

Begin

    Writeln(‘Введіть a, b, c’);

    Readln(a, b, c);

     Sort(a, b); Sort(a, c); Sort(b, c);

    Writeln(a, b, c);

End.

 

 

 

 

 

Правила виконання та оформлення контрольної роботи

 

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

 

Таблиця варіантів завдань.

 


№ вар.

Завдання

1

2

3

4

5

00       

16

20

20

6

11

01       

1

17

12

7

17

02       

2

18

13

8

2

03       

3

19

14

9

3

04       

4

20

15

10

4

05       

5

1

16

11

5

06       

6

2

17

12

6

07       

7

3

18

13

7

08       

8

4

19

14

8

09       

9

5

20

15

9

10       

10

6

1

16

10

11       

11

7

2

17

11

12       

12

8

3

18

12

13       

13

9

4

19

13

14       

14

10

5

20

14

15       

15

11

6

1

15

16       

16

12

7

2

16

17       

17

13

8

3

17

18       

18

14

9

4

18

19       

19

15

10

5

19

20       

20

16

11

6

20

21       

17

12

7

1

17

22       

18

13

8

2

18

23       

19

14

9

3

19

24       

20

15

10

4

20

25       

1

16

11

5

1

26       

2

17

12

6

2

27       

3

18

13

7

3

28       

4

19

14

8

4

29       

5

20

15

9

5

30       

6

1

16

10

6

31       

7

2

17

11

7

32       

8

3

18

12

8

№ вар.

Завдання

1

2

3

4

5

33       

9

4

19

13

9

34       

10

5

20

14

10

35       

11

6

1

15

11

36       

12

7

2

16

12

37       

13

8

3

17

13

38       

14

9

4

18

14

39       

15

10

5

19

15

40       

16

11

6

20

16

41       

12

7

1

17

12

42       

13

8

2

18

13

43       

14

9

3

19

14

44       

15

10

4

20

15

45       

16

11

5

1

16

46       

17

12

6

2

17

47       

18

13

7

3

18

48       

19

14

8

4

19

49       

20

15

9

5

20

50       

1

16

10

6

1

51       

2

17

11

7

2

52       

3

18

12

8

3

53       

4

19

13

9

4

54       

5

20

14

10

5

55       

6

1

15

11

6

56       

7

2

16

12

7

57       

8

3

17

13

8

58       

9

4

18

14

9

59       

10

5

19

15

10

60       

11

6

20

16

11

61       

7

1

17

12

1

62       

8

2

18

13

2

63       

9

3

19

14

3

64       

10

4

20

15

4

65       

11

5

1

16

5

 

66       

12

6

2

17

6

67       

13

7

3

18

7

68       

14

8

4

19

8

69       

15

9

5

20

9

70       

16

10

6

1

10

71       

17

11

7

2

11

72       

18

12

8

3

12

73       

19

13

9

4

13

74       

20

14

10

5

14

75       

1

15

11

6

15

76       

2

16

12

7

16

77       

3

17

13

8

17

78       

4

18

14

9

18

79       

5

19

15

10

19

80       

6

20

16

11

20

81       

17

   1

1

12

7

82       

18

2

2

13

8

 

83        

19

3

3

14

9

84        

20

4

4

15

10

85        

1

5

5

16

11

86        

2

6

6

17

12

87        

3

7

7

18

13

88        

4

8

8

19

14

89        

5

9

9

20

15

90        

6

10

10

1

16

91        

7

11

11

2

17

92        

8

12

12

3

18

93        

9

13

13

4

19

94        

10

14

14

5

20

95        

11

15

15

6

1

96        

12

16

16

7

2

97        

13

17

17

8

3

98        

14

18

18

9

4

99        

15

19

19

10

5


Завдання контрольної роботи

 

         Завдання №1. Програмне забезпечення персонального комп´ютера.

Підготувати реферат обсягом на 1-2 сторінки, який висвітлює нижче наведене питання:

 

  1. Поняття комп´ютерного вірусу. Антивірусні програми.
  2. ЕОМ, їх призначення та використання. Історія розвитку ПЕОМ та їх класифікація.
  3. Зв´язок між комп´ютерами. Комп´ютерні мережі.
  4. Основні етапи розв´язання задач на ЕОМ.
  5. Поняття алгоритму, його основні властивості та способи запису.
  6. Структурна схема ПЕОМ та її апаратна організація.
  7. Архіватори та архівація файлів.
  8. Струтура програмного забезпечення ПК.
  9. Поняття операційної системи. Види операційних систем.
  10. Операційна система Windows. Її основні характеристики.
  11. Сучасні текстові редактори. Їх класифікація.
  12. Табличні процесори, основні характеристики.
  13. Поняття про експертні системи та навчальні програми.
  14. Системи керування базами даних.
  15. Мови програмування. Транслятори та їх види.
  16. Портативні комп´ютери.
  17. Пристрої для друкування.
  18. Сканери. Сканування малюнків та тексту.
  19. Підготовка носіїв інформації до роботи.
  20. Процесори ПК. Їх основні характеристики і типи.

 

 

Завдання №2. Розгалужені алгоритми.

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

  1. Три числа задаються формулами:

, , .

Знайти мінімальне число. Значення  задати довільні.

 

  1. Три числа задаються формулами:

, , .

Знайти максимальне число. Значення  задати довільні.

 

  1. Три числа задаються формулами:

, , .

Вибрати серед них від’ємні та надрукувати їх  та квадратні корені з їх модулів.

Значення  задати довільні.

 

  1. Три числа задаються формулами:

, , .

Вибрати серед них ті, що належать проміжку [- 4,7]. Значення  задати довільні.

 

  1. Знайти значення функції в точці .

 

.

 

  1. Знайти значення функції в точці .

.

  1. Знайти значення функції в точці .

.

  1. Знайти значення функції в точці .

.

 

 

  1. 9.     Обчислити значення функції  при відомих значеннях параметра:

            

  1. Обчислити значення функції  при відомих значеннях параметра:  
  2. Обчислити значення функції  при відомих значеннях параметра:                    
  3. Обчислити значення функції  при відомих значеннях параметра:          
  4. Обчислити значення функції  при відомих значеннях аргумента :

 

  1. Обчислити значення функції  при відомих значеннях аргумента :

 

  1. Перевірити, чи належить точка  смузі, заданій нерівностями

 

.

  1. Перевірити, чи належить точка  квадрату із стороною , розміщеному в центрі системи координат.
  2. Перевірити, які з сукупності цілих чисел діляться націло на 3.
  3. Скласти програму знаходження мінімального з чисел .
  4. Вивести на екран всі додатні числа з сукупності .
  5. Скласти програму обчислення виразу .

 

 

Завдання №3. Циклічні алгоритми.

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

  1. Серед натуральних чисел, менших деякого , обчислити середнє арифметичне парних елементів ряду.
  2. Серед натуральних чисел, менших деякого , обчислити суму чисел, що діляться на 3 і не діляться на 5.
  3. Серед натуральних чисел, менших деякого , обчислити кількість чисел, що є квадратами натуральних чисел.
  4. Серед натуральних чисел, менших деякого , обчислити добуток чисел, що діляться на 19 і не діляться на 4.
  5. Обчислити суму .
  6. Обчислити суму .
  7. Обчислити суму .
  8. Обчислити суму .
  9. Складіть програму обчислення значень функції на заданому проміжку із заданим кроком: .

 

  1. Складіть програму обчислення значень функції на заданому проміжку із заданим кроком: .
  2. Складіть програму обчислення значень функції на заданому проміжку із заданим кроком: .
  3. Складіть програму обчислення значень функції на заданому проміжку із заданим кроком: .
  4. Визначити секундну витрату води у населеному пункті , де - кількість жителів, - середні витрати води на одного жителя за секунду (л/чол.),
  5. Визначити максимальну годинну витрату води , де - коефіцієнт годинної нерівномірності, - максимальна добова витрата води (м 3),
  6. Ви придбали акцій інвестиційної компанії вартістю (грошових одиниць) кожна. Компанія щорічно сплачує на кожну акцію дивіденди у розмірі відсотків її вартості. Розрахувати суму дивідендів, яку Ви отримаєте за років.

.

  1. Визначити опір трубопроводу , де -довжина ділянки (м), - питомий опір (опір на одиницю довжини), - коригуючий коефіцієнт, який залежить від швидкості. .
  2. Визначити вартість будівництва водопровідної мережі , де - діаметр труби (м), - коефіцієнти вартості мережі, які залежать від умов прокладання та матеріалу труби (грн./ м). .
  3. Визначити вартість встановлення одного метра колектора , де - діаметр (м), - глибина закладання труби (м), - економічні параметри..
  4. Обчислити валовий збір зернових , де - посівні площі (га); - урожайність (ц/га). .
  5. Обчислити коефіцієнт Шезі для розрахунку втрат напору потоку для каналізаційних мереж, де - шорсткості, - гідравлічний радіус (м). .

 

Завдання №4. Обробка одновимірних та двовимірних масивів.

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

 

  1. а) Прибуток малого підприємства по місяцях (млн. грн.) заданий у вигляді одновимірного масиву А. Знайти середньомісячний прибуток малого підприємства, якщо А=(27.8; 34.5; 35.5; 36.9; 39.8; 59.8; 85.6; 88.5; 36.6).

 

б) Вивести на друк  кількість всіх від´ємнх елементів матриці

 

  1. а) Прибуток малого підприємства по місяцях (млн. грн.) заданий у вигляді

     одновимірного масиву А. Знайти найбільший прибуток підприємства за місяць,

     якщо А=(38.6; 53.8; 25.6; 88.5; 36.6; 39.8; 31.1).

 

б) Замінити нулями всі додатні елементи матриці і вивести на друк нову матрицю.

 

 

  1. а) Прибуток малого підприємства по місяцях (млн. грн.) заданий у вигляді

     одновимірного масиву А. Знайти загальний прибуток малого підприємства,

     якщо А=(27.8; 34.5; 35.5; 36.9; 67.4; 46.6; 27.8).

 

б) Замінити всі нулі матриці числом 34 івивести на друк нову матрицю.

 

  1. а) Вивести на друк середнє арифметичне від’ємних елементів масивуА=(5; -2.3; -6.9; -1.1; 2; 6.6).

б) Всі додатні елементи матриці  збільшити на 10 і вивести на друк дану матрицю і перетворену матрицю.

 

  1. а) Знайти і надрукувати суму від’ємних елементів масиву Х=(-2.3; 4.0; -8.9; 6.3; 4.9; -7.8; -6.5; 5.1; 3.8; -4.3; -5.1; 7.2).

 

б) Вивести на друк середнє арифметичне всіх елементів матриці  і саму матрицю А.

 

  1. а) Визначити кількість елементів масиву Х=(2.2; 3.2; -3.6; 0.1; 2.1), значення яких менше 0.8.

 

б) Всі від´ємні елементи  матриці  замінити на 25 і вивести на друк перетворену матрицю.

 

  1. а) Обчислити добуток додатніх елементів масиву D=(1.1; -6.2; 0.0; 2.3; 5.1).

 

      б) Вивести на друк суму двох матриць  і .

 

  1. а) Знайти суму елементів масиву Х=(3.5; -6.3; 2.1; 0.1; 5.1; -2.1), значення яких менше 0.25.

 

б) Вивести на друк різницю двох матриць

.

 

  1. а) Прибуток малого підприємства по місяцях (млн. грн.) заданий у вигляді одновимірного масиву. Знайти, в якому місяці прибуток малого підприємства був найбільший, якщо А=(85.6; 88.5; 36.6; 67.4; 46.6; 27.8; 34.5; 55.5).

 

      б) Знайти квадрат найбільшого елемента масиву .

 

  1. а) Прибуток малого підприємства по місяцях (млн. грн.) заданий у вигляді одновимірного масиву. Знайти кількість місяців, в яких прибуток малого підприємства був більший за прибуток в шостому місяці, якщо А=(35.4; 59.8; 85.6; 88.5; 36.6; 39.8; 59.8).

 

б) В матриці знайти  суму елементів, що лежать вище головної діагоналі.

 

  1. а) Прибуток малого підприємства по місяцях (млн. грн.) заданий у вигляді одновимірного масиву. Знайти, в яких місяцях прибуток малого підприємства був більший за прибуток в останньому місяці, якщо А=(38.4; 53.8; 25.6; 88.5; 36.6; 39.  8; 39.8).

 

      б) В матриці  знайти добуток елементів головної діагоналі.

 

  1. а) Прибуток малого підприємства по місяцях (млн. грн.) заданий у вигляді одновимірного масиву. Знайти номери місяців, в яких прибуток малого підприємства менший від середньомісячного, якщо А=(38.4; 53.8; 25.6; 88.5; 36.6; 39.8; 39.8).

 

      б) В матриці  поміняти місцями перший і другий стовпці.

 

  1. а) Прибуток малого підприємства по місяцях (млн. грн.) заданий у вигляді одновимірного масиву. Знайти кількість місяців, в яких прибуток малого підприємства був більший за прибуток в останньому місця, якщо А=(85.6; 53.8; 36.6; 25.6; 27.8; 34.5; 55.5).

 

б) В квадратній матриці  підрахувати  і вивести на друк окремо суму додатніх та від´ємних елементів, підрахувавши при цьому їх кількість.

 

  1. а) Прибуток малого підприємства по місяцях (млн. грн.) заданий у вигляді одновимірного масиву. Знайти, в яких місяцях прибуток малого підприємства був більший за прибуток у четвертому місяці, якщо А=(38.6; 53.8; 25.6; 88.5; 36.6; 39.8; 31.1).

 

б) В заданому масиві  підрахувати окремо суму кожного стовпця. З отриманих сум сформувати масив Х.

 

  1. а) Обчислити добуток елементів масиву В=(2.3; 4.3; -15.2; 1.1; -1.2; -3.3), значення яких більше 2.0.

 

б) Провести перетворення матриці  таким чином: додатні елементи  замінити на число 0, від´ємні – на число 1, нульові – на число 3.

 

  1. а) Обчислити суму значень від´ємних елементів масиву Х=(-1.2; 6.3; 0.2; -0.7; 1.1; 2.3; -3.6; 2.2).

 

      б) Транспонувати матрицю (зробити рядки стовпцями) .

 

  1. а) Визначити номери додатніх елементів масиву С=(1.1; 2.3; -6.4; 0; 2.1; 2.3; 1.2).

 

б) Вивести на друк у вигляді масиву Х всі невід´ємні елементи матриці .

 

  1. а) Визначити мінімальний елемент масиву Х=(-1.2; 6.3; 0.2; -0.7; 1.1; 2.3; -3.6; 2.2) та номер цього елемента.

 

б) В матриці  знайти найбільший елемент і вивести на друк разом з його індексами.

 

  1. а) Визначити, який номер має найменший елемент масиву Х=(3.5; -6.3; 2.1; 0.1; 5.1; -2.1).

 

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

  1. а) Надрукувати номер першого від´ємного елемента масиву В=(2.3; 4.3; -15.2; 1.1; -1.2; -3.3).

 

б) Задана матриця  . Сформувати нову матрицю Х, кожен елемент якої обчислюється за формулою: , де - найбільший елемент матриці Y.

 

Завдання №5. Використання підпрограм-процедур і підпрограм-

                          функцій.

            Записати програму розв´язку задачі. Процедуру обчислень, що повторюються, записати у вигляді підпрограми.

  1. , при А=(0.4;0.7;2.1;-0.2), B=(0.5;2.8;3.1;-0.8;4.1;).

 

  1. , при Х=(0.7;2.1;-1.1;5.6;7.2), Y=(2.8;-0.2;7.3;1.6).

 

 

  1. , при А=(2.8;3.1;5.2;4.7), В=(2.6;-0.7;-4.3;1.6;2.1).

 

  1. , при А=(2.8;3.1;5.2;4.7), В=(2.6;-0.7;-4.3;1.6;2.1).

 

 

  1. , при Х=(2.1;-3.1;4.2;1.6;2.1), Y=(2.1;-0.2;4.5;2.1;0.6).

 

Координати десяти точок на площині задані двома масивами: Х=(-4;3;-2.5;0.5;1.5;6;-5;5;-4.5;3.5), Y=(-3;-2;6.5;5;-4;3.5;-2;6;2.5;-4.5). Написати програму з використанням підпрограми-процедури або підпрограми-функції для наступних завдань (завдання 6-15):

 

  1. Визначити відстані від першої точки до решти всіх точок. Результати запам´ятати у вигляді масиву.
  2. Визначити середні значення  координат точок.
  3. Визначити, котра з точок знаходиться на максимальній відстані від першої точки.
  4. Вивести номери точок, відстань між якими максимальна, а також значення цієї відстані.
  5. Перевірити, які з точок масиву належать колу .
  6. Визначити, котра з точок знаходиться на максимальній відстані від початку координат.
  7. Вказати, до якого квадранту належить кожна з точок масиву.
  8. Вказати точку, найменш віддалену від геометричного центру масиву.
  9. Вказати точку, найбільш віддалену від геометричного центру масиву.
  10. Для кожної з точок вказати відстань до геометричного центру масиву .
  11. Обчислити індекс динаміки посівних площ  , де - масив посівних площ у звітному році, - масив посівних площ у базисному році.
  12. Обчислити функцію , де - мінімальний елемент масиву , - мінімальний елемент масиву .
  13. Обчислити функцію , де - мінімальний елемент масиву , - мінімальний елемент масиву .
  14. Визначити індекс динаміки чисельності тракторів в перерахунку на еталонні , де  - масив кількості тракторів у звітному році, - масив кількості тракторів у базисному році.
  15. Обчислити приріст числа тракторів в перерахунку на еталонні , де  - масив кількості тракторів у звітному році, - масив кількості тракторів у базисному році.

 

 

 


Комментарии


Комментариев пока нет

Пожалуйста, авторизуйтесь, чтобы оставить комментарий.

Авторизация
Введите Ваш логин или e-mail:

Пароль :
запомнить