Construa um algoritmo para gerar aleatorio 1000 numeros, calcular o somatorio, a media, o maior e o menor numero gerado.Program 1000_numeros;varx,menor,maior,n: integer;media:real;Beginmaior:=0;menor:=1001;for x:=1 to 1000 dobegindelay(3);n:=random(1001);Writeln(n);if nmenor:=n;if n>maior thenmaior:=n;media:=media+n;end;Writeln('Maior numero ',maior);Writeln('Menor numero: ',menor);Writeln('Somatorio ',media:7:1);Writeln('Media ',media/1000:4:2);Writeln(' ');Readln;End. Construa um algoritmo para que o computador gere dez numeros aleatorios entre 1 e 100. A seguir escreva a quantidade de numeros gerados acima de 50 e abaixo de 50.Program numeros_1_100;varx,y,z,n:integer;Beginy:=0;x:=0;for z:=1 to 10 dobegindelay(500);n:=random(100);Writeln(n);if n<50>x:=x+1;if n>50 theny:=y+1;end;Writeln('Numeros Abaixo:',x);Writeln('Numeros Acima:',y);Readln;End. 1.Faca um programa que leia dois valores e chame uma sub-rotina (procedure) que receba essa duas variaveis e troque o seu conteudo, ou seja, esta rotina e chamada passando duas variaveis A e B por exemplo, e apos a execucao da rotina A contera p valor de B e B tera o valor de A.Program Pzim ; varx,y:integer;procedure troca(var a,b:integer);vartemp:integer;begintemp:=a;a:=b;b:=temp; end;Beginwriteln('Digite o numero A:');readln(x);writeln('Digite o numero B:');readln(y);troca(x,y);writeln('O valor de A trocado por B e:',x);writeln('O valor de B trocado por A e:',y);End.2.Altere o programa anterior de forma a ler 4 valore em 4 variaveis: A, B C, D. Use a rotina Troca_valores implementada no programa anterior para a troca de valores de A com B, depois de C com D, mostre como ficaram os valores da variavel, e para concluir destroque seus conteudos mostrando novamente na tela como ficaram estas variaveis.Program Pzim ; varx,y,z,w:integer;procedure troca(var a,b:integer);vartemp:integer;begintemp:=a;a:=b;b:=temp; end;Beginwriteln('Digite o numero A:');readln(x);writeln('Digite o numero B:');readln(y);writeln('Digite o numero C:');readln(z);writeln('Digite o numero D:');readln(w);troca(x,y);troca(z,w);writeln('O valor de A trocado por B e:',x);writeln('O valor de B trocado por A e:',y);writeln('O valor de C trocado por D e:',z);writeln('O valor de D trocado por C e:',w);troca(x,y);troca(z,w);writeln;writeln('O valor de A inicial:',x);writeln('O valor de B inicial:',y);writeln('O valor de C inicial:',z);writeln('O valor de D inicial:',w);End.3.Faca um programa que leia 2 valore e chame uma sub-rotina que receba estes 2 valores de entrada e retorne o maior valor na primeira variavel e o segundo maior valor na segunda variavel. Escreva o conteudo dos dois valores na tela.Program Pzim ; varx,y:integer;procedure maior(var a,b:integer);vartemp:integer; begintemp:=a;if (a4.Faca um programa que leia tres valores e chame uma sub-rotina que receba estes 3 valores de entrada e retorne o maior valor entre estes tres valores na primeira variavel, o segundo maior valor da segunda variavel e o terceiro maior valor na terceira variavel. Exiba os valores ordenados na tela (sugestao: use a sub-rotina troca-valores). Program Pzim ; varx,y,z:integer;procedure maior(var a,b:integer);vartemp:integer; begintemp:=a;if (a5.Faca um programa que leia um numero e gere todos os numeros primos entre 1 e este numero fornecido, exibindo-os na tela. O programa deve ter uma sub-rotina que determine se o determinado numero e ou nao primo.Program Pzim ;vark,nm,num: integer;ehPrimo: boolean;procedure testaPrimo(a:integer);varcont,j,i :integer;beginfor i:=1 to a dobeginj:=(a mod i);if(j=0)thencont:= cont+1;end; if(cont=2)thenehPrimo:=trueelseehPrimo:=false; end;Beginwriteln('Digite um numero:');readln(nm);ehPrimo:=false;for k:=1 to nm dobegintestaPrimo(k); if (ehPrimo) thenwrite(k ,'-');end;End.6.Usando uma sub-rotina que exiba uma moldura na tela em uma janela definida pelo usuario, faca outra sub-rotina que escreva uma mensagem na tela pedindo para ler 2 numeros (um de cada vez), leia estes numeros e retorne para o programa principal. A mensagem e as leituras dos numeros devem ser feita dentro de uma janela com moldura. Em seguida exiba a