Program na výpoèet únosnosti základovej pôdy podµa STN 731001 a ENV 1997-1

Delphi & Pascal (èeská wiki)
Pøejít na: navigace, hledání
Kategória: Programy v Pascale

Autor: Miroslav Èerný
Program: Geo5.pas
Súbor exe: Geo5.exe
Súbor ubuntu: Geo5
Potrebné: Vypocet.txt

Program na výpoèet únosnosti základovej pôdy podµa STN 731001 a ENV 1997-1. Vhodný len pre u¾ívateµov poznajúcich vstupné parametre.
{ GEO5.PAS                                                          }
{ Program na vypocet unosnosti zakladovej pody podla STN 731001     }
{ a ENV 1997-1.                                                     }
{ Vhodny len pre uzivatelov poznajucich vstupne parametre.          }
{                                                                   }
{ Author: Miroslav Cerny                                            }
{ Datum: 18.07.2006                           http://www.trsek.com  }
 
program Unosnost_zakladovej_pody;
var nd1:real;
  R,idel,ibel,icel,gd,gb,gc,Hb,Hl,Nbe,sce,Reb,Rel,pomo,pomo1,ggg:real;
  a:integer;
  Nc,Nd,Nb,c,l,b,d,g1,g2,Sc,Sd,Sb,dc,db,dd,ic,id,ib,dt,f,H,V,Be,ideb,ibeb,iceb:real;
  nazov:string;
  Ff:text;
 
 
begin
  Assign(Ff,'vypocet.txt');  { Standard output }
  append(Ff);
 
  writeln;writeln(Ff);
  for a:=1 to 68 do write('-'); writeln;
  for a:=1 to 68 do write(Ff,'-');  writeln(Ff);
  writeln ('  énosnosœ z kladovej p“dy pod–a STN 731001 a ENV 1997-1');
  writeln (Ff,'  Unosnost zakladovej pody podla STN 731001 a ENV 1997-1');
  for a:=1 to 68 do write('-');
  for a:=1 to 68 do write(Ff,'-');
  writeln;
  writeln(Ff);
  writeln('POKYNY:');
 
  writeln;
  writeln('- pri vìpoŸte zad vajte vstupn‚ parametre v uvedenìch jednotk ch');
  writeln('- desatinn‚ miesta odde–ujte bodkou');
  writeln('- na prechod k Ôalçiemu kroku vìpoŸtu stlaŸte kl vesu " ENTER "');
  writeln('- ak chcete z¡skaœ vìpoŸtov£ £nosnosœ zeminy zadajte');
  writeln('  vìpoŸtov‚ parametre çmykovej pevnosti zeminy');
  writeln('- v pr¡pade vstupov pre Eurok¢d zad vajte extr‚mne zlo§ky zaœa§enia');
  writeln;
  writeln;
  write('VSTUPY:'); 
  writeln('  (Pre spustenie vìpoŸtu stlaŸte kl vesu " ENTER")');
 
  writeln(Ff,'VSTUPY:');
  writeln(Ff);
  readln;
  write('Zadajte nazov vypoctu:'); readln(nazov);
  writeln(Ff,'Nazov vypoctu je ',nazov);
  writeln(Ff);
 
  repeat
    write ('Zadajte hodnotu s£dr§nosti zeminy (kPa) c='); read(c);
    if c < 0 then 
       writeln('Pozor s£dr§nosœ zeminy nem“§e byœ z porn !');
  until  c>=0;
 
  writeln (Ff,'Sudrznost zeminy  c=',c:4:2,'kPa');
  repeat
    write ('Zadajte uhol vn£torn‚ho trenia zeminy (v stupåoch) f='); read(f);
    if f<0 then 
       writeln('Pozor uhol vn£torn‚ho trenia zeminy nem“§e byœ z pornì!');
  until  f>=0;writeln (Ff,'Uhol vnutorneho trenia zeminy  f=',f:4:2,'stupnov');
 
  f:=f*3.14159265359/180 ;
  repeat
    write('Zadajte objemov£ tia§ zeminy nad z kladovou çk rou (kN/m3) ');read(g1);
    if g1<=0 then 
       writeln('Hodnota nem“§e byœ z porn !');
  until  g1>=0;
 
  writeln (Ff,'Objemova tiaz zeminy nad zakladovou skarou  =',g1:4:2,'kN/m3');
  repeat
  write('Zadajte objemov£ tia§ zeminy pod z kladovou çk rou (kN/m3) ');read(g2);
  if g2<=0 then 
     writeln('Hodnota nem“§e byœ z porn !');
  until  g2>=0;
 
  writeln (Ff,'Objemova tiaz zeminy pod zakladovou skarou  =',g2:4:2,'kN/m3');
  repeat
    write('Zadajte efekt¡vnu ç¡rku z kladu (m) b='); read(b);
    if b<=0 then 
       writeln('Hodnota nem“§e byœ z porn !');
  until  b>=0;
 
  writeln (Ff,'Efektivna sirka zakladu  b=',b:4:2,'m');
  repeat
    write('Zadajte efekt¡vnu d’§ku z kladu (m) l='); read(l);
    if l<=0 then 
       writeln('Hodnota nem“§e byœ z porn !');
  until  l>=0;
 
  writeln (Ff,'Efektivna dlzka zakladu  l=',l:4:2,'m');
  repeat
    write('Zadajte h’bku zalo§enia z kladu (m) d='); read(d);
    if d<=0 then 
       writeln('Hodnota nem“§e byœ z porn !');
  until  d>=0;
 
  writeln (Ff,'Hlbka zalozenia zakladu  d=',d:4:2,'m');
  write('Zadajte odklon zaœa§enia od zvislice (v stupåoch) dt='); read(dt);
  writeln (Ff,'Odklon zatazenia od zvislice  dt=',dt:4:2,'stupnov');
  dt:=dt*3.14159265359/180 ;
  writeln;
  writeln('DodatoŸn‚ vstupy pre vìpoŸet pod–a n vrhu eur¢pskej normy ENV 1997-1');
  writeln;
 
  repeat
    write('Zadajte horizont lne zaœa§enie z kladu rovnobe§n‚ s jeho ç¡rkou (kN) Hb='); read(Hb);
    if Hb<=0 then 
       writeln('Hodnota je predpokladan  ako kladn !');
  until  Hb>=0;
 
  writeln (Ff,'Horizontalne zatazenie zakladu rovnobezne s jeho sirkou  Hb=',Hb:4:2,'kN');
  repeat
    write('Zadajte horizont lne zaœa§enie z kladu rovnobe§n‚ s jeho d’§kou (kN) Hl='); read(Hl);
    if Hl<=0 then 
       writeln('Hodnota je predpokladan  ako kladn !');
  until  Hl>=0;
 
  writeln (Ff,'Horizontalne zatazenie zakladu rovnobezne s jeho dlzkou  Hl=',Hl:4:2,'kN');
  repeat
    write('Zadajte vertik lne zaœa§enie z kladu (kN) V='); read(V);
    if V<=0 then 
       writeln('Hodnota nem“§e byœ z porn !');
  until  V>=0;
 
  writeln (Ff,'Vertikalne zatazenie zakladu   V=',V:4:2,'kN');
  repeat
    write('Zadajte sklon ter‚nu (v stupåoch) Be='); read(Be);
    if Be<=0 then 
       writeln('Hodnota je predpokladan  ako kladn !');
  until  Be>=0; writeln (Ff,'Sklon terenu  Be=',Be:4:2,'stupnov');
 
  Be:=Be*3.14159265359/180 ;
 
 
  writeln; writeln(Ff);
 
  writeln('MEDZIVíSLEDKY - STN 731001 (ENV 1997-1):');
  writeln(Ff,'MEDZIVYSLEDKY - STN 731001 (ENV 1997-1):');
  for a:=1 to 68 do write('-'); writeln;
 
  writeln;writeln(Ff);
  writeln('Hodnoty s£Ÿinite–ov £nosnosti:');
  writeln(Ff,'Hodnoty sucinitelov unosnosti:');
  writeln;writeln(Ff);
 
  nd1:=sin(45*3.14159265359/180+f/2)/cos(45*3.14159265359/180+f/2);
  Nc:=(exp(3.14159265359*(sin(f)/cos(f)))*sqr(nd1)-1)*(cos(f)/sin(f));
  writeln('Nc=',Nc:4:3);
  writeln(Ff,'Nc=',Nc:4:3);
 
  Nd:=exp(3.14159265359*(sin(f)/cos(f)))*sqr(nd1);
  writeln('Nd=',Nd:4:3);
  writeln(Ff,'Nd=',Nd:4:3);
 
  Nb:=1.5*(exp(3.14159265359*(sin(f)/cos(f)))*sqr(nd1)-1)*(sin(f)/cos(f));
  Nbe:=2*(exp(3.14159265359*(sin(f)/cos(f)))*sqr(nd1)-1)*(sin(f)/cos(f));
  write('Nb=',Nb:4:3);writeln(',    (pod–a ENV 1997-1) Nb=',Nbe:4:3);
  write(Ff,'Nb=',Nb:4:3);writeln(Ff,',    (podla ENV 1997-1) Nb=',Nbe:4:3);
  writeln; writeln(Ff);
  writeln('Hodnoty s£Ÿinite–ov tvaru z kladu:');
  writeln(Ff,'Hodnoty sucinitelov tvaru zakladu:');
  writeln; writeln(Ff);
 
  Sd:=1+((b/l)*sin(f));
  writeln('Sd=',Sd:4:3);
  writeln(Ff,'Sd=',Sd:4:3);
 
  Sb:=1-(0.3*b/l);
  writeln('Sb=',Sb:4:3);
  writeln(Ff,'Sb=',Sb:4:3);
 
  Sc:=1+(0.2*b/l);
  Sce:=((Sd*Nd)-1)/(Nd-1);
  write('Sc=',Sc:4:3);writeln(',    (pod–a ENV 1997-1) Sc=',Sce:4:3);
  write(Ff,'Sc=',Sc:4:3);writeln(Ff,',    (podla ENV 1997-1) Sc=',Sce:4:3);
  writeln; writeln(Ff);
  writeln('Hodnoty s£Ÿinite–ov vplyvu h’bky zalo§enia:');
  writeln;
  writeln(Ff,'Hodnoty sucinitelov vplyvu hlbky zalozenia:');
  writeln(Ff);
 
  dc:=1+0.1*sqrt(d/b);
  writeln('dc=',dc:4:3);
  writeln(Ff,'dc=',dc:4:3);
  dd:=1+0.1*sqrt(d*sin(2*f)/b);
  writeln('dd=',dd:4:3);
  writeln(Ff,'dd=',dd:4:3);
  db:=1;
  writeln('db=',db:4:3);
  writeln(Ff,'db=',db:4:3);
  writeln; writeln(Ff);
  writeln('Hodnoty s£Ÿinite–ov vplyvu çikm‚ho zaœa§enia:');
  writeln(Ff,'Hodnoty sucinitelov vplyvu sikmeho zatazenia:');
  writeln;writeln(Ff);
 
  id:=(1-(sin(dt)/cos(dt)))*(1-(sin(dt)/cos(dt)));
  writeln('id=ib=ic=',id:4:3);
  writeln(Ff,'id=ib=ic=',id:4:3);
 
  idel:=1- (Hl/(V+(b*l*c*(cos(f)/sin(f)))));
  icel:=(idel*Nd-1)/(Nd-1);
  pomo:=(1-((0.7*Hb)/(V+(b*l*c*(cos(f)/sin(f))))));
  ideb:=pomo*pomo*pomo;
  pomo1:=(1-((Hb)/(V+(b*l*c*(cos(f)/sin(f))))));
  ibeb:=pomo1*pomo1*pomo1;
  iceb:=((ideb*Nd)-1)/(Nd-1);
  writeln;
  writeln('(pod–a ENV 1997-1)');
  writeln(Ff,'(podla ENV 1997-1)');
  writeln('(pre horizont lne zaœa§enie rovnobe§n‚ s d’§kou z kladu)');
  write('id=',Idel:4:3);write(',ib=',Idel:4:3); writeln(',ic=',Icel:4:3);
  writeln(Ff,'(pre horizontalne zatazenie rovnobezne s dlzkou zakladu)');
  write(Ff,'id=',Idel:4:3);write(Ff,',ib=',Idel:4:3); writeln(Ff,',ic=',Icel:4:3);
  writeln('(pre horizont lne zaœa§enie rovnobe§n‚ so ç¡rkou z kladu)');
  write('id=',Ideb:4:3);write(',ib=',Ibeb:4:3); writeln(',ic=',Iceb:4:3);
  writeln(Ff,'(pre horizontalne zatazenie rovnobezne so sirkou zakladu)');
  write(Ff,'id=',Ideb:4:3);write(Ff,',ib=',Ibeb:4:3); writeln(Ff,',ic=',Iceb:4:3);
  writeln;writeln(Ff);
  writeln('Hodnoty s£Ÿinite–ov vplyvu çikm‚ho ter‚nu:');
  writeln(Ff,'Hodnoty sucinitelov vplyvu sikmeho terenu:');
  writeln;writeln(Ff);
 
  ggg:=(1-(0.5*((sin(Be/180)/cos(Be/180)))));
  gd:=ggg*ggg*ggg*ggg*ggg;
  gc:=1-((2*Be)/(3.14159265359+2));
  write('gd=gb=',gd:4:3); writeln(',gc=',gc:4:3);
  write(Ff,'gd=gb=',gd:4:3); writeln(Ff,',gc=',gc:4:3);
 
  writeln;writeln(Ff);
  writeln;writeln(Ff);
  writeln('VíSLEDKY:');
  writeln(Ff,'VYSLEDKY:');
 
  for a:=1 to 68 do write('-'); writeln;
  writeln;writeln(Ff);
  writeln;writeln(Ff);
 
  R:=(c*Nc*Sc*dc*id)+(g1*d*Nd*Sd*dd*id)+(g2*0.5*b*Nb*Sb*db*id);
  Reb:=(c*Nc*Sce*dc*iceb*gc)+(g1*d*Nd*Sd*dd*ideb*gd)+(g2*0.5*b*Nbe*Sb*db*ibeb*gd);
  Rel:=(c*Nc*Sce*dc*icel*gc)+(g1*d*Nd*Sd*dd*idel*gd)+(g2*0.5*b*Nbe*Sb*db*idel*gd);
  writeln('énosnosœ podlo§ia vypoŸ¡tan  pod–a STN 731001 je R = ',R:4:1,'kPa');
  writeln('énosnosœ podlo§ia vypoŸ¡tan  pod–a ENV 1997-1 je R = ',Reb:4:1,'kPa');
  writeln('(horizont lne zaœa§enie p“sob¡ v smere rovnobe§nom so ç¡rkou z kladu)');
  writeln('énosnosœ podlo§ia vypoŸ¡tan  pod–a ENV 1997-1 je R = ',Rel:4:1,'kPa');
  writeln('(horizont lne zaœa§enie p“sob¡ v smere rovnobe§nom s d’§kou z kladu)');
  writeln(Ff,'Unosnost podlozia vypocitana podla STN 731001 je R = ',R:4:1,'kPa');
  writeln(Ff,'Unosnost podlozia vypocitana podla ENV 1997-1 je R = ',Reb:4:1,'kPa');
  writeln(Ff,'(horizontalne zatazenie posobi v smere rovnobeznom so sirkou zakladu)');
  writeln(Ff,'Unosnost podlozia vypocitana podla ENV 1997-1 je R = ',Rel:4:1,'kPa');
  writeln(Ff,'(horizontalne zatazenie posobi v smere rovnobeznom s dlzkou zakladu)');
  readln;writeln(Ff);
 
  writeln;
  writeln('Celì vìpoŸet je ulo§enì v textovom s£bore vypocet.txt !');
  for a:=1 to 68 do write('-'); writeln;
 
  writeln('Naprogramoval Miroslav ¬ernì');
  writeln(Ff,'Tento program bol vytvoreny hlavne z dovodu precvicenia si programovania.');
  writeln('Pripomienky a dotazy mi m“§ete nap¡saœ na email: cerny@orangemail.sk');
  writeln(Ff,'Pripomienky a dotazy mi mozete napisat na email: cerny@orangemail.sk');
  writeln('Òakujem V m!');
  writeln(Ff,'Dakujem Vam!');
  writeln;
 
  Close(Ff);
 
  writeln(' (Program ukonŸ¡te stlaŸenim kl vesy "ENTER")');
  readln;
end.