Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

тематичну постановку задачі яка містить- опис вхідних даних їх типів та у разі необхідності опис обмежен

Работа добавлена на сайт samzan.net:


Загальні вимоги  до  оформлення звітів з лабораторних робіт

Звіт з лабораторної роботи повинен мати в своєму складі:

  1.  завдання до лабораторної роботи;
  2.  математичну постановку задачі, яка містить:
  3.  опис вхідних даних, їх типів та у разі необхідності опис обмежень на вхідні дані;
  4.  опис вихідних даних, їх типів;
  5.  математичну модель задачі;
  6.  схему алгоритму з коментарями до неї;
  7.  тестовий приклад для перевірки вірності та повноти отриманого рішення (необхідно навести варіант вирішення задачі  вручну);
  8.  роздрук та аналіз результатів роботи програми;
  9.  опис програмного інтерфейсу з користувачем;
  10.  тексти програм мовами Паскаль та Сі.

  1.  
    ЛАБОРАТОРНА   РОБОТА  № 1
    . Програмування лінійного обчислювального процесу
  2.  Завдання: скласти програми мовами Паскаль та Сі для обчислення математичного виразу згідно з варіантом завдання2.

Рекомендації до виконання роботи.

  1.  Для програмованого обчислення виразів у більшості випадків необхідно використовувати математичні функції зі стандартних бібліотек мов програмування. Якщо в бібліотеці немає  необхідної математичної функції, треба її виразити через ті, що визначені. Наприклад,  стандартом мови Паскаль не передбачена  функція arccos(x), але існує arctg(x). За тригонометричною формулою

arccos(x)=arctg, де x  1.   (1)

Стандартом мови Паскаль не передбачена операція піднесення  до степеня ха, де а>2. Для обчислення степеня  можна використати формулу:

xa=ealnx      (2)

Обчислення логарифмів:

logax=ln x / ln a      (3)

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

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

.

Вхідний вираз набуває вигляду:

Приклад виконання роботи

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

.

  1.  Математична постановка задачі.

Вхідні дані

Дії

Вихідні дані

x, z дійсного типу.

Обмеження: ; x0.

a –дійсне.

Враховуючи те, що  мовою Паскаль не передбачено обчислення функція arccos, здійснено перетворення даного виразу за формулою 1:

  1.  Тестовий приклад.

Як приклад розглянемо 3 випадки:

  •  x=0.5, z=-0.7;
  •  x=2.5, z=0.5;
  •  x=7, z=0; .
  1.  Аналіз результатів роботи програми.

Вхідні дані

Вихідні дані

Розрахунок вручну

Паскаль

Сі

x=0.5, z=-0.7

1.08395

.0839

.0840

x=2.5, z=0.5

1.618022

1.6180

.6180

x=7, z=0

3.315958

.3160

.3160

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

  1.  Опис програмного інтерфейсу з користувачем.

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

Після розрахунку на екран виводиться значення а.

Для завершення роботи програми необхідно натиснути будь-яку клавішу на клавіатурі.

  1.  Текст програм мовами Паскаль та Сі.

Uses Crt;

#include <stdio.h>

Var   

#include <conio.h>

    a, x, z : real;     

#include <math.h>

begin

main()

  ClrScr;

{

  Write(‘Введіть значення змінних x, z : ’);

float a, x, z;

    ReadLn(z, x);

clrscr();

    a:=Sqrt(x*arctan(1/sqrt(1-sqr(x)));

printf(“Введіть значення змінних x, z:  ”);

    WriteLn(‘a= ‘, a:9:4) ;

scanf(“%f%f”, &x, &z);

readkey;

a= sqrt(x*acos(z));

End.  

printf(“\n a= %9.4f \n”, a);

getch();

}


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

1.

  1.  Завдання: скласти програми мовами Паскаль та Сі для визначення:
  2.  координат точки перетину двох прямих;
  3.  площі підлоги та площі стін кімнати;
  4.  перерахунку координат точки з полярної системи до декартової;
  5.  площі поверхні та об’єму кулі;
  6.  площі поверхні та об’єму конуса;
  7.  довжини твірної та об’єму циліндра;
  8.  площі поверхні та об’єму прямокутного паралелепіпеда;
  9.  площі та периметру трикутника за заданими довжинами сторін;
  10.  площі та периметру прямокутника;
  11.  площі та периметру прямокутного трикутника за заданими катетами;
  12.  плащі та периметру рівнобічної трапеції;
  13.  площі та периметру прямокутної трапеції;
  14.  площі та периметру паралелограма за заданими двома сторонами та кутом між ними;
  15.  визначення за заданими x та a значень ;
  16.  швидкості V1 та V2 двох потягів, які почали рухатися на зустріч один одному з відстані S, якщо відомо, що швидкість першого потяга більше на Vкм/годину, а зустрілися вони через t годин;  
  17.  катетів прямокутного трикутника за заданими довжиною гіпотенузи та кутом;
  18.  довжин гіпотенузи та катета за заданими довжиною іншого катета та прилеглим до нього кутом;
  19.  довжини гіпотенузи та двох кутів за заданими довжинами катетів;
  20.  площі та довжини дуги сектора за заданим радіусом та кутом;
  21.  площа та довжини хорди сегмента за заданим радіусом кола та кутом;
  22.  координат центру відрізка за заданими координатами кінців;
  23.  координат центру вписаного в квадрат кола, якщо відомі координати лівої верхньої та правої нижньої вершини квадрата;
  24.  довжини сторін прямокутника, якщо відомі координати його лівої верхньої та правої нижньої вершини;
  25.  довжини основи та площі рівнобічного трикутника за заданими довжиною бокової сторони та кута між нею та основою;
  26.  площі та довжини сторони ромба за заданими довжинами його діагоналей.

Приклад виконання роботи

  1.  Завдання: скласти програму мовою Паскаль та Сі для визначення площі та периметру прямокутника.
  2.  Математична постановка задачі.

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

а –довжина прямокутника, задається в метрах(м);

b –ширина прямокутника (м);

P –периметр прямокутника (м);

S –площа прямокутника (м).

Вхідні дані

Дії

Вихідні дані

a,b дійсного типу.

Обмеження: a,b>0.

P, S –дійснi.

  1.  Тестовий приклад.

Як приклад розглянемо 3 випадки:

  1.  a=5 м, b=10 м. P=30.0 м, S=50.0 м.
  2.  a=0.5 м, b=0.7 м. P=2.4 м, S=0.35м.
  3.  a=3 м, b=1.5 м. P=9.0 м, S=4.5 м.

  1.  Аналіз результатів роботи програми.

Вхідні дані

Вихідні дані

Розрахунок вручну

Паскаль

Сі

P

S

P

S

P

S

a=5 , b=10

30.0

.0

.0

.0

.0

.0

a=0.5 , b=0.7

2.4

.35

.4

.35

.4

.35

a=3 , b=1.5

9.0

.5

.0

.5

.0

.5

Результати розрахунків співпадають, похибки не виникло, тому можна вважати програмні розрахунки вірними.

  1.  Опис програмного інтерфейсу з користувачем.

Після запуску програми на екран виводиться повідомлення-запрошення про введення сторін прямокутника. Необхідно ввести значення довжини а прямокутника та ширини b, що виражені в метрах .

Після розрахунку на екран виводяться значення P, S.

Для завершення роботи програми необхідно натиснути будь-яку клавішу на клавіатурі.

  1.  
    Текст програм мовами Паскаль та Сі.

#include <stdio.h>

Uses Crt;

#include <conio.h>

Var   

main()

    a, b, P, S: real;     

{

begin

float a, b, P=0, S=0;

  ClrScr;

clrscr();

  Write(‘Введіть довжину a (м) та ширину b (м) : ’);

printf(“Введіть довжину a (м) та ширину b (м) : ”);

    ReadLn(a, b);

scanf(“%f%f”, &a, &b);

    P:=(a+b)*2;

P=(a+b)*2;

    S:=a*b;

S=a*b;

    WriteLn(‘Периметр = ‘, Р:9:4, ‘Площа = ‘, S:9:4) ;

printf(“\n Периметр = %9.4f \n Площа = %9.4f \n”,

P, S);

                                  

readkey;

getch();

End.  

}

  1.  
    ЛАБОРАТОРНА   РОБОТА  № 2. Програмування розгалуженого обчислювального процесу
  2.  Завдання:
  •  скласти програми мовами Паскаль та Сі для визначення значення у;
  •  після відлагодження програми виконати трасування програми, задавши набір вхідних даних для перевірки гілки then, а потім гілкиelse;
  •  встановити точку останову на операторі if;
  •  відкритивікнодля перегляду значення вхідних змінних програми
  •   повторно запустити програму на виконання;.

Приклад виконання роботи

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

  1.  Математична постановка задачі(МПЗ).

Вхідні дані

Дії

Вихідні дані

x  дійсного типу.

Якщо виконується 0x5,

тоді y=x,

інакше y= cos x

y –дійсне.

  1.  Тестовий приклад.

Для перевірки правильності МПЗ та складеної програми розглянемо таки випадки:

  1.  Умова axb виконується.
  •  x=3 –> y=9;
  •  x=0 –> y=0;
  •  x=5 –> y=25;
  1.  Умова axb не виконується.
  •  x=-4 –> y=-0,653644;
  •  x=9  –> y=-0,911130;

  1.  Аналіз результатів роботи програми.

Вхідні дані

Розрахунок вихідних даних

вручну

Паскаль

Сі

x=3

9

.0

.0

x=0

.0

.0

x=5

.0

.0

x=-4

-0,653644

-0,653644

-0,653644

x=9

-0,911130

-0,911130

-0,911130

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

  1.  Опис програмного інтерфейсу з користувачем.

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

Після розрахунку на екран виводиться значення у.

Для завершення роботи програми необхідно натиснути будь-яку клавішу на клавіатурі.

  1.  Текст програм мовами Паскаль та Сі.

Uses Crt;

#include <stdio.h>

#include <conio.h>

Var   

#include <math.h>

    x, y : real;     

main()

{

begin

float x, y;

  ClrScr;

clrscr();

  Write(‘Введіть значення x : ’);

printf("Input x:");

    ReadLn(x);

scanf("%f", &x);

if (x>=0) and (x<=5)  then y=sqr(x)

if (x>=0 && x<=5) y=pow(x, 2);

    else y=cos(x);

else y=cos(x);

    WriteLn(‘y= ‘, y:9:6) ;

printf("\ny=%9.6f", y);

readkey;

getch();

End.  

}


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

  1.  

    Завдання:
  •  скласти програми мовами Паскаль та Сі з використанням оператору case(switch);
  •  після відлагодження програми виконати трасування програми, задавши набір вхідних даних для перевірки гілки then, а потім гілкиelse;
  •  відкритивікнодля перегляду значення вхідних змінних програми;
  •  встановити точку останову на операторі case(switch);
  •  виконати трасування програми для перевіркироботи оператора множинного розгалуження.

Рекомендації до виконання роботи.

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

  1.  За заданим номером місяця вивести його назву.
  2.  За заданим номером місяця вивести кількість днів в ньому.
  3.  За заданим номером місяця вивести номер кварталу.
  4.  За заданим номером місяця вивести пору року.
  5.  За заданим номером місяця вивести перелік державних свят в ньому.
  6.  За заданим номером дня в тижні вивести повідомлення „робочий, вихідний.”
  7.  За заданим номером дня в тижні вивести його назву.
  8.  За заданим номером кварталу вивести перелік місяців.
  9.  За заданим номером дня в тижні вивести кількість пар за розкладом вашої групи.
  10.  За заданим числом від 0 до 5 вивести його назву української мовою.
  11.  Ввести пергу букву з ім’я людини, вивести перелік з трьох можливих імен. Наприклад, введено ‘a’, виводиться –“Андрій, Анна, Архип”.
  12.  В одному елітному будинку 20 квартир чотирьох типів: однокімнатна, двокімнатна, трикімнатна, чотирьохкімнатна. Було складено перелік:

№ квартири

Тип квартири

1,2,3,4, 16,17

однокімнатна

5,7,9,12,13

двокімнатна

6,8,10,14,15

трикімнатна

11,18,19,20

чотирьохкімнатна

Отже, за введеним номером квартири вивести її тип.

  1.  За першою буквою з назви дисципліни вивести її напрямок підготовки(технічні, природничі, гуманітарні).
  2.  За першою буквою з назви оператора мобільного зв’язку вивести його повну назву.
  3.  За кодом пакету мобільного зв’язку вивести назву оператора. Наприклад, (0) 50, (0) 66 –UMC.
  4.  За першою буквою з назви оператора мови Паскаль, вивести його повний синтаксис. Наприклад, задана буква ‘i’, вивести – ‘if умова then дія1 else дія2;’.
  5.  За першою буквою з оператора мови Сі вивести, до якого типу обчислювального процесу він відноситься(розгалужений та циклічний).
  6.  За першою буквою з назви міста вивести країну. Перелік міст: Київ, Москва, Тула, Харків, Париж, Ліон, Генуя, Рівно, Норильськ, Венеція, Одеса.
  7.  За першою буквою з назви області України вивести в якій стороні світу відносно Києва вона знаходиться. Перелік областей: Львівська, Житомирська, Крим, Луганська, Донецька, Рівненська, Харківська, Одеська.
  8.  За введеним знаком арифметичної операції вивести її пріоритет.
  9.  За першою буквою з назви функції з бібліотеки math.h вивести її клас(степенева, логарифмічна, тригонометрична, визначення модуля).
  10.  За першою буквою з назви марки автомобіля вивести країну виробника.
  11.  За номером кольору в веселці вивести його назву.
  12.  ???
  13.  ???
  14.  
    Завдання: скласти програми мовами Паскаль та Сі для обробки натиснення клавіш на клавіатурі:
  •  вивести на екран кодів алфавітно-цифрових клавіш і перевірити, чи співпадають вони з кодами символів в таблиці ASCII –кодів.
  •  вивести на екран повідомлення ‘ESC’, ‘Enter’, ‘Прогалина’, ‘TAB’в залежності від натиснутої клавіші. Бажано, в програмі ввести константи для кодів відповідних клавіш: ESC=#27, ENTER=#13, SPACE=#32, TAB=#9.
  •  вивести на екран повідомлення “Простий код” або “Розширений код” та безпосередньо код в залежності від натиснутої клавіші.

Рекомендації до виконання роботи

В залежності від типу клавіатури на ній можуть бути розташовані 83/84, 101/102, 122 клавіші. Але принцип розташування та призначення основних клавіш на всіх типах клавіатури однакові.

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

Прямий скен-код клавіші розміром один байт і його значення співпадає з кодом відповідного символу в таблиці ASCII-кодів.

Розширений скен-код займає два байти: старший –нульовий, молодший –код клавіші.

старший байт

молодший байт

00

код клавіші

Алфавітно-цифрова група клавіш, клавіши Esc, Tab, BackSpace, Enter, пробіл(Space), клавіші правої цифрової групи (крім Del) повертають прямі скен-коди.

Функціональні клавіші та клавіші управління урсором повертають розширені скен-коди.

Зсувні клавіші Shift, Ctrl, Alt, клавіші CapsLock (фіксування режиму прописних букв) та Num Lock(фіксування режиму введення цифр), PrintScrn(друк екрану), ScrollLock(блокування прокрутки екрану), Pause/Break() не повертають кодів. Але якщо зсувні клавіші використовуються в комбінаціями з клавішами алфавітно-цифрової клавіатури, вони повертають розширений скен-код. Наприклад, якщо натиснути на клавіатурі кнопку з латинською буквою ‘a’, буде повернений код 97, при натисканні Shift+a буде повернений код 65 –це символ  ‘А’.

Esc 27

12 функціональних клавіш (розширений код)

Панель індикаторів

Back spase 8

NL

Tab

9

Алфавітно-цифрові клавіші

Клавіші управління

(розширений код)

Права цифрова група клавіш

Caps

Lock Ø

Enter 13

Shift Ø

Shift

Ctrl Ø

Alt Ø

SPACE (“Any key”)

32

Alt Ø

Ctrl Ø

Del

Рис. ?? Загальна схема розташування клавіш

Клавіши управління курсором

(розширений код)

Права цифрова група клавіш

(прямий код)

Print Scrn

Scroll Lock

Pause Break

Num Lock

/

*

Ø

Ø

Ø

Ø

Insert

Home

PgUp

Home

PgUp

+

82

Delete

End

PgDn

83

End

PgDn

Enter

Ins

Del

75

:83

Рис. ??. Розташування та коди клавіш управління курсором та правих цифрових.



#include <stdio.h>

#include <conio.h>

main()

{

int c;

clrscr();

do

{

printf("Натисніть клавішу\n");

c=getch();

if (c==0)

{

c=getch();

printf("Розширений код >>>%d", c);

}

else

printf("Код клавіші >>>%d\n", c);

printf("\n <ESC> для виходу або будь-яку клавішу для продовження \n");

}

while (getch() != 27);

}

  1.  
    Завдання: скласти програми мовами Паскаль та Сі для перевірки, чи належить точка з координатами (х, у) до заданої області(див. варіанти завдань).

Рекомендації до виконання роботи.

В математичній постановці задачі необхідно визначити:

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

Для прямої рівняння визначається за формулою:

,

де x, y, x, y –координати двох точок, що належать прямій.

Для кола:

де xс, yс –координати центра, R –радіус.

  1.  Скласти логічний вираз істинний, коли точка з координатами (х,у) належить заданій області.

Приклад виконання роботи

В якості приклада буде розглянуто математичну постановку задачі(МПЗ) для двох варіантів областей, що задані на рис 1. та рис.2. Інші пункти прикладу виконання роботи будуть продовжувати МПЗ для рис. 1.

  1.  Математична постановка задачі.

Приклад 1(рис. 1)

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

  1.  Рівняння кола буде:

  1.  Рівняння прямої буде:

Після перетворень отримуємо: .

  1.  Отже, для того щоби точка з координатами (х, у) потрапила в задану область, вона повинна, по-перше бути всередині кола, тобто її координати повинні задовольняти умові:

По-друге, для того щоби потрапити в задану область точка повинна бути нижче прямої, отже, її координати повинні задовольняти умові:

  1.    Враховуючи те, що наведені умови повинні виконуватися одночасно, для побудови загального логічного виразу їх необхідно об’єднати логічним “І”( математична операція –кон’юнкція ).    

  

Приклад 2(рис. 2)

Задана на рис. 2 область обмежена трьома прямими, які описуються рівняннями:

y=2, y=0, x=4,

та півколом з координатами центру (2,2) і радіусом 2.

Рівняння кола буде:

Точка з координатами (х, у) буде належати заданій області, якщо вона потрапляє в коло, тобто виконується умова:

,

або до прямокутника, для якого виконуються умови:

x2  x4  y0  y4.

Ці чотири умови об’єднані кон’юнкцією (логічне “І”) тому, що кожна з них повинна виконуватися для того, щоби точка за координатами (х, у) потрапляла всередину прямокутника.

Отже, точка належить області заданій на рис. 2, якщо вона потрапляє АБО до кола, АБО до прямокутника. Ці дві умови можна об’єднати в один логічний вираз операцією диз’юнкції  (логічне “АБО”):

(x2  x4  y0  y4).

Вхідні дані

Дії

Вихідні дані

x, y –координати точки дійсного типу.

Якщо виконується

 ,

тоді вивести на екран

Належить

інакше вивести на екран

Не належить

  1.  Тестовий приклад.

Для перевірки правильності МПЗ та складеної програми розглянемо таки випадки:

Умова виконується.

  •  x=3, y=1;
  •  x=3, y=4;
  •  x=4, y=2.

Умова  не виконується.

  •  x=4.5; y=3;
  •  x= 1, y=1;
  •  x=6, y=5.
  1.  Аналіз результатів роботи програми.

Вхідні дані

Розрахунок вихідних даних

вручну

Паскаль

Сі

x=3, y=1

Належить

Належить

Належить

x=3, y=4

Належить

Належить

Належить

x=4, y=2

Належить

Належить

Належить

x=4.5; y=3

Не належить

Не належить

Не належить

x= 1, y=1

Не належить

Не належить

Не належить

x=6, y=5

Не належить

Не належить

Не належить

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

  1.  Опис програмного інтерфейсу з користувачем.

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

На екран виводиться повідомлення ”належить” чи “не належить” в залежності від результатів перевірки.

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

“Для виходу з програми нажміть  ESC”.

Для продовження роботи програми необхідно натиснути будь-яку клавішу на клавіатурі, для виходу з програми –<ESC>.

  1.  Текст програм мовами Паскаль та Сі.

#include <stdio.h>

Uses Crt;

#include <conio.h>

#include <math.h>

Var   

main()

    x, y : real;     

{

float x, y;

begin

do

repeat

{

  ClrScr;

clrscr();

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

printf("Введіть координати (x, у): ");

    ReadLn(x, y);

scanf("%f%f", &x, &y);

if (sqr(x-3)+sqr(y-4)<=4) and (y<=7-x)

 then WriteLn(‘Належить’)

if (pow(x-3, 2)+pow(y-4, 2)<= 4 && x<=5) 

printf(“Належить\n”);

    else WriteLn(‘Не належить’);

else printf(“Не належить\n”);

WriteLn(‘Для виходу нажміть ESC’)

printf("Для виходу нажміть ESC");

until readkey=#27;

}

while (getch() != 27);

End.  

}


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

2 - варіант завдання обирається студентом відповідно до його номеру в списку академгрупи.

27

 




1. КОНТРОЛЬНАЯ РАБОТА по статистике- Статистический анализ финансовой деятельности ОАО Сбербанк России
2. магістр фінансового факультету Спеціальність Фінанси і кредит
3. от звонка до звонка
4. Менеджмент с 02
5. Тема- Розробка програм з використанням перевизначення та перевантаження методів
6. Лабораторная работа 12
7. 4 Перелік обов~язкового складу документів відповідальність за формування та зберігання яких несуть-
8. Возникновение телеграфа
9. Политическое развитие и модернизация
10. Отчет по практике Автор Колосова Н
11. Роль образу Мерліна в роботах Томаса Мелорі
12. А Клиент взял в банке кредит рублей на год под
13. Институт семьи. Прошлое и будущее.html
14. Лекция Приспособление и компенсация
15. . Красивая обложка обрадовался Николаич глядя в монитор
16. Белгородский государственный национальный исследовательский университет АЛЕКСЕЕВСКИЙ ФИЛИАЛ
17. на тему- Задачи и организация коммерческой деятельности Руководитель -
18. на тему- Государство и личность студента II курса дневного отделения группы А бюджет К
19. Организация эксплуатации электрохозяйства предприятия
20. вариант Часть А 2 2 1 4 3 4 5