Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка Паскаль.doc
Скачиваний:
7
Добавлен:
03.11.2018
Размер:
309.25 Кб
Скачать

Лабораторна робота №3 Прості цикли

Цикл – це група оперцій, що виконується багаторазово. В мові Pascal є три оператори організації циклів: While, Repeat та For.

Для опису циклу використовується структура повторення і відповідні оператори циклу.

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

While <логічний вираз> Do

Begin

оператор1; оператор2;...;

End;

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

Repeat

оператор1;оператор2;

Until логічний вираз;

Існує оператор циклу з параметром:

For <параметр циклу:= початкове значення> To <кінцеве значення> Do

Begin

оператор1; оператор2;...;

End;

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

Параметр циклу:=Succ(параметр циклу);

Цикл закінчується, коли параметр циклу стане більшим за його кінцеве значення. Якщо кінцеве значення дорівнює початковому, то цикл виконається один раз. Якщо кінцеве значення недосяжне, то цикл не виконається зовсім. Якщо в тілі циклу необхідно виконати більше одного оператора, то їх треба оформити, як складений оператор Begin ...End;

Цикл Repeat називається циклом з постумовою. Тіло такого циклу виконується завжди хоча б один раз.Тому, що умова стоїть в кінцевому операторі Until. Результат обчислення завжди логічна величина, якщо він False, цикл продовжується, а якщо True – перестає працювати.

Наприклад:

I:=0;

Repeat

I:=I+1;

………..

Until I=f;

Цикл завершиться, як тільки I=f;

Цикл While має умову на початку циклу. Якщо умова з самого початку False то цикл не виконається ні одного разу. Такий цикл зручно використовувати для змінення параметру з будь яким кроком.

Наприклад:

I:=0;

While I<=f do begin

Inc(i);

…………………….

End;

В а р і а н т и з а в д а н ь

  1. Обчислити суму ряду:

  2. S= x-x3/3!+x5/5!-x7/7!+…

  3. S= x-x3/3+x5/5-x7/7+…

  4. S=1/x+1/x2+1/x4+1/x8+1/x16

  5. S=x+x2/2!+x4/4!+x8/8!…

  6. S= x-x2/2+x3/3-x4/4+x5/5-…

  7. S= n коренів

  1. Знайти таке n, для якого 1+1.2+1.4..+(1+n).n>= А, де А вводиться з клавіатури.

  2. Скласти програму пошуку суми цифр числа, що вводиться з клавіатури.

  3. Скласти програму пошуку такого цілого числа, що вводиться з клавіатури та співпадає з числом, що загадав комп'ютер.

  4. S=x+x2/2!+x3/3!+x4/4!+x5/5!+…

  5. S=(1/2)*(3/4)*(5/6)*…*((2n-1)/2n)

  6. S=1*2+2*3*4+…+n*(n+1)*…* 2n

  7. S=(1+1/12)*(1+1/22)*…*(1+1/n2)

  8. S=(1/1)*(3/2)*(5/3)*(7/4)…(2n-1)/n)

  9. S=(3+(6+…+(3n)1/2)1/2)1/2

  10. Скласти програму обчислення найбільшого дільника чисел М та N, які генеруються лічильником випадкових чисел.

  11. Скласти програму обчислення значень функції , для Х від[-3,1] з кроком 0.1.

  12. Скласти програму обчислення значень функції , для Х від [0.5, 5] з кроком 0.25.

  13. Обчислити 1-1/2+1/3-1/4+1/5-…+1/99-1/100 послідовно зліва направо та навпаки. Результати порівняти.

  14. Знайти всі цілі результати обчислень за формулою (Х2-Х)/(Х+2), де Х змінюється від 1 до 100 кроком 2, полічити їх та вивести в формі таблиці.

Лабораторна робота №4 Масиви.

Масив це сукупність елементів одного типу. Масив визначається іменем та кількістю елементів в ньому.опис массиву здійснюється в розділах Var або Type.

При описанні массиву використовуються такі зарезервовані слова , як Array за ним в квадратних дужках розміщується тип діапазон, за допомогою якого компілятор виявляє загальну кількість елементів масиву. Тип діапазон задається нижньою та верхньою границями змінення індексу масиву. За словом of вказується тип елементів з яких складається масив.

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

Опис одновимірного масиву.

Type

A= Array[1..10] of integer;

Якщо масив описаний в розділі Type то в розділі Var обов'язково повинно бути переприсвоювання типу масиву наприклад: В:А;

Масив може бути описаний в розділі Var.

Наприклад:

Var

A: Array[1..10] of integer;

Масив складається з 10 елементів цілого типу.

Var

B: array[1..25] of real;

Масив складається з 25 елементів дійсного типу.

Опис двовимірного масиву.

Var C: Array[1..n,1..m] of word;

Матриця розмірності n*m, заповнена числами типу word, де в квадратних дужках описується спочатку за змовчуванням кількість рядків, а потім кількість стовпчиків.

Елементами масиву можуть бути будь-які дані, в тому числі є поняття “ масив масивів”

Наприклад:

Const Ii=10;

Type B: array[1..Ii] of real;

Var BB: array[1..4] of B;

В цьому випадку ВВ це матриця, яка має розмірність 4 рядка та Іі стовпчиків.

Є ще таке поняття, як константа-масив.

Наприклад:

Type Oswita=(School, Luceum, College, University);

Const A: Array[Osvita] of String[10]= (‘Школа, Ліцей, Коледж,Університет);

Var Student:Osvita;

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

Ввід елементів массиву та їх обробка здійснюється в циклі. Для цього використовується будь-який з циклів.

Наприклад:

ввід двовимірного масиву:

For i:=1 to N do

For j:=1 to M do begin

WriteLn(‘D[i,j]= ’);

ReadLn(D[i,j]); end

Його обробка:

For i:=1 to N do begin

Sum:=0;

For j:=1 to M do Sum:=Sum+D[i,j];

R [i]:=Sum;

End;

Цей фрагмент програми демонструє підрахунок сум по рядках матиці D(N,M), та збереження цих сум в одновимірному масиві R.

В а р і а н т и з а в д а н ь

  1. Задані цілі числа А1...Аn,В1...Вn. Якщо в послідовностях нема жодного члена із значенням К, що вводиться з клавіатури, то перший член 1 послідовності, не менший за всі інші члени, замінити на значення К. Останній член 2 послідовності, не більший за всі інші члени послідовності, замінити на К.

  2. Замінити в матриці М*М рядки згідно з правилом 13, 2 4 i. т.д.

  3. Замінити в матриці М*М стовпчики згідно з правилом 12, 34 і.т.д.

  4. Задана дійсна матриця М*N. Одержати нову матрицю, шляхом ділення всіх елементів заданої матриці на суму індексів максимального елемента.

  5. Задана дійсна матриця М*N. Визначити числа, що відповідно рівні сумам елементів рядків, замінити їх нулями.

  6. Задана дійсна матриця М*N. Визначити числа, що відповідно рівні добуткам елементів стовпчиків та замінити їх на 1.

  7. Задана дійсна матриця М*N. Визначити числа, що відповідно рівні сумі елементів побічної діагоналі, замінити їх на протилежні їм числа.

  8. Замінити числа матриці по правилу

  9. Замінити числа матриці по правилу

  10. Задана дійсна матриця М*N. Визначити Min елемент, викинути стовпчик та рядок на перетині яких знаходиться цей елемент.

  11. Задана дійсна матриця М*N. Переставити елементи рядків таким чином, щоб останній став першим, передостанній другим і.т.д.

  12. Задано одновимірний масив довжиною N, в якому знаходяться дійсні числа та нулі. Заповнити початок вихідного масиву номерами позицій де знаходились нульові елементи. Потім дописати масив ненульовими елементами в тому порядку в якому вони знаходились в початковому масиві. Нульові елементи викинути.

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

  14. В квадратній матриці поміняти місцями дві трикутні області (ліву та праву),

утворені при перетині головної та побічної діагоналей.

  1. В квадратній матриці М*М замінити ті елементи сумою елементів побічної

    1. діагоналі, які закінчуються 0.

  2. Розташувати всі елементи матриці М*N в порядку зростання.

  3. Знайти найменший елемент в матриці М*N всі елементи, які знаходились до нього переставити в зворотному порядку.

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

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

  6. Задана дійсна матриця М*N. Знайти елементи сума цифр яких є подільною націло на 7 та утворити одновимірній масив з таких чисел.