- •1. Скласти програму з використанням умовного оператора.
- •Var k: integer;
- •Var Amin,Amax,X,y,z,s:real;
- •Var a1,b1:real;
- •Var X,y,z:real;
- •2. Скласти програму з використанням оператора циклу.
- •Var z,I,n: integer;
- •Var I: integer;
- •Var I,n: integer;
- •Var I: integer;
- •Var X,a1,a2,a3,a4,a5: real;
- •Var ae,ab,ac,bc,cd,de,ad: real;
- •Var c,z,p,I,k,n,h,d,m,a,b:integer;
- •Var a:array[1..N] of real;
- •X:real;
- •I:integer;
- •Var a:array[1..N] of integer;
- •Var a:array[1..N] of real;
- •X,z:real;
- •I:integer;
- •Var a:array[1..N] of real;
- •X:real;
- •I:integer;
- •Var a:array[1..N,1..M] of real;
- •X:real;
- •I,j:integer;
- •Var a:array[1..N,1..M] of real;
- •I,j:integer;
- •Var a:array[1..N,1..M] of real;
- •I,j:integer;
- •Var a:array[1..N,1..M] of real;
- •I,j:integer;
- •Var X,z: integer;
- •Var X,z: integer;
- •Var X,z: integer;
Var X,z: integer;
f: text;
s,t:string;
Begin
ClrScr;
Assign (f,'c:\text.txt');
writeln ('Vvedite chisla cherez probel');
readln(s);
Rewrite(f);
write(f,s);
close(f);
reset(f);
z:=0;
repeat
read(f,x);
if sqrt(x) mod 2=1 then z:=z+1;
until EOF(f);
close(f);
write('Kolichestvo kvadratov neparnix chisel: ',z);
Readkey;
end.
Дано текстовий файл f компоненти якого є цілими числами. Написати програму, яка визначає кількість подвоєних непарних чисел серед компонент файлу.
Program rabota8c;
Uses Crt;
Var X,z: integer;
f: text;
s:string;
Begin
ClrScr;
Assign (f,'c:\text.txt');
writeln ('Vvedite chisla cherez probel');
readln(s);
Rewrite(f);
write(f,s);
close(f);
reset(f);
z:=0;
repeat
read(f,x);
If x/2=x div 2 Then
if (x div 2) mod 2=1 then z:=z+1;
until EOF(f);
close(f);
write('Kolichestvo ydvoenix neparnix chisel: ',z);
Readkey;
end.
Дано текстовий файл f компоненти якого є цілими числами. Написати програму, яка визначає добуток компонент, значення яких кратне 3-м.
Program rabota8d;
Uses Crt;
Var X,z: integer;
f: text;
s:string;
Begin
ClrScr;
Assign (f,'c:\text.txt');
writeln ('Vvedite chisla cherez probel');
readln(s);
Rewrite(f);
write(f,s);
close(f);
reset(f);
z:=1;
repeat
read(f,x);
if x mod 3=0 then z:=z*x;
until EOF(f);
close(f);
write('Proizvedenie chisel kratnix 3: ',z);
Readkey;
end.
ІХ. Скласти о програму ООП
DotVec.cpp
#include "DotVec.h"
void Print ( const Dot & D )
{
char S [ ] ="Координаты точки ";
CharToOem ( S , S ) ;
cout<<S<<D.name<<" :";
cout<<"\tx = "<<D.x<<"\ty = "<<D.y<<'\n' ;
}
void Input ( Dot & D )
{
char S[ ] ="Введите координаты точки ";
CharToOem ( S , S ) ;
cout<<S<<D.name<<'\n' ;
cout <<"\tx="; cin >>D.x ;
cout <<"\ty="; cin >>D.y ;
}
double Dist ( const Dot & A , const Dot & B )
{
double X = A.x - B.x ;
double Y = A.y - B.y ;
return sqrt(X*X + Y*Y);
}
double Area ( const Dot & A , const Dot & B , const Dot & C )
{
double a = Dist ( C , B ) ;
double b = Dist ( C , A ) ;
double c = Dist ( A , B ) ;
double p = ( a+b+c ) / 2.0 ;
return sqrt ( p*( p - a )*( p - b )*(p - c)) ;
}
double Angle ( const Dot & A , const Dot & B , const Dot & C )
{
const double pi = 4*atan ( 1.0 ) ;
Vec BA ("BA") , BC ("BC") ;
Vector ( B , A , BA ) ; Vector ( B , C , BC ) ;
return acos ( Scalar ( BA , BC ) / ( Modul ( BA ) * Modul ( BC )))*180 / pi ;
}
void Print ( const Vec & V )
{
char S [ ] ="Проекции вектора ";
CharToOem ( S , S ) ;
cout<<S<<V.name<<" :" ;
cout<<"\tx = "<<V.x<<"\ty = "<<V.y<<'\n';
}
double Modul ( const Vec & V )
{
return sqrt ( V.x * V.x + V.y * V.y ) ;
}
double Scalar (const Vec &V, const Vec &W)
{
return ( V.x * W.x + V.y * W.y ) ;
}
void Rotate ( const Vec & V ,
double f ,
Vec & W )
{
const double pi = 4 * atan ( 1.0 ) ;
f *= pi / 180.0 ;
W.x = V.x * cos ( f ) - V.y * sin ( f ) ;
W.y = V.x * sin ( f ) + V.y * cos ( f ) ;
}
void Vector ( const Dot & N ,
const Dot & K ,
Vec & V )
{
V.x = K.x - N.x ;
V.y = K.y - N.y ;
}
void EndVec ( const Dot & N ,
const Vec & V ,
Dot & K )
{
K.x = N.x + V.x ;
K.y = N.y + V.y ;
}
DotVec.h
#include<iostream.h>
#include<windows.h>
#include <math.h>
class Vec ;
class Dot
{
double x , y ;
char name ;
public:
Dot (char Name) : name (Name) , x ( 0 ) , y ( 0 ) { }
Dot ( char Name , double X , double Y ) { name = Name ; x = X ; y = Y ; }
void Print () ;
void Input ();
double Dist ( Dot & A) ;
double Area ( const Dot & A , const Dot & B , const Dot & C ) ;
friend void Vector ( const Dot & N , const Dot & K , Vec & V ) ;
friend void EndVec ( const Dot & N , const Vec & V , Dot & K ) ;
} ;
class Vec
{
double x , y ;
char name [ 3 ] ;
public:
Vec ( char* pName ) : x ( 0 ) , y ( 0 ) { strncpy ( name , pName , 3 ) ; }
Vec ( char* pName , double X , double Y ) : x (X) , y (Y) {strncpy (name, pName, 3 );}
friend void Print (const Vec &V ) ;
friend double Modul ( const Vec & V ) ;
friend double Scalar ( const Vec & V , const Vec & W ) ;
friend void Rotate ( const Vec & V , double f , Vec & W ) ;
friend void Vector ( const Dot & N , const Dot & K , Vec & V ) ;
friend void EndVec ( const Dot & N , const Vec & V , Dot & K ) ;
} ;
Main.cpp
#include "DotVec.h"
bool Repeat ( ) ;
void Title ( ) ;
int main ( )
{
Title ( ) ;
do
{
Dot A ('A',2 ,0) , B ('B', 4, 0) ;
Dot C ( 'C' ) ;
Vec AB ( "AB" ) , AC ( "AC" ) ;
Input ( A ) ; Input ( B ) ;
Vector ( A , B , AB ) ;
Print ( AB ) ;
Rotate ( AB , 60 , AC ) ;
Print ( AC ) ;
EndVec ( A , AC , C ) ;
Print ( C ) ;
double S = Area (A , B , C ) ;
cout<<"Sabc = "<<S<< '\n' ;
char str [ 30 ] ;
const char g = ( char ) 248 ;
CharToOem ( "Углы треугольника :", str ) ;
cout << str << "\tBAC = " << Angle ( B , A , C ) << g
<< "\tCBA = " << Angle ( C , B , A ) << g
<< "\tACB = " << Angle ( A , C , B ) << g << '\n' ;
CharToOem ( "Стороны треугольника:", str ) ;
cout << str << "\tAB = " << Dist ( A , B )
<< "\t\tAC = " << Dist ( A , C )
<< "\t\tBC = " << Dist ( B , C ) << '\n' ; }
while ( Repeat ( )) ;
}
bool Repeat ( )
{
char S [ ] = "Продолжить ? (Y/N) " ;
CharToOem ( S , S ) ;
cout << S ;
char C ;
cin >> C ;
if ( C == 'Y' || C == 'y' )return true ;
else return false ;
}
void Title ( )
{
char S [ ] = "\t\tПрограмма вычисляет координаты третьей вершины и площадь"
"\t\t\t\tправильного треугольника\n"
"\t\tПрограмма составлена студентом группы 3351 Незнайкой О.К.\n ";
CharToOem ( S , S ) ;
cout << S ;
}