Определить значение переменной у после выполнения следующих фрагментов программы:
у := 1.5; for i := 1 to 4 do у := у - i;
у := 2; for k := 4 downto 1 do у : = у * k;
у := 5; for n := 1 downto 4 do у := у + n;
у := 1; for i := 1 to 3 do begin у := у +1 ; у := у + i; end;
у := 0; for i := 4 to 6 do у := у + i ; у := у / 10;
у := 1; for i := 0 downto -2 do у := у - i; у := у * 10;
y := 0; for n := 4 downto 2 do begin y := y + n; y := y * 10; end;
Определить значение переменной у после выполнения следующих фрагментов программы:
Var у : real; i : integer; у := 1 ; i := 5; while i> 2 do i:= i - 1; y:=y + 1 * i;
Var у : real; i : integer; у := 1 ; i := 2 ; repeat i:= 2 * i; y:=y + i until i > 5;
Var у : real; i : integer; у := 1 ; i := 1; while i< 5 do i:= i+1; y:=y+1 * i;
Var у : real; i : integer; у := 1 ; i := 1; while i > 1 do begin y:=y + 1 / i; i:= I – 1; end;
Var у : real; i : integer; у := 1 ; i := 5; repeat i:= 2 * i; y:=y + i until i > 5;
Var у : real; i : integer; у := 1 ; i := 1; repeat y:= y + 1 / i; i:= I - 1 until i <= 1;
Напишу основные идеи на языке Си,но преобразовать несложно Вам будет.
1. int N,c1,c2,razn,chastn;
scanf ("%d",&N); // запрашиваем двузначное число
c1=N%10;
N/=10;
c2=N%10;
razn=c2-c1; chastn=c2/c1;
2. int Z;
if (Z>0) Z=Z+1;
if (Z==0) Z=10;
3. int Z, c_right, c_left;
c_right=Z%10;
Z=Z/10;
c_left=Z%10;
4. int Z;
if ( Z%2==0 ) четное ;
else нечетное ;
5. int a,b,sum ; //имеем ввиду a<b
do
{ a=a+1;
sum=sum+a;
}
while (a!=b-1); // (a!=b) - если от а до Б включительно
Как то так. Если возникнут вопросы- пишите :)
Типовая задача на разбор случаев. Разбирать случаи будем не простым последовательным перечислением, а более сложной конструкцией из вложенных условных операторов.
Решение задачи.
Var a1, b1, c1, {коэффициенты уравнения первой прямой}
a2,b2,c2, {коэффициенты уравнения второй прямой}
x, y : Real; {координаты точки пересечения }
BEGIN
ReadLn( a1, b1, c1);
ReadLn( a2, b2, c2);
If ( (a1=0) and (b1=0) ) or ( (a2=0) and (b2=0) )
then WriteLn( 'это не прямая (прямые). ' )
else
if (a1*b2=a2*b1) and (a1*c2=a2*c1) {условие совпадения}
then WriteLn( 'прямые совпадают.' )
else
if a1*b2 = a2*b1 {условие параллельности}
then WriteLn('прямые параллельны.')
else begin x:=(c1*b2-c2*b1)/(b1*a2-b2*a1);
y:=(c2*a1-c1*a2)/(b1*a2-b2*a1);
WriteLn('координаты точки пересечения :',
' x = ', x : 5 : 2 , ', y = ', y : 5 : 2);
end;
END.