Wednesday, November 22, 2017

The hidden presence of CIDR (Classless Inter domain routing) in EGE Informatics (example of problem 12 from Trial KIM)


   Answer is obviously  3*8+2 = 26 due to 60 = 00111100 (binary)
   Thus we may place "11"  in first two bits of fourth octet of  network mask

   What means CIDR - See http://www.zvmpt.ru/IP_NGN/praktika/praktika_8.htm
  
   

  
   On the other hand it is easy to see how 162.232.136.0/26 looks
 

  

Friday, November 10, 2017

Решение задачи 11 ЕГЭ Информатика Пробник 2 2018 ( inform20171106proba05+otvet.pdf ) 10.11.17


   Оригинальный текст  из http://bsoh1.tat.rusobr.ru/IKT/EGE/ege2016web/ege11.htm
  
66)   (И. Тощенко) Дан рекурсивный алгоритм:
function F(n: integer): integer;
begin
  if n < 5 then
    F:= F(n*3) + F(n+3) + F(n+1)
  else
    F:= n div 2;
end;
Чему будет равно значение, вычисленное алгоритмом при выполнении вызова F(2)?

  


 Source code


[boris@fedora26workstation GCC]$ cat  recursEGE11DB.c
#include <stdio.h>
int cnt ;

int F(int n)
{
cnt++ ;
printf("%s%d%s\t","F(",n,")");

switch (cnt) {
case 1:
  printf ("\n");
  break;
case 4:
  printf ("\n"); printf ("\t\t");
  break;
case 7:
  printf ("\n"); printf ("\t\t\t\t");
  break;
case 10:
  printf ("\n"); printf ("\t\t\t\t\t");
  break;
default:
  break;
}

if (n < 5) {
   return F(3*n) + F(n+3) + F(n+1);
}
else {
   return  n / 2 ;
 }
}

int main(void)
{
int res,n=2;
  res = F(n);
printf("%s%d\n","Result = ",res);
}

*************************
Runtime output
*************************
[boris@fedora26workstation GCC]$ gcc -o recursEGE11DB recursEGE11DB.c
[boris@fedora26workstation GCC]$ strip  recursEGE11DB
[boris@fedora26workstation GCC]$ ls -l  recursEGE11DB
-rwxrwxr-x. 1 boris boris 6160 Nov 10 20:49 recursEGE11DB
[boris@fedora26workstation GCC]$ file  recursEGE11DB
recursEGE11DB: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=94912d58f183297fd10d3bbd6a944f883046064e, stripped
[boris@fedora26workstation GCC]$ ./recursEGE11DB
F(2)   
F(6)    F(5)    F(3)   
                      F(9)    F(6)    F(4)   
                                           F(12)    F(7)    F(5)   
                                                       Result = 23

 
  ****************************************************************
  Краткое пояснение работы алгоритма рекурсии
  ***************************************************************
  F(6) + F(5) + F(3) = 3 + 2 + F(3) =
  5 + F(9) + F(6) + F(4) = 5 + 4 + 3 + F(12) + F(7) + F(5) =
  12 + 6 +3 + 2 = 23

  Ответ : 23

67)(И. Тощенко) Дан рекурсивный алгоритм:

function F(n: integer): integer;
begin
  if n < 5 then
    F:= F(n+3) + F(2*n) + F(3*n div 2)
  else
    F:= n + 2;
end;
Чему будет равно значение, вычисленное алгоритмом при выполнении вызова F(3)?

F:= F(6)+F(6)+F(4) = 16+F(7)+F(8)+F(6) = 16+9+10+8 = 43

68)(И. Тощенко) Дан рекурсивный алгоритм:
function F(n: integer): integer;
begin
  if n < 6 then
    F:= n+F(n+3) * F(2*n)
  else
    F:= n*2;
end;
Чему будет равно значение, вычисленное алгоритмом при выполнении вызова F(3)?

F := 3 +F(6)*F(6) = 3+12*12 = 147

64)   (И. Тощенко) Дан рекурсивный алгоритм:
function F(n: integer): integer;
begin
  if n >= 3 then
    F:= F(n-3) + F(n-2)*F(n-1)
  else
    F:= n;
end;
Чему будет равно значение, вычисленное алгоритмом при выполнении вызова F(7)?


F(7) := F(4)+F(5)*F(6)
F(4) := F(1)+F(2)*F(3)
F(3) := F(0)+F(1)*F(2)
F(2) := 2
F(3) := 0+1*2 =2
F(4) := 1+4 = 5
F(5) := F(2)+F(3)*F(4) = 2+2*5=12
F(6) := F(3)+F(4)*F(5) = 2+5*12=62
F(7) := F(4)+F(5)*F(6) = 5+12*62=749

Thursday, November 2, 2017

Как могла бы звучать Задача 12 в ЕГЭ Информатика на сегодняшний день

The next post is an attempt to slightly change the eternal theme,
which task 12 of EGE Informatics contains from immemorial times


Per https://www.lifewire.com/cidr-classless-domain-routing-818375
    CIDR is an acronym for Classless Inter-Domain Routing. CIDR was developed
in the 1990s as a standard scheme for routing network traffic across the internet.
          Why Use CIDR?
  Before CIDR technology was developed, internet routers managed network
traffic based on the class of IP addresses. In this system, the value
of an IP address determines its subnetwork for the purposes of routing.
CIDR is an alternative to traditional IP subnetting.
It organizes IP addresses into subnetworks independent of the value of
the addresses themselves. CIDR is also known as supernetting, as it
effectively allows multiple subnets to be grouped together for network routing.


See also Classful vs. Classless Routing - Cisco Support Community
Mentioned document clearly demonstrates what kind of trouble might cause classfull routing approach. Notice also that :-


Would you have problems reading English, see Russian post

Бесклассовая адресация CIDR и маски переменной длины VLSM
Выдержка из текста и рисунки статьи на русском

  Использование CIDR и  VLSM не только предотвращает пустую трату адресов, но и способствует агрегации маршрутов или суммированию. Без суммирования маршрутов Интернет перестал бы развиваться уже в конце 90-х годов. Рисунок иллюстрирует как суммирование сокращает нагрузку на маршрутизаторы. 

                                             Aggregation routes via VLSM

Количество адресов в подсети не равно количеству возможных узлов.
Нулевой адрес IP резервируется для идентификации подсети, последний -
в качестве широковещательного адреса, таким образом в реально действующих сетях возможно количество узлов на два меньшее количества адресов.
Простой пример :-


Выполняя на маршрутизаторе RIPv2,OSPF,IS-IS ( любой протокол поддерживающий CIDR ).

It is fairly simple to convert the samples (pictures 1,3) above into one or variety of tasks 12-th for EGE Informatics which won't look as the ghosts came from previous century.

CIDR Range is 192.168.100.0/22. Questions :-
1. What is the network mask ?
2. What are wildcard bits ?
3. How much is total host Count ?

Easy to see that third octet is 11111100 (binary) = 252 (decimal)
Obviously  first and second octets are 11111111 (binary) = 255 (decimal)
fourth is 00000000 (binary)  due to  (4*8) - (2*8+6) = 10
Number of host on suibnet 2^10 = 1024
Netmask  255.255.252.0
Wildcard bits = 0.0.(255-252).255 =0.0.3.255


    Broadcast address  192.168.103.255
    Default gateway      192.168.100.1
  
CIDR Range is 172.24.4.224/28. Questions :-
1. What is the network mask ?
2. What are wildcard bits ?
3. How much is total host Count ?

Easy to see that fourth octet is 11110000 (binary) = 240 (decimal)
Obviously  first, second,third octets are 11111111 (binary) = 255 (decimal)
due to  (4*8) - (3*8+4) =4
Number of host on suibnet 2^4 = 16
Netmask  255.255.255.240
Wildcard bits = 0.0.0.(255-240) = 0.0.0.15


    Broadcast address 172.24.4.239
    Default gateway     172.24.4.225

    Sample 1


Generating IP range via CIDR 10.10.1.32/27



     Sample 2
    

  
  

   References
  1.  Бесклассовая адресация CIDR и маски переменной длины VLSM