Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Общий отчет - Назаренко (26-а).docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.01 Mб
Скачать

Вариант №13

Завдання 1

Лінійний обчислювальний процес.

Скласти алгоритм та написати програму розрахунку за функціями при різних значеннях аргументу.

Обчислити R=x3(x+1)/b2 – sin2(x(x+a));

S= де a=0,7; b=0,05; x=0,5.

Завдання 2

Циклічні програми з розгалуженням.

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

де

Завдання 3

Одновимірні масиви (з використанням динамічних масивів та покажчиків).

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

а) Кількість елементів масиву, лежачих в діапазоні від А до В.

б) Суму елементів масиву, розташованих після максимального елементу.

в) Упорядкувати елементи масиву за спаданням модулів.

Завдання 4

Двовимірні масиви з підпрограмами.

Використовуючи підпрограми скласти алгоритм та програму обробки двовимірного масиву:

Складіть програму пошуку мінімального елемента, розташованого під головною діагоналлю, і максимального елемента, розташованого над головною діагоналлю заданої речовій матриці А (nxn).

Завдання 5

Обробка символьних рядків.

Надрукувати слова, які складаються з перших та останніх літер (але не цифр) усіх слів тексту.

Завдання 6

Обробка типізованих файлів.

Файл Студент

Структура запису:

• ПІБ (40 знаків);

• номер курсу (1 знак);

• номер групи (3 знаки);

• успішність - 5 іспитів у кожній з 10 сесій;

• форма навчання (цільова, договірна) (1 знак);

• іспит:

- Найменування предмета (10 знаків);

- Оцінка (1 знак).

Записи впорядковані за номером курсу, всередині курсу - за номером групи, в групі по ПІБ.

Файл Телефонний довідник

Структура запису:

• ПІБ (40 знаків);

• адресу:

- Вулиця (20 знаків);

- Номер будинку (4 знаки);

- Квартира (3 знаки);

• номер телефону (6 знаків).

Записи впорядковані за ПІБ.

Файл Каталог файлів

Структура запису:

• ім'я файла (8 знаків);

• специфікація (3 знаки);

• дата створення:

- День (2 знака);

- Місяць (2 знака);

- Рік (2 знака);

• кількість блоків (4 знаки);

Записи впорядковані за іменами файлів.

Файл Каталог книг

Структура запису:

• автор (40 знаків);

• назву (80 знаків);

• рік видання (4 знаки);

• жанр (20 знаків).

Записи впорядковані за прізвищем авторів.

Створіть файл Студент. Занесіть в окремі файли записи про студентів різних форм навчання.

Завдання 7

Простір імен (пойменовані області).

Описати структуру з ім'ям NOTE, що містить такі поля:

- Прізвище, ім'я;

- Номер телефону;

- Дата народження (масив із трьох чисел).

Написати програму, що виконує наступні дії:

- Введення з клавіатури даних в масив, що складається з восьми елементів типу NOTE; записи повинні бути розміщені за алфавітом;

- Вивід на екран інформації про людей, чиї дні народження припадають на місяць, значення якого введено з клавіатури;

- Якщо таких немає, видати на дисплей відповідне повідомлення.

Завдання 8

Побудова графіку функції.

[0, π]

0.1

Завдання 9

Створення графічного зображення.

Завдання 10

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

Переробити варіант 4 для кола, вписаного в прямокутник.

(Переміщати коло по вертикалі з заданим кроком і затримкою в одну секунду.)

Завдання №1

Листинг программы:

#include "stdafx.h"

#include <math.h>

#include <conio.h>

#include <locale.h>

#include <iostream>

int main()

{

setlocale(LC_ALL,"Russian");

using namespace std;

const double a=0.7, b=0.05,x=0.5;;

double r, s;

cout<<"A="<<a;

cout<<"\nB="<<b;

cout<<"\nX="<<x;

r=(pow(x,3))*((x+1)/(pow(b,2)))-(pow(sin(x*(x+a)),2));

s=(sqrt((x*b)/a))+(pow(cos(pow(x+b,3)),2));

cout<<"\n\nРадиус="<<r;

cout<<"\nПлощадь="<<s;

getch();

return 0;

}

Блок схема:

Начало

Конец

Вывод r, s

Расчет радиуса и площади: r, s

Вывод переменных a,b,x

Результат работы программы:

Завдання №2

Листинг программы:

#include "stdafx.h"

#include <math.h>

#include <conio.h>

#include <stdio.h>

int main()

{

float z,x,y;

const float a=1.7,b=2.3,hx=0.9,hy=1;

x=-1;

y=-2;

printf(" _________________________\n| X | Y | Z | X*Y |\n _________________________\n");

while ((x>=-1) && (x<=1))

{

if ((x*y)>0) z=log(sqrt(a*pow(x,2)+b*pow(y,3)));

else z=(pow(a,x)+pow(b,y));

printf("|%5.2f|%5.2f|%5.2f|%5.2f |\n",x,y,z,x*y);

x+=hx;

y+=hy;

}

printf(" _________________________\n");

getch();

return 0;

}

Блок схема:

Начало

Вывод шапки таблицы

X>=-1;

X<=1;

Ложь

Истина

X*Y>0

Истина

Конец

Вывод “footer’a” таблицы

x+=hx;

y+=hy;

Вывод x,y,z,x*y

z=log(sqrt(a*pow(x,2)+b*pow(y,3)))

z=log(sqrt(a*pow(x,2)+b*pow(y,3)))

Результат работы программы:

Завдання №3

Листинг программы:

#include "stdafx.h"

#include <iostream>

#include <conio.h>

#include <locale.h>

using namespace std;

void get(int massiv[], int elements)

{

setlocale(LC_ALL,"Russian");

int z;

for (z=0;z<elements;z++)

{

cout<<"Введите значение "<<z<<":";

cin>>massiv[z];

}

}

void show (int massiv[], int elements)

{

setlocale(LC_ALL,"Russian");

int i;

cout<<"Елементы массива:"<<endl;

for(i=0;i<elements;i++) cout<<"| "<<massiv[i]<<" |";

cout<<endl;

}

void max (int massiv[], int elements)

{

setlocale(LC_ALL,"Russian");

int max=massiv[0];

int m,mx;

for (m=0;m<elements;m++)

{

if (max<massiv[m]) max=massiv[m] , mx=m+1;

}

cout<<"Максимальное значение элемента:"<<max<<endl;

cout<<"Порядковый номер элемента: "<<mx<<endl;

}

void summ(int massiv[], int elements)

{

setlocale(LC_ALL,"Russian");

int o,j,s;

cout<<"Введите порядковый номер элемента с которого начинать считать сумму: ";

cin>>j;

j-=1;

s=0;

for(o=j;o<elements;o++)

{

s+=massiv[o];

}

cout<<"Сумма элементов = "<<s;

}

void sort(int massiv[],int elements)

{

setlocale(LC_ALL,"Russian") ;

int v,w,zero,times=0;

for(w=0;w<elements;w++)

{

for(v=0;v<elements;v++)

{

if(massiv[v]<massiv[v+1])

{

zero=massiv[v];

massiv[v]=massiv[v+1];

massiv[v+1]=zero;

times=times+1;

}

}

}

cout<<"Упорядоченный массив:";

for(w=0;w<elements;w++)

{

cout<<"| "<<massiv[w]<<" |";

}

}

void main(void)

{

setlocale(LC_ALL,"Russian");

int little[10];

int a,k,j,i;

cout<<"Введите кол-во редактируемых элементов массива, не более 10: ";

cin>>k;

cout<<endl;

if ((k<0) && (k>10))

{

cout<<"Вы ввели неверное кол-во элементов массива, пожалуйста попробуйте еще раз"<<endl;

getch();

}

else if ((k>=0) && (k<=10))

{

get(little,k);

cout<<endl;

cout<<"Введите кол-во отображаемых элементов массива"<<endl<<"Всего элементов: "<<k<<endl<<"Показать: ";

cin>>a;

if ((a>=0) && (a<=k))

{

cout<<endl;

show (little, a);

cout<<endl;

max (little, a);

cout<<endl;

summ (little, a);

cout<<endl;

sort (little, a);

getch();

}

else

{

cout<<"Вы ввели неверное кол-во элементов массива, пожалуйста попробуйте еще раз"<<endl;

getch();

}

}

}

Блок схема:

Ложь

Ложь

Истина

Истина

Конец

Вывод сообщения о том что введено неверное число

Вызов процедуры

вывода массива, нахождения

максимально элемента и

сортировки массива

a>=0 a<=k

Ввод отображаемых элементов массива : a

Вызов процедуры

заполнения массива

с клавиатуры

If k>=0

K <=10

Ввод кол-ва элементов массива : k

Начало

Результат работы программы: