Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Задание ООП.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
201.76 Кб
Скачать

Задание № 1. Программа вычисляет (loga(2b) + logb(a))/( log3(a) + log3(ab)) используя #define

Текст программы

#include <iostream.h>

#include <conio.h>

#include <math.h>

#define logar(x1,a1) log(x1)/log(a1)

main()

{ int a,b;

double y;

cout <<"\n Прогр.вычисляет ( loga(2b) + logb(a))/( log3(a) + log3(ab)) ";

cout <<"\n Введите a -> ";

cin >> a;

cout <<"\n Введите b -> ";

cin >> b;

y = (logar(2*b,a)+logar(a,b))/(logar(a,3)+logar(a*b,3));

cout <<"\n Результат y = " << y ;

getch(); // задержка до нажатия какой-либо клавиши

return 0; }

З адание № 2. Программа содержит оператор for, для расчета значения функции P Программа вычисляет P по формуле:  

Текст программы:

#include <iostream.h>

#include <conio.h>

#include <math.h>

main()

{ int N,i,m,k;

double P=1, m2k;

cout <<"\n Введите N - целое \t";

cin >> N;

cout <<"\n Введите m - целое \t";

cin >> m;

cout <<"\n Введите k - целое \t";

cin >> k;

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

{

m2k = 2*m + k;

P *= sin(i/m2k);

}

cout <<"\n Результат P=" << P;

getch(); // задержка до нажатия какой-либо клавиши

return 0; }

Задание №3. Программа содержит оператор while, вычисляет сумму чисел, которые кратны 5 - в диапазоне от а до b

Текст программы:

#include <iostream.h>

#include <conio.h>

#include <math.h>

main()

{ int a,b,x,sum;

cout <<"\n Составьте программу, которая содержит оператор while,";

cout <<"\n для расчета суммы чисел в диапазоне от а до b, которые кратны 5";

a = 1;

cout <<"\n Введите a - целое -> \t";

cin >> a;

cout <<"\n Введите b>a - целое -> \t";

cin >> b;

if (b < a)

{

cout <<"\n b должно быть > a ";

getch(); // задержка до нажатия какой-либо клавиши

return 0;

}

while ((a % 5) != 0) a++; // начальное значение для суммирования

sum = 0;

while (a <= b)

{

sum += a;

a += 5;

}

cout <<"\n Результат sum = " << sum;

getch(); // задержка до нажатия какой-либо клавиши

return 0; }

Задание № 4. Составить программу, в которой организовать ввод строки текста, подсчитать количество слов в тексте, длину каждого слова и количество букв "а" в тексте.

Текст программы:

#include <iostream.h>

#include <string.h>

#include <stdio.h>

#include <conio.h>

void main()

{

char text[80]; // Строка текста

char *slovo, *razd=" .,";

// Слово, символы, которые отделяют одно слово от другого

int ks=0, dl; //Количество слов, длина слова

int ka=0, i,jj; //Количество букв "а", счетчик

cout<<"\nВведите строку текста: ";

gets (text);

slovo = strtok (text,razd); // Выделение первого слова

while (slovo) // Пока слово не пустое

{

if (slovo)

{

ks++; // Количество слов увеличивается на 1

dl = strlen(slovo); // Определям длину слова

cout <<"\n" << slovo <<" - длина = "<< dl;

for ( i=0; i < dl; i++)

if ( slovo[i]=='a' ) ka++;

/* Сравним каждую букву слова с буквой а, при

необходимости увеличим счетчик на 1 */

slovo=strtok(NULL,razd); // Выделение очередного слова

}

}

cout <<"\n\tКоличество слов в тексте "<< ks <<

"\n\tКоличество букв а в тексте " << ka;

cout <<" для выхода - жми клавишу \n";

getch();

}

Задание № 5. Составить программу, в которой описывается структура

Составить программу, в которой описывается структура из полей:

Задание,

Фамилия,

Год рождения,

Оценка 1,

Оценка 2

Организуйте ввод двух структурных переменных,

вывод каждой структуры на экран и расчет минимальной оценки

для каждого человека

Текст программы:

#include <iostream.h>

#include <string.h>

#include <stdio.h>

#include <conio.h>

// Описание структуры

struct man

{ char fam[15];

int god, oz1, oz2;

};

/* Функция для ввода структуры, m1 - адрес структуры.

Поэтому обращение к полям структуры происходит через оператор -> */

void vvod (man *m1)

{

cout <<"\n фамилия -> ";

gets(m1->fam);

cout <<"\n год рождения -> ";

cin >> m1->god;

cout<<"\n первая оценка -> ";

cin >> m1->oz1;

cout<<"\n вторая оценка -> ";

cin >> m1->oz2;

}

// функция вывода структуры, m - имя структуры

void vivod (man m)

{

cout <<"\n\nФамилия\t" << m.fam;

cout <<"\nгод рождения\t" << m.god;

cout <<"\nПервая оценка\t" << m.oz1;

cout <<"\nВторая оценка\t" << m.oz2;

}

void main()

{

man c1,c2; // Опишем две структуры

int min1, min2; // Минимальные оценки

cout << "\nВведите данные о первом человеке";

vvod(&c1);

// Ввод первой структуры, в функцию vvod передается адрес структуры c1

cout << "\nВведите данные о втором человеке";

vvod(&c2);

// Ввод второй структуры, в функцию vvod передается адрес структуры c2

/* Рассчитаем минимальную оценку первого человека */

if (c1.oz1 < c1.oz2) min1=c1.oz1;

else min1=c1.oz2;

/* Рассчитаем минимальную оценку второго человека */

if (c2.oz1 < c2.oz2) min2=c2.oz1;

else min2=c2.oz2;

cout << "\n Минимальная оценка первого человека "<< min1;

cout << "\n Минимальная оценка второго человека "<< min2;

vivod(c1);

vivod(c2);

cout <<"\n для выхода - жми клавишу \n";

getch();

}