Разветвление
If (Логическое выражение)
{
Операторы 1;
}
else
{
Операторы 2;
}
Отношение — это два арифметических выражения, соединенных знаком операции отношения <, <=, >, >=, == (равно), != (не равно).
Таблица логических операторов
Название |
Обозначение |
A |
|||
T |
T |
F |
F |
||
B |
|||||
T |
F |
T |
F |
||
Отрицание |
!A |
F |
F |
T |
T |
Логическое “и” |
A && B |
T |
F |
F |
F |
Логическое “или” |
A ׀׀ B |
T |
T |
T |
F |
(T – true, F – false).
Задача № 3
Определить, попадает ли точка с координатами (x, y) в заштрихованную область. Круг радиуса 1. Уравнение границы ромба | x | + | y | = 1.
using System;
namespace ConsoleApplication3
{
class Program
{
static void Main()
{
double x,y;
Console.WriteLine(“Введите координаты точек”);
x=double.Parse(Console.ReadLine());
y=double.Parse(Console.ReadLine());
if (Math.abs(x)+Math.abs(y)>=1 && x*x+y*y<=1)
Console.WriteLine(“Точка попадает в заштрихованную область”);
else
Console.WriteLine(“Точка не попадает в заштрихованную область”);
Console.ReadKey();
}
}
}
Задача № 4
Составить программу для определения подходящего возраста кандидатуры для вступления в брак, используя следующее соображение: возраст девушки равен половине возраста мужчины плюс 7, возраст мужчины определяется соответственно как удвоенный возраст девушки минус 14.
Обозначим через V - возраст претендента, а через Vp - возраст партнера. Тогда математически можно записать:
using System;
namespace ConsoleApplication4
{
class Program
{
static void Main()
{
double V,Vp;
string Pol, Q;
Console.WriteLine(“Введите возраст претендента и его пол”
V=double.Parse(Console.ReadLine());
Pol=string.Parse(Console.ReadLine());
if Pol=”men”
{
Vp=V/2 + 7;
Q = “Претендент – мужчина”
}
else
{
Vp=2*V - 14
Q = “Претендент – девушка”
}
Console.WriteLine(Q, “Возраст партнера {1:f4}”,Vp);
Console.ReadKey();
}
}
}
Задача № 5
Тормозной путь S автомобиля массой m, движущегося по горизонтальной дороге, вычисляется по формуле:
где F - горизонтальная сила торможения,
t - время торможения.
Вывести на пеать таблицу изменение тормозного пути в зависимости от изменения массы автомобиля от 1500 кг до 1750 кг с шагом 25 кг.
Ввод
t,
F
m = 1500
S=F*t^2/(2*m)
Печать
m,
S
m = m + 25
m
≤ 1750 ?
+
-
using System;
namespace ConsoleApplication5
{
class Program
{
static void Main()
{
double m,t,F,S;
Console.WriteLine(“Введите время торможения”);
t=double.Parse(Console.ReadLine());
Console.WriteLine(“Введите силу торможения”);
F=double.Parse(Console.ReadLine());
Console.WriteLine(“Время Тормозной путь”);
For(m=1500;m<=1750;m=m+25;)
{
S=F*t*t/(2*m);
Console.WriteLine(“{0:f1} {1:f6}”,t,S);
}
Console.ReadKey();
}
}
}
Задача № 6
Будущая стоимость Fv за n периодов вычисляется по формуле:
где CF - величина потока платежей в текущем периоде,
r - процентная ставка.
Вывести на печать изменение будущую стоимость в зависимости от изменения процентной ставки от 5% до 14% с шагом 0,5%.
Ввод
CF,
n
r = 5%
Fv=CF*((1+r)^n-1)/r
Печать
r,
Fv
r = r + 0,5%
r
≤ 14% ?
+
-
using System;
namespace ConsoleApplication6
{
class Program
{
static void Main()
{
int n;
double CF,r,Fv,rs;
Console.WriteLine(“Введите период”);
n=int.Parse(Console.ReadLine());
Console.WriteLine(“Введите поток платежей”);
CF=double.Parse(Console.ReadLine());
Console.WriteLine(“Процентная ставка Будущая стоимость”);
for(r = 5; r <= 14; r = r+0,5)
{
rs = r/100;
Fv = СF*(Math.Pow(1+rs,n)-1)/rs;
Console.WriteLine(“{0:f1} {1:f2}”, r, Fv);
}
Console.ReadKey();
}
}
}
Задача № 7
На нижнем слое расположено n шариков радиуса R. На следующем слое расположено n-1 шариков и т. д. и, наконец, на верхнем слое расположен 1 шарик. Вычислить суммарный объем всех шариков.
Ввод
n,
R
S
= 0 π = 3,1416
i = 1
S=S+i
i = i + 1
i
≤ n ?
+
-
V
=3πR3S/4
Печать
V
static void Main()
{
double R, v;
int i, n, s;
Console.WriteLine(“ Введите число шариков и его радиус ”);
n = int.Parse(Console.ReadLine());
R = double.Parse(Console.ReadLine());
for( i = n; i >= 1; i = i -1)
s = s + i;
v = 3*Math.Pi*R*R*R/4*s; Console.WriteLine(“Суммарный объем = {0:f3}“, v);
}
Задача № 8
Фирма в 1 – ый месяц получила p млн. руб. прибыли. Каждый следующий месяц фирма увеличивала прибыль на k% от прибыли предыдущего месяца. Вычислить прибыль фирмы за каждый месяц и за год в целом.
Ввод
p,
k%
Sp
= 0 pt = p
Печать заголовка
ms = 1
Печать
ms,
pt
Sp=Sp+pt
pt = pt +pt*k%
ms
= ms + 1
+
ms≤
12 ?
-
Печать
Sp
static void Main()
{
int ms;
double p, k, pt, Sp = 0;
Console.WriteLine(“ Введите прибыль 1-го месяца и процент прибыли”);
p = double.Parse(Console.ReadLine());
k = double.Parse(Console.ReadLine());
pt=p;
Console.WriteLine(“Месяц Прибыль, млн. руб.”);
for(ms = 1; ms <= 12; ms = ms+1)
{
Console.WriteLine(“ {0:d2} {1:f3} ”, ms, pt);
Sp = Sp+pt;
pt = pt + pt*k/100;
}
Console.WriteLine(“Прибыль за год = {0:f4}“, Sp);
}
Задача № 9
Самолет, оторвавшись от взлетной полосы, летит по прямой линии, составляющей с горизонтом α0, с начальной скоростью v0 и ускорением a. Из самолета, спустя время tb после начала полета сброшен груз вниз со скоростью u.
Траектория полета груза вычисляется по формуле:
Построить траекторию полета груза от времени tb до падения груза на Землю.
static void Main()
{
double alf0, v0, tb, y, u, g, t, dt, tk;
Console.WriteLine(“Введите угол, скорость, время сброса и скорость груза”);
p = double.Parse(Console.ReadLine());
αlf0 = double.Parse(Console.ReadLine());
v0 = double.Parse(Console.ReadLine());
tb = double.Parse(Console.ReadLine());
u = double.Parse(Console.ReadLine());
t=0
dt=0.01
y=1
g=9.81
αlf0= αlf0*Math.Pi/180;
while(y>0)
{
y = (v0*tb + a*tb*tb/2)*sin(αlf0) + ((v0 + a*tb)*sin(αlf0) - u)*t – g*t*t/2;
t = t + dt;
}
tk = t;
Console.WriteLine(“Время Траектория“);
dt = tk/20;
for(t = 0; t <= tk; t = t + dt)
{
y = (v0*tb + a*tb*tb/2)*sin(αlf0) + ((v0 + a*tb)*sin(αlf0) - u)*t – g*t*t/2;
Console.WriteLine(“ {0:f1} {1:f3} “, t, y);
}
}
