Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ekzamen_KhIO_I_semestr_-_shpori.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.07 Mб
Скачать

Білет1 1.Оператор присвоєння мови Pascal. Оператори виведення даних на текстовий екран та введення даних з клавіатури. Приклади.

Оператор присвоєння у мові Pascal виглядає так: <змінна>:=<вираз>.

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

Для введення і виведення даних використовують стандартні процедури введення Read i виведення Write, що оперують стандартними послідовними файлами INPUT i OUTPUT. Ці файли розбивають на рядки змінної довжини, відокремлені один від одного ознакою кінця рядка. Кінець рядка задають натисненням клавіші ENTER.

Вхідні дані можна ВВЕСТИ з допомогою однієї з двох процедур введення:

- оператор Read (A1, A2, ...,AK); виконує читання к значень вхідних даних і присвоювання цих значень змінним А1, А2, ..., АК;

- оператор ReadLn (A1, A2, ..., AK); виконує читання к значень вхідних даних, пропуск інших значень до початку наступного рядка і присвоювання введених значень змінним А1, А2, ..., АК.

Оператор без параметрів ReadLn; після натискання будь-якої клавіші виконує пропуск рядка вихідних даних.

Приклад:

Var a, b : Real;

i, j : Integer;

C, D : Char;

.......................

Read(a, b, i, j);

Read(C, D);

Для ВИВЕДЕННЯ результатів роботи програми на екран використ. оператори:

- Write(A1, A2, ..., AK); - виведення значень змынних А1, А2, ..., АК у рядок екрана;

- WriteLn (A1, A2, ..., AK); - виведення значень змінних А1, А2, ..., АК у рядок екрана і перехід до початку наступного рядка;

- WriteLn; - пропуск рядка і перехід до початку наступного рядка.

Оператор виведення дає змогу задати ширину поля виведення для кожного елемента списку виведення. У цьому випадку елемент списку виведення має вигляд А:Ш, де А - вираз чи рядок, Ш - ширина або константа цілого типу.

Також може виглядати як А:Ш:М, де М кількість цифер дробової частини.

Приклад:

Var a, b : Real;

P, Q : Integer;

R, S : Boolean;

T, V, U, W : Char;

..........................

WriteLn (a, b:10:2);

WriteLn (P, Q:8);

WriteLn (R, S:8);

WriteLn (T, V, U, W);

2.Структури в мові С++ Структури-це складні типи даних ,які ми самі утворюємо на основі інших типів.У Delphi аналогом структур є Record. Cтруктури-це набори різнотипних даних,які об’єднано спеціальним ім'ям. Кожен екземпляр цих даних називають полем. Опис : struct <ім’я (тег) структури>

{ <поле>;

<поле>;….}

Або: struct

{< поля >;}

<імя>,<імя>…

Наприклад: struct student \\опис

{ AnsiString PIB[30]; \\прізвище імя по-батькові

AnsiString group[8]; \\група

Int year; \\рік народження

Int inform,math ;}

Student Ivanenko,Petrenko,*st;

Для роботи з полями структури в С++ використовують операції:

“.”, якщо звертання за іменами

“->”,якщо за адресою(посиланням)

Якщо написати pst=&Ivanenko;

Ivanenko.tear=1994; або

Pst->year=1994;

В С++ елементами структури можуть бути функції і специфікатори доступу private,public.

Ініціалізація полів структури:

struct student \\опис

{ AnsiString PIB[30]; \\прізвище імя по-батькові

AnsiString group[8]; \\група

Int year; \\рік народження

Int inform,math ;}

Student Ivanenko,Petrenko,*st;

Ivanenko ={“Іваненко І.Б.”,”ФеІ-11”,1995,5,5};

3.Написати процедуру метода Гауса по блок-схемі.

procedure GAUSS;

var a: Matrix;

b,x: Vector;

h: Double;

i,j,k,n:integer;

begin

//Дані

//Розмірність системи

n := StrToIntDef(Text, StringGrid1.ColCount);

//Коефіцієнти

for j := 0 to n - 1 do

for i := 0 to n - 1 do

a[i + 1, j + 1] := StrToFloatDef(StringGrid1.Cells[j, i], 0);

//Права частина рівняння

for I := 0 to n - 1 do b[i + 1] := StrToFloatDef(StringGrid2.Cells[0, i], 0);

//Прямий хід - виключення змінних

for i:=1 to n-1 do

for j:=i+1 to n do

begin

a[j,i]:=-a[j,i]/a[i,i];

for k:=i+1 to n do

a[j,k]:=a[j,k]+a[j,i]*a[i,k];

b[j]:=b[j]+a[j,i]*b[i]

end;

x[n]:=b[n]/a[n,n];

//Зворотній хід - знаходження коренів

for i:=n-1 downto 1 do

begin

h:=b[i];

for j:=i+1 to n do h:=h-x[j]*a[i,j];

x[i]:=h/a[i,i]

4.Знаходження визначеного інтеграла методом трапецій.

//---------------------------------------------------------------------------

#include <vcl.h>

#include<math.h>

#include <iostream.h>

#pragma hdrstop

#include "Unit1.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

double f(double x)

{

return (1/x*x)*(sin(x)/x);

}

double sum (int m, double x, double w)

{

double s=0;int i;

for (i=1;i<=m;i++)

{s=s+f(x);

x=x+w;}

return s;}

double F(double x)

{return -(cos(x)/x-cos(1));}

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)

{

float q,a,b,n,h;int k;

a=1;

b=2.5;

n=StrToFloat(Edit1->Text); // Кількість поділів

h=(b-a)/n;

{

q=(h/2)*(f(a)+f(b)+2*sum(n,a,h));

}

Edit2->Text=FloatToStr(q);

//перевірка

Edit3->Text=FloatToStr((F(b)-F(a)));

}

//---------------------------------------------------------------------------

Білет2 1.Огляд скалярних типів даних. Операції над ними та їхній пріоритет

  1. цілі – визначають константи, змінні і ф-ї, значення яких належать множині цілих чисел: Byte, integer, ShortInt, LongInt, Word.

Над цілими операндами можна виконувати такі арифметичні операції:

+ додавання

- віднімання

* множення

Div ділення без остачі

Mod одержання залишку від ділення

Операції відношень, застосовані до цілочисельних операндів, дають результат логічного типу True(істинна) чи False(хибність).

До аргументів цілого типу застос. Такі стандартні ф-ї Abs(x) модуль, Sqr(x) квадрат,Succ(x), Pred(x).

Sin(x), Cos(x), ArcTan(x), Ln(x), Exp(x), Sqrt(x)

  1. дійсні– визначають ті дані, що реалізуються підмножиною дійсних чисел: Single(низька точність) , Real(звичайна точність), Double (подвійна точність), Extended(підвищена точність) , Comp(ціле у форматі дійсного).

Над дійсними операндамиможна виконувати наступні арифметичні операції, що дають дійсний результат:

+ додавання

- віднімання

* множення

/ ділення

Застос. Такі стандартні ф-ї Abs(x) модуль , Sqr(x) квадрат, Int(x)

Sin(x), Cos(x), ArcTan(x), Ln(x), Exp(x), Sqrt(x), Pi, Round(x), Trunc(x).

  1. символьний– визначає упорядковану сукупність символів: Char.

До символьного типу застосовні всі операції відношень. Ф-ї Ord(c) iChr(k), Pred(c), Succ(c).

  1. логічний типи– булівські типи даних визначають такі дані, що можуть набувати логічних значень True i False: Boolean, ByteBool, WordBool, LongBool.

До булівських операндів застосовані такі логічні операції:

Not – операція побітового інвертування. Застосування її до цілого числа змінює кожен двійковий “0” цього числа на двійкову “1”, і навпаки.

and - логічна операція I. Виконується згідно з такими правилами :

Or – логічна операція Або. Виконуєтся згідно такими правилами:

Xor – логічна операція заперечення Або. Виконуєтся згідно такими правилами:

  1. Рядкові - String, Pchar(для створення Windows-додатків).

  2. Вказівник – тип даних, який описано службовим словом Pointer. Значенням змінних і констант цього типу є адреса еякої комірки оперативної пам’яті.

  3. Текстовий тип. Описано службовим словом Text.Використовують для опису текстових файлів.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]