- •Фгб оу впо «московский государственный университет
- •Файлы последовательного доступа
- •Файлы произвольного доступа
- •Операции над файлами
- •Задача 1.1
- •Задача 1.2
- •Задача 1.3.
- •Задача 2.1.
- •Задача 2.2.
- •Задача 2.3.
- •Задача 3.1.
- •Задача 3.2.
- •Задача 3.3.
- •Задача 3.4.
- •Задача 3.5
- •Задача 4.1
- •Задача 4.2
- •Задача 4.3
- •Задача 4.4
- •Задача 5.1
- •Задача 5.2
- •Задача 5.3
- •Задача 5.5
- •Задача 6.1
- •Задача 6.2
- •Задача 6.3
- •Задача 6.4
- •Задача 7.1
- •Задача 7.3
- •Задача 7.4
- •Задача 8.1
Задача 6.4
Дана строка-предложение. Зашифровать её, поместив вначале все символы, расположенные на чётных местах, а затем, в обратном порядке, все символы, расположенные на нечётных местах (например, строка «Программа» превратится в «ргамамроП»).
начало
Блок-схема.
cin.getline(str,20)
Q, I, j=0, k=0
i=0; i<=strlen(str); i=i+2
+ -
S[j]=str[i]; j++;
i=0; i<=strlen(str); i=i+2
+ -
S1[l]=str[i]; j++;
Зашифрованный вариант:
конец
Программный код.
#include "iostream"
#include <string>
using namespace std;
void main()
{
setlocale (LC_ALL, "Russian");
char str[50];//Ввод элементов строки
cin.getline(str,20);
char S[25]="";
char S1[25]="";
char F[25]="";
int Q,i,j=0,l=0,k=0;
for(i=0;i<=strlen(str);i=i+2)//Нахождение кол-ва элементов
{S[j]=str[i];j++;}
for(i=1;i<=strlen(str);i=i+2)
{S1[l]=str[i];l++;}
strrev(S);
strcat(S1,S);
cout<<"Зашифрованный вариант: "<<S1<<endl;
}
Скриншот.
Задача 7.1
Описать функцию Max2(A,B) вещественного типа, находящую максимальное из двух вещественных чиселAиB. С помощью этой функции найти максимальное из пар чиселAиB,AиC,AиD, если даны числаA,B,C,D.
начало
Блок-схема.
x, y
Max2(x, y)
конец
Вход в программу
Max2(x,y)
A, B, C, D, H, J, N, x, y, z
N=Max2(A, B)
x=A+B
N=Max2(A, C)
y=A+C
1
2
32
1
N=Max2(A, D)
2
32
z=A+D
x>y && x>z
+ -
x
y>x && y>z
+ -
y
x>y && x>z
+ -
z
конец
Программный код.
#include "iostream"
using namespace std;
float Max2(float x, float y)
{if(x>y) return x;
else return y;}
void main()
{
setlocale (LC_ALL, "Russian");
float A,B,C,D,H,J,N,x,y,z;
cout<<"Ввести A,B:";
cin>>A>>B;;
N=Max2(A,B);//Функция, по нахождению максимального числа
cout<<"Max2(A,B) = "<<N<<endl;
x=A+B;
cout<<"x = "<<A+B<<endl;
cout<<"Ввести A,C:";
cin>>A>>C;
H=Max2(A,C);//Функция, по нахождению максимального числа
cout<<"Max2(A,C) = "<<H<<endl;
y=A+C;
cout<<"y="<<A+C<<endl;
cout<<"Ввести A,D:";
cin>>A>>D;
J=Max2(A,D);//Функция, по нахождению максимального числа
cout<<"Max2(A,D) = "<<J<<endl;
z=A+D;
cout<<"z="<<A+D<<endl;
{if(x>y && x>z) cout<<x;}//Нахождение максимальной, из пар чисел
{if(y>x && y>z) cout<<y;}//Нахождение максимальной, из пар чисел
{if(z>x && z>y) cout<<z;}//Нахождение максимальной, из пар чисел
}
Скриншот.
Задача 7.2
Даны координаты вершин многоугольника (x1,y1,x2,y2,…x10,y10). Напишите программу для вычисления его периметра (вычисление расстояния между вершинами оформить подпрограммой).
начало
Блок-схема.
A, B
Max (A, B)
конец
Вход в программу
Max(A,B)
x1, y1…x2, y2
A, B, N, K, R, C, L, D, G, T, S, O, W, E
Программный код.
#include "iostream"
using namespace std;
float Max(float A, float B)
{if(A>B) return A;
else return B;}
void main()
{
setlocale (LC_ALL, "Russian");
float x1,y1,x2,y2,x3,y3,x4,y4,x5,y5,x6,y6,x7,y7,x8,y8,x9,y9,x10,y10;
float A,B,N,K,R,C,L,D,G,T,S,O,W,E;
float Perimetr;
cout<<"Ввести x1,y1:";
cin>>x1>>y1;
N=Max(x1,y1);
A=x1-y1;
cout<<"A = "<<x1-y1<<endl;
cout<<"Ввести x2,y2:";
cin>>x2>>y2;
K=Max(x2,y2);
B=x2-y2;
cout<<"B = "<<x2-y2<<endl;
cout<<"Ввести x3,y3:";
cin>>x3>>y3;
R=Max(x3,y3);
C=x3-y3;
cout<<"C = "<<x3-y3<<endl;
cout<<"Ввести x4,y4:";
cin>>x4>>y4;
L=Max(x4,y4);
D=x4-y4;
cout<<"D = "<<x4-y4<<endl;
cout<<"Ввести x5,y5:";
cin>>x5>>y5;
G=Max(x5,y5);
G=x5-y5;
cout<<"G = "<<x5-y5<<endl;
cout<<"Ввести x6,y6:";
cin>>x6>>y6;
T=Max(x6,y6);
T=x6-y6;
cout<<"T = "<<x6-y6<<endl;
cout<<"Ввести x7,y7:";
cin>>x7>>y7;
S=Max(x7,y7);
S=x7-y7;
cout<<"S = "<<x7-y7<<endl;
cout<<"Ввести x8,y8:";
cin>>x8>>y8;
O=Max(x8,y8);
O=x8-y8;
cout<<"O = "<<x8-y8<<endl;
cout<<"Ввести x9,y9:";
cin>>x9>>y9;
W=Max(x9,y9);
W=x9-y9;
cout<<"W = "<<x9-y9<<endl;
cout<<"Ввести x10,y10:";
cin>>x10>>y10;
E=Max(x10,y10);
E=x10-y10;
cout<<"E = "<<x10-y10<<endl;
Perimetr=(A+B+C+D+G+T+S+O+W+E);
cout<<"Perimetr="<<A+B+C+D+G+T+S+O+W+E<<endl;
}
Скриншот.