1)Дан цикл:
s:=0;
for i:=9 downto 0 do
begin
for j:=9 downto 0 do
begin
if (i=j) then s:=s+1;
end.
end.
Какое значение примет переменная s после выполнения цикла?
0
9
10
11
2) Расположи команды для выполнения задачи в нужном порядке.
Программа должна сосчитать, сколько денег будет на счете из 1000 рублей через 10 лет, если каждый год он увеличивается в 1,05 раза и после на него кладут по 500 рублей, выбери порядок команд для выполнения этой задачи.
a) begin
b) end.
c) for j:= to do
d) s:=;
e) s:=s*.;
f) s:=s+d;
g)d:=;
#include <stdio.h>
int binaryFounder(int*,int,int,int,int*);
int main(void)
{int ar[100],n,res=-1,i,j,buf,val,arind[100];
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&ar[i]);
printf("Enter searching value:");
scanf("%d",&val);
for(i=0;i<n;i++)
arind[i]=i;
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(ar[i]>ar[j])
{buf=ar[i];
ar[i]=ar[j];
ar[j]=buf;
buf=arind[i];
arind[i]=arind[j];
arind[j]=buf;}
binaryFounder(ar,0,n-1,val,&res);
if (res==-1)
printf("Not found");
else
printf("Found in position %d",arind[res]);
return 0;}
int binaryFounder(int ar[],int left,int right,int val,int* res)
{int kar=(left+right)/2;
if (*res!=-1)
return 0;
if (left>right)
return 0;
if (ar[kar]==val)
*res=kar;
if (ar[kar]<val)
binaryFounder(ar,kar+1,right,val,res);
if (ar[kar]>val)
binaryFounder(ar,left,kar-1,val,res);}
Пример ввода:
5
1
2
3
4
5
4
Пример вывода:
Found in position 3 //считаем с 0
50 div 9 = 5
-10 mod (-5) = 0
round (9.5) = 10
trunc (15.6) = 15
Объяснение:
50 / 9 = 5 целых + 5 остаток
div - результат целочисленного деления
50 div 9 = 5
-10 / (-5) = 2 целых + 0 остаток
mod - остаток от целочисленного деления
-10 mod (-5) = 0
round - округленное до ближайшего целого, если вещественное число находится посередине между двумя целыми, то округление происходит к ближайшему чётному (round (2,5) = 2, round (3,5) = 4)
round (9.5) = 10
trunc - возвращает целую часть вещественного числа
trunc (15.6) = 15