На сортировку / 2 / 1 курс / 3.Информатика / Информатика / инфрматика 1 / программу на С++
.doc
Задача 1
Составить программу для вычисления значения выражения P=;
Р1 – первое слагаемое, Р2 – второе слагаемое; У=Р1-Р2ж
Указания:
Каждая программа начинается с оператора #include
Ввод данных х и у - ДЛЯ ВВОДА ДАННЫХ СЛЕДУЕТ ВКЛЮЧИТЬ ЗАГОЛОВОЧНЫЙ ФАЙЛ для ввода и вывода данных - <iostream.h>
В формуле содержатся математические функции – квадрат числа, корень квадратный, cos. Следовательно, необходимо включить заголовочный файл для использования математических функций - <math.h>
Программа состоит из единственной основной функции – void main(void);
Начало программы – {
Данные х,у.Р1,Р2 - переменные типа вещественный – float, описываются внутри программы.
#include<iostream.h> //(;) точка с запятой не ставится; ввод и вывод
#include <math.h> // для ввода матем.формул
void main(void) //основная функция
{ //начало программы
float x,y, Р,Р1,Р2; //описание переменных
сout<<”enter x,y”<<endl; //вывод на печать enter x,y
cin>>x>>y; //ввод данных х и у
Р1=x*sin(x)/pow(2*x-y,2); // первое слагаемое, операция присвоения
P2=sqrt(abs(2*x-y))/(3*y*cos(y)); //второе слагаемое
P=P1-P2;
Cout<<”result P=”<<p<<endl; //вывод результата
}
Для управления форматом ввода чисел можно использовать модификаторы и манипуляторы, которые активизируются при включении заголовочного файла <iomanip.h>
Условные операторы
pascal |
C++ |
|
If <условие> then <оператор_1> else <оператор_2> |
If (<условие >) <оператор_1> else < оператор_2> |
|
|
Условие заключается в скобки, отсутствует слово then |
|
pascal |
C++ |
|
Оператор выбора |
|
|
I:=выражение; Case I of 1:оператор 1: 2:оператор 2; 3:оператор 3; else оператор 4 end;
|
I=выражение; Switch ( i) { case1: оператор 1; break; case2: оператор 2; break; case3: оператор 3; break; default: оператор 4; break; } |
|
|
Оператор break, расположенный в каждой ветви оператора варианта, предписывает завершить выполнение текущего оператора и передать управление следующему оператору программы |
|
|
Если совпадение не обнаружено, выполняется оператор, стоящий после defolt
|
|
Задача 2
Решение квадратного уравнения
ах2 + bx+c=0; если (d=b2 -4ac)>=0, то x1= x2= вывести х1 и х2, если D<0, то вывести “solution absent”.
Используется условный оператор - if else;
#include<iostream.h> //(;) точка с запятой не ставится; ввод и вывод
#include <math.h> // для ввода матем.формул
void main(void) //основная функция
{ //начало программы
float a,b,c,d,x1,x2; //описание переменных
сout<<”enter a,b,c”<<endl; //вывод на печать enter a,b,c
cin>>a>>b>>c; //ввод a,b,c
d=pow(b,2)-4*a*c; //вычисление d=b2 -4ac
if(d>=0) // условие
{ //оператор при выполнении условия
x1=(-b-d)/(2*a);
x2=(-b+d)/(2*a);
cout<<x1<<endl; //вывод результатов
cout<<x2<<endl;
}
else cout<<”solution absent”<<endl; //оператор при невыполнении условия
}
Задача 3
По номеру дня недели выбрать название дня недели и вывести на печать.
Используется оператор выбора Switch ( i) { case1: оператор 1; break;… }
В отличие от условного оператора перехода в операторе выбора может быть не две ветви, а произвольное число ветвей.
#include<iostream.h> //ввод и вывод
void main(void) //основная функция
{ //начало программы
int n;
cin>>n;
switch(n) //переключатель
{case 1:cout<<”Monday”: break;
case 2:cout<<”Tuesday”: break;
case 3:cout<<”Wednesday”: break;
case 4:cout<<”Thursday”: break;
case 5:cout<<”Friday”: break;
case 6:cout<<”Saturday”: break;
case 7:cout<<”Sunday”: break;
defolt :cout<< “between 1 and 7”: break; //если совпадение не обнаружено, выполняется
//оператор, стоящий после defolt
}
}
Операторы цикла
Оператор цикла с параметром |
|
pascal |
C++ |
For I:=1 to n do // возрастающий параметр begin операторы тела цикла end; |
For (I=1; I<= n; I=I+1) // возрастающий { //параметр операторы тела цикла; } |
For I:=n to 1 do // убывающий параметр begin операторы тела цикла end; |
For (I=n; I>= n; I=I-1) // убывающий { //параметр операторы тела цикла; } |
!!! (;) стоит после end |
!!! (;) стоит перед } |
Var I: integer; обязательно Шаг равен 1 или –1. |
Параметр I может быть любого типа, кроме void. Можно задавать шаг, отличный от 1 или -1 |
Задача 4
Составить программу вычисления суммы S=1+1/2+1/3…..+1/49+1/50 c помощью оператора цикла for. Поскольку в С++ параметр цикла может быть любого типа, то опишем как float.
#include<iostream.h> //ввод и вывод
void main(void) //основная функция
{ //начало программы
float s, i;
s=0;
for(i=1; i<=50; i=i+1) //цикл
s=s+1/i;
cout<<”s=”<<s<<endl;
}
Можно задавать шаг произвольный.
Задача 5
Вычислить сумму S=1+1/2+1/4…..+1/48+1/50. В этом примере шаг изменения параметра равен 2.
#include<iostream.h> //ввод и вывод
void main(void) //основная функция
{ //начало программы
float s, i;
s=0;
for(i=1; i<=50; i=i+2) //цикл
s=s+1/i;
cout<<”s=”<<s<<endl;
}
Операторы цикла с условием (предусловие) |
|
pascal |
C++ |
While <условие> do Begin Операторы тела цикла; End; |
while <условие> { операторы тела цикла; } |
Если условие истинно, то тело цикла выполняется; если условие не выполняется, то тело цикла не выполняется и происходит выход и цикла (while) |
Задача 6
Составить программу вычисления суммы S=1+1/2+1/3…..+1/i с точностью до s>e. Пока значение суммы ряда меньше заданного е, продолжать вычисление.
#include<iostream.h> //ввод и вывод
void main(void) //основная функция
{ //начало программы
float s, i,e;
s=0;
cin>>e;
i=1;
while (s<=e)
{ //цикл
s=s+1/i;
i=i+1;
}
cout<<”s=”<<s<<endl;
}
Операторы цикла с условием (постусловие) |
|
Pascal |
C++ |
Repeat Операторы тела цикла; Until |
do { операторы тела цикла; } while; |
Если условие истинно, то тело цикла не выполняется и происходит выход и цикла. |
!!!Если условие истинно, то вновь выполняются операторы тела цикла. |
Сначала выполняются операторы, затем проверяется условие |
Задача 7
Составить программу вычисления суммы S=1+1/2+1/3…..+1/i с точностью до s>e. Пока значение суммы ряда меньше заданного е, продолжать вычисление.
#include<iostream.h> //ввод и вывод
void main(void) //основная функция
{ //начало программы
float s, i,e;
s=0;
cin>>e;
i=1;
do
{ //цикл
s=s+1/i;
i=i+1;
}
while (s<=e)
cout<<”s=”<<s<<endl;
}