<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Blog despre resurse educaţionale din IT &#187; Pascal</title>
	<atom:link href="http://resurse-educationale.uv.ro/?feed=rss2&#038;tag=pascal" rel="self" type="application/rss+xml" />
	<link>http://resurse-educationale.uv.ro</link>
	<description>Cu informatii pentru dezvoltare personala, dar şi pentru studentţi, elevi, profesori, webmasteri, programatori</description>
	<lastBuildDate>Fri, 27 Jan 2012 01:12:50 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Probleme rezolvate in Pascal</title>
		<link>http://resurse-educationale.uv.ro/?p=181</link>
		<comments>http://resurse-educationale.uv.ro/?p=181#comments</comments>
		<pubDate>Thu, 04 Aug 2011 14:15:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Pascal]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[algoritmi]]></category>
		<category><![CDATA[Biblioteci]]></category>
		<category><![CDATA[cozi]]></category>
		<category><![CDATA[informatică]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[program]]></category>
		<category><![CDATA[programe rezolvate]]></category>
		<category><![CDATA[sisteme de numereaţie]]></category>
		<category><![CDATA[teza]]></category>
		<category><![CDATA[tipuri de date]]></category>
		<category><![CDATA[units]]></category>

		<guid isPermaLink="false">http://resurse-educationale.uv.ro/?p=181</guid>
		<description><![CDATA[Probelma 1. Creaţi un program care afişează următoarea funcţie. Program P2.1; uses crt; var i,n,s : integer; f : boolean; begin clrscr; repeat write(&#8216;Introduceţi un număr natural n=&#8217;); readln(n); until n&#62;2; if n mod 2=0 then f:=false else f:=true; write(&#8216;s=&#8217;); &#8230; <a href="http://resurse-educationale.uv.ro/?p=181">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><strong> </strong></p>
<p><strong>Probelma 1</strong>. Creaţi un program care afişează următoarea funcţie.</p>
<p><strong> </strong></p>
<p>Program P2.1;</p>
<p>uses crt;</p>
<p>var i,n,s : integer;</p>
<p>f : boolean;</p>
<p>begin</p>
<p>clrscr;</p>
<p>repeat</p>
<p>write(&#8216;Introduceţi un număr natural n=&#8217;);</p>
<p>readln(n);</p>
<p>until n&gt;2;</p>
<p>if n mod 2=0 then f:=false else f:=true;</p>
<p>write(&#8216;s=&#8217;);</p>
<p>for i:=1 to n-2 do</p>
<p>if(not f) and (i mod 2 =0)then write(&#8216;*&#8217;,i)</p>
<p>else</p>
<p>if f and (i mod 2&lt;&gt;0)then write(&#8216;*&#8217;,i);</p>
<p>writeln(&#8216;*&#8217;,n);</p>
<p>readkey;</p>
<p>end.</p>
<p><strong> </strong></p>
<p><strong> </strong></p>
<p><strong>Se dă un număr natural n. Verificaţi daca acest număr este prim sau nu.</strong></p>
<p><strong> </strong></p>
<p><strong> </strong></p>
<p>Program P2.2;</p>
<p>uses crt;</p>
<p>var i,n,f : integer;</p>
<p>begin</p>
<p>clrscr;</p>
<p>repeat</p>
<p>write(&#8216;Introduceţi un număr natural n=&#8217;);</p>
<p>readln(n);</p>
<p>until n&gt;2;</p>
<p>f:=0;</p>
<p>for i:=2 to n div 2 do</p>
<p>if n mod i=0 then f:=1;</p>
<p>if f=0 then</p>
<p>writeln(&#8216;Numărul&#8217;,n:6,&#8217; este prim&#8217;)</p>
<p>else</p>
<p>writeln(&#8216;Numărul&#8217;,n:6,&#8217; nu este prim&#8217;);</p>
<p>readkey;</p>
<p>end.</p>
<p><strong>Este dat intervalul numerelor naturale de la n pina la m. Determinati toate numerele naturale din acest interval.</strong><strong> </strong></p>
<p><strong> </strong></p>
<p>Program P2.3;</p>
<p>uses crt;</p>
<p>var i,n,f,j,r,m : integer;</p>
<p>begin</p>
<p>clrscr;</p>
<p>repeat</p>
<p>write(&#8216;Introduceţi limita de jos a intervalului n=&#8217;);</p>
<p>read(n);</p>
<p>write(&#8216;Introduceţi limita de sus a intervalului m=&#8217;);</p>
<p>readln(m);</p>
<p>until (n&gt;0) and(m&gt;0) and(n&lt;m);</p>
<p>writeln(&#8216;Introduceţi intervalul de la&#8217;,n:6,&#8217;pina la&#8217;,m:6&#8242;);</p>
<p>r:=0;</p>
<p>for j:=n to m do</p>
<p>begin</p>
<p>f:=0;</p>
<p>for i:=2 to j div 2 do</p>
<p>if j mod i=0 then f:=1;</p>
<p>if f=0 then</p>
<p>begin r:=1;</p>
<p>writeln(&#8216;Numărul&#8217;,j:6,&#8217; este prim&#8217;)</p>
<p>end;</p>
<p>end;</p>
<p>if r=0 then writeln(&#8216;Numărul nu este prim&#8217;);</p>
<p>readkey;</p>
<p>end.<span id="more-181"></span></p>
<p><strong> </strong></p>
<p><strong>Se da un număr natural n. Determinaţi toate numerele prime, inclusiv n.</strong></p>
<p><strong> </strong></p>
<p>Program P2.4;</p>
<p>uses crt;</p>
<p>var i,n,f,j,r,m : integer;</p>
<p>begin</p>
<p>clrscr;</p>
<p>repeat</p>
<p>write(&#8216;Introduceţi un număr natural n=&#8217;);</p>
<p>readln(n);</p>
<p>until n&gt;0;</p>
<p>writeln(&#8216;Introduceţi intervalul de la 1 pînă la&#8217;,n:6&#8242;);</p>
<p>r:=0;</p>
<p>for j:=1 to n do</p>
<p>begin</p>
<p>f:=0;</p>
<p>for i:=2 to j div 2 do</p>
<p>if j mod i=0 then f:=1;</p>
<p>if f=0 then</p>
<p>begin r:=1;</p>
<p>writeln(&#8216;Numarul&#8217;,j:6,&#8217; este prim&#8217;)</p>
<p>end;</p>
<p>end;</p>
<p>if r=0 then writeln(&#8216;Numărul nu este prim&#8217;);</p>
<p>readkey;</p>
<p>end.</p>
<p><strong>Introduceţi doua numere naturale m si n. Determinaţi împărţitorul lor comun NOD.</strong></p>
<p><strong> </strong></p>
<p>Program p2_5;</p>
<p>uses crt;</p>
<p>var i,m,n,k,nod:integer;</p>
<p>begin</p>
<p>clrscr;</p>
<p>repeat</p>
<p>write(&#8216;Introduceţi numărul natural n=&#8217;);</p>
<p>readln(n);</p>
<p>write(&#8216;Introduceţi numărul natural m=&#8217;);</p>
<p>readln(m);</p>
<p>until (n&gt;0) and (m&gt;0);</p>
<p>if n&gt;m then k:=m else k:=n;</p>
<p>for i:=1 to k do</p>
<p>if (n mod i=0) and (m mod i=0) then nod:=i;</p>
<p>writeln(&#8216;Împărţitorul numărului comun &#8216;,n, &#8216;şi&#8217;, m,</p>
<p>&#8216;nod=&#8217;,nod);</p>
<p>readkey;</p>
<p>end.</p>
<p><strong>Tema 3:</strong></p>
<p><strong> </strong></p>
<p><strong>Sunt date următoarele n numerele naturale. Găsiţi suma tuturor numerelor naturale negative.</strong></p>
<p><strong> </strong></p>
<p><strong> </strong></p>
<p>Program P3.1;</p>
<p>uses crt;</p>
<p>var n,x,sum,i : integer;</p>
<p>begin</p>
<p>clrscr;</p>
<p>repeat</p>
<p>write(&#8216;Introduceţi lungimea următoarelor numere n=&#8217;);</p>
<p>readln(n);</p>
<p>until n&gt;0;</p>
<p>sum:=0;</p>
<p>for i:=1 to n do</p>
<p>begin</p>
<p>writeln(&#8216;introdu x=&#8217;);</p>
<p>readln(x);</p>
<p>if x&lt;0 then sum:=sum+x;</p>
<p>end;</p>
<p>if sum=0 then writeln(&#8216;Numărul negativ nu exisţă&#8217;)</p>
<p>else</p>
<p>writeln(&#8216;Suma numerelor negative este sum=&#8217;,sum);</p>
<p>end.</p>
<p><strong>Sunt date următoarele n numere naturale. Găsiţi numărul maximal.</strong></p>
<p>Program P3.2;</p>
<p>uses crt;</p>
<p>var n,x,max,i : integer;</p>
<p>begin</p>
<p>clrscr;</p>
<p>repeat</p>
<p>write(&#8216;Introduceţi lungimea următoarelor numere n=&#8217;);</p>
<p>readln(n);</p>
<p>until n&gt;0;</p>
<p>writeln(&#8216;introdu x=&#8217;);</p>
<p>readln(x);</p>
<p>max:=x;</p>
<p>for i:=2 to n do</p>
<p>begin</p>
<p>writeln(&#8216;introdu x=&#8217;);</p>
<p>readln(x);</p>
<p>if (x&gt;max) then max:=x;</p>
<p>end;</p>
<p>writeln(&#8216;Numărul maximal este max=&#8217;,max);</p>
<p>end.</p>
<p><strong>Sunt date următoarele n numere naturale. Găsiţi numărul maximal din numerele negative.</strong></p>
<p><strong> </strong></p>
<p>Program p3_3;</p>
<p>uses crt;</p>
<p>var n,x,max,i:integer;</p>
<p>begin</p>
<p>clrscr;</p>
<p>repeat</p>
<p>write(&#8216;Introduceţi lungimea numărul natural n=&#8217;);</p>
<p>readln(n);</p>
<p>until n&gt;0;</p>
<p>max:=0;</p>
<p>repeat</p>
<p>write(&#8216;Introduceţi x=&#8217;);</p>
<p>readln(x);</p>
<p>n:=n-1;</p>
<p>until (x&lt;0) o</p>
<p>r (n&lt;=1);</p>
<p>if x&lt;0 then max:=x;</p>
<p>for i:=1 to n do</p>
<p>begin</p>
<p>write(&#8216;Introduceţi x=&#8217;);</p>
<p>readln(x);</p>
<p>if (x&lt;0) and (x&gt;max) then max:=x;</p>
<p>end;</p>
<p>if max=0 then write(&#8216;Numărul negativ nu există&#8217;)</p>
<p>else</p>
<p>writeln(&#8216;Numărul maximal din numerele negative max:=&#8217;,max);</p>
<p>readkey;</p>
<p>end.</p>
<p><strong> </strong></p>
<p><strong>Întroduceţi următoarele n numere naturale. Determinaţi de cîte ori alternează şirul din numărul dat.</strong></p>
<p><strong> </strong></p>
<p>Program P3_4;</p>
<p>uses crt;</p>
<p>var old,new,f:real;</p>
<p>k,i,n:integer;</p>
<p>begin</p>
<p>clrscr;</p>
<p>repeat</p>
<p>write(&#8216;Introduceţi lungimea numărul natural n=&#8217;);</p>
<p>readln(n);</p>
<p>until n&gt;0;</p>
<p>write(&#8216;Introduceţi x=&#8217;);</p>
<p>readln(old);</p>
<p>f:=old;</p>
<p>k:=0;</p>
<p>for i:=2 to n do</p>
<p>begin</p>
<p>write(&#8216;Introduceţi x=&#8217;);</p>
<p>readln(new);</p>
<p>if (new&lt;&gt;0) and (f=0) then f:=new;</p>
<p>if new*f&lt;0 then</p>
<p>begin</p>
<p>f:=new;</p>
<p>k:=k+1;</p>
<p>end;</p>
<p>old:=new;</p>
<p>end;</p>
<p>if k&gt;0 then</p>
<p>writeln(&#8216;Următorul îsi schimba semnul’, k, &#8216;odată&#8217;)</p>
<p>else</p>
<p>writeln(&#8216;Urmatorul nu-si schimba semnul&#8217;);</p>
<p>readkey;</p>
<p>end.</p>
<p><strong>Întroduceţi următoarele numere nenule, 0-sfirsitul enumerării. Determinaţi este oare enumerarea schimbătoare de semn sau nu.</strong></p>
<p>Program P3_5;</p>
<p>uses crt;</p>
<p>var old,new,x:real;</p>
<p>f :boolean;</p>
<p>begin</p>
<p>clrscr;</p>
<p>write(&#8216;Introduceţi x=&#8217;);</p>
<p>readln(old);</p>
<p>write(&#8216;Introduceti x=&#8217;);</p>
<p>read(new);</p>
<p>f:=true;</p>
<p>repeat</p>
<p>if new*old&gt;0 then f:=false;</p>
<p>old:=new;</p>
<p>write(&#8216;Introduceti x=&#8217;);</p>
<p>readln(new);</p>
<p>until new=0;</p>
<p>if f then</p>
<p>writeln(&#8216;Este enumerare schimbătoare de semn&#8217;)</p>
<p>else</p>
<p>writeln(&#8216;Nu este enumerare de semn&#8217;);</p>
<p>readkey;</p>
<p>end.</p>
<p><strong>Tema 4</strong></p>
<p><strong> </strong></p>
<p><strong>Extrageţi intr-un rînd abbccc … zz … z.</strong></p>
<p><strong> </strong></p>
<p>Program P4_1;</p>
<p>uses crt;</p>
<p>var i : char;</p>
<p>k,j : integer;</p>
<p>begin</p>
<p>clrscr;</p>
<p>k:=1;</p>
<p>for i:= &#8216;a&#8217; to &#8216;z&#8217; do</p>
<p>begin</p>
<p>for j:=1 to k do</p>
<p>write(i);</p>
<p>k:=k+1;</p>
<p>end;</p>
<p>writeln;</p>
<p>readkey;</p>
<p>end.</p>
<p><strong> </strong></p>
<p><strong>Extrageţi triunghiul  abc…  z</strong></p>
<p><strong> bc…  z</strong></p>
<p><strong> ……   z</strong></p>
<p><strong> </strong></p>
<p>Program P4_2;</p>
<p>uses crt;</p>
<p>var i,l : char;</p>
<p>j : integer;</p>
<p>begin</p>
<p>clrscr;</p>
<p>l:=&#8217;a';</p>
<p>for j:=1 to 26 do</p>
<p>begin</p>
<p>for i:=&#8217;a&#8217; to l do</p>
<p>write(&#8221;);</p>
<p>for i:=l to &#8216;z&#8217; do</p>
<p>write(i);</p>
<p>write;</p>
<p>l:=succ(l);</p>
<p>end;</p>
<p>writeln;</p>
<p>readkey;</p>
<p>end.</p>
<p><strong>Este dat un şir de simboluri. De înlocuit din ’a’ prin ‘aaa’.</strong></p>
<p><strong> </strong></p>
<p>Program P4_3;</p>
<p>uses crt;</p>
<p>var str : string;</p>
<p>l,i : integer;</p>
<p>begin</p>
<p>clrscr;</p>
<p>writeln(&#8216;Introduceţi text&#8217;);</p>
<p>readln(str);</p>
<p>l:=length(str);</p>
<p>writeln(&#8216;Textul transformat este&#8217;);</p>
<p>for i:=1 to l do</p>
<p>if (str[i]=&#8217;a') then write(&#8216;aaa&#8217;)</p>
<p>else write(str[i]);</p>
<p>writeln;</p>
<p>readkey;</p>
<p>end.</p>
<p><strong>Este dat un şir de simboluri. Ştergeţi din ia toate semnele de punctuaţie.</strong></p>
<p>Program P4_4;</p>
<p>uses crt;</p>
<p>var str : string;</p>
<p>l,i : integer;</p>
<p>m : set of char;</p>
<p>begin</p>
<p>clrscr;</p>
<p>m:=['.',',','!',':',';','?','-'];</p>
<p>writeln(&#8216;Introduceţi text&#8217;);</p>
<p>readln(str);</p>
<p>l:=length(str);</p>
<p>writeln(&#8216;Textul transformat este&#8217;);</p>
<p>for i:=1 to l do</p>
<p>if not(str[i] in m) then write(str[i]);</p>
<p>writeln;</p>
<p>readkey;</p>
<p>end.</p>
<p><strong> </strong></p>
<p><strong>Este dat un şir de simboluri. De schimbat pe toate semnele exclamării pe puncte.</strong></p>
<p>Program P4_5;</p>
<p>uses crt;</p>
<p>var str : string;</p>
<p>l,i : integer;</p>
<p>begin</p>
<p>clrscr;</p>
<p>writeln(&#8216;Introduceţi text&#8217;);</p>
<p>readln(str);</p>
<p>l:=length(str);</p>
<p>writeln(&#8216;Textul transformat este&#8217;);</p>
<p>for i:=1 to l do</p>
<p>if (str[i]=&#8217;!') then write(&#8216;.&#8217;);</p>
<p>writeln;</p>
<p>readkey;</p>
<p>end.</p>
<p><strong>Tema 5</strong></p>
<p><strong>Este dat un şir de simboluri. De ividenţiat sub sirul dintre primul si al doilea punct.</strong></p>
<p>Program P5_1;</p>
<p>uses crt;</p>
<p>var s1,str : string;</p>
<p>l,i : integer;</p>
<p>begin</p>
<p>clrscr;</p>
<p>writeln(&#8216;Introduceţi textul&#8217;);</p>
<p>readln(str);</p>
<p>s1:=str;</p>
<p>l:=pos(&#8216;.&#8217;,s1);</p>
<p>if i&lt;&gt;0 then</p>
<p>begin</p>
<p>delete(s1,1,l);</p>
<p>i:=pos(&#8216;.&#8217;,s1);</p>
<p>if i&lt;&gt;0 then</p>
<p>begin</p>
<p>s1:=copy(s1,1,i-1);</p>
<p>writeln(&#8216;Evidenţiaţi şirul dintre primul si al doilea</p>
<p>numar&#8217;);</p>
<p>writeln(s1);</p>
<p>end</p>
<p>else</p>
<p>writeln(&#8216;In text este doar un singur punct);</p>
<p>end</p>
<p>else</p>
<p>wrireln(&#8216;In text nu exista punct&#8217;);</p>
<p>writeln;</p>
<p>readkey;</p>
<p>end.</p>
<p><strong>Este dat un şir de simboluri. De evidenţiat sub şirul dintre primul si ultimul punct.</strong></p>
<p><strong> </strong></p>
<p>Program P5_1;</p>
<p>uses crt;</p>
<p>var s1,str : string;</p>
<p>l,i,j : integer;</p>
<p>begin</p>
<p>clrscr;</p>
<p>writeln(&#8216;Introduceţi textul&#8217;);</p>
<p>readln(str);</p>
<p>s1:=str;</p>
<p>l:=pos(&#8216;.&#8217;,s1);</p>
<p>j:=i; l:=0;</p>
<p>if i&lt;&gt;0 then</p>
<p>begin</p>
<p>while i&lt;&gt;0 do</p>
<p>begin</p>
<p>delete(s1,1,l);</p>
<p>i:=pos(&#8216;.&#8217;,s1);</p>
<p>end;</p>
<p>if i&lt;&gt;0 then</p>
<p>begin</p>
<p>s1:=copy(str,j+1,l-j-1);</p>
<p>writeln(&#8216;Evidentiati sirul primului numar&#8217;);</p>
<p>writeln(s1);</p>
<p>end</p>
<p>else</p>
<p>writeln(&#8216;In text este doar un singur punct);</p>
<p>end</p>
<p>else</p>
<p>wrireln(&#8216;In text nu exista punct&#8217;);</p>
<p>readkey;</p>
<p>end.</p>
<p><strong> </strong></p>
<p><strong>Este dat un şir de simboluri. De evidenţiat sub şirul dintre primul si ultimul punct.</strong></p>
<p>Program P5_2;</p>
<p>uses crt;</p>
<p>var s1,str : string;</p>
<p>l,i,j : integer;</p>
<p>begin</p>
<p>clrscr;</p>
<p>writeln(&#8216;Introduceti text&#8217;);</p>
<p>readln(str);</p>
<p>s1:=str;</p>
<p>l:=pos(&#8216;.&#8217;,s1);</p>
<p>j:=i; l:=0;</p>
<p>if i&lt;&gt;0 then</p>
<p>begin</p>
<p>while i&lt;&gt;0 do</p>
<p>begin</p>
<p>delete(s1,1,l);</p>
<p>l:=l+i;</p>
<p>i:=pos(&#8216;.&#8217;,s1);</p>
<p>end;</p>
<p>if l&lt;&gt;j then</p>
<p>begin</p>
<p>s1:=copy(str,j+1,l-j-1);</p>
<p>writeln(&#8216;Evidentiati sirul primului numar&#8217;);</p>
<p>writeln(s1);</p>
<p>end</p>
<p>else</p>
<p>writeln(&#8216;In text este doar un singur punct);</p>
<p>end</p>
<p>else</p>
<p>wrireln(&#8216;In text nu exista punct&#8217;);</p>
<p>readkey;</p>
<p>end.</p>
<p><strong> </strong></p>
<p><strong>Este dat un şir de caractere până la un punct. Grupul de simboluri intre spatii se scot. De găsit câte cuvinte se încep cu una si aceeaşi litera.</strong></p>
<p><strong> </strong></p>
<p>Program P5_3;</p>
<p>uses crt;</p>
<p>var   s1 : string;</p>
<p>k,i,j : integer;</p>
<p>x : char;</p>
<p>begin</p>
<p>clrscr;</p>
<p>writeln(&#8216;Introduceti text&#8217;);</p>
<p>readln(s1);</p>
<p>i:=pos(&#8216;.&#8217;,s1);</p>
<p>s1:=copy(s1,1,j-1)+&#8221;;</p>
<p>k:=0;</p>
<p>repeat</p>
<p>if s1[1]&lt;&gt;&#8221;then x:=s1[1];</p>
<p>i:=pos(&#8216;.&#8217;,s1);</p>
<p>if i&gt;1 then if x=s1[-1] then k:=k+1;</p>
<p>delete(s1,1,l);</p>
<p>until l=0;</p>
<p>writeln(&#8216;Evidentiati numarul de cuvinte k=&#8217;,k&#8217;);</p>
<p>readkey;</p>
<p>end.</p>
<p><strong> </strong></p>
<p><strong>Este dat un şir de caractere până la un punct. Grupul de simboluri intre spatii se scot. De găsi câte cuvinte conţine trei litere din l.</strong></p>
<p><strong> </strong></p>
<p>Program P5_4;</p>
<p>uses crt;</p>
<p>var m,k,l,j : integer;</p>
<p>s1 : string;</p>
<p>begin</p>
<p>clrscr;</p>
<p>writeln(&#8216;Introduceti text&#8217;);</p>
<p>readln(s1);</p>
<p>j:=pos(&#8216;.&#8217;,s1);</p>
<p>s1:=copy(s1,1,j-1)+&#8221;;</p>
<p>m:=0;</p>
<p>repeat</p>
<p>j:=pos(&#8221;,s1);</p>
<p>if l&gt;1 then begin</p>
<p>k:=0;</p>
<p>for j:=1 to l-1 do</p>
<p>if s1[j]=&#8217;e'then k:=k+1;</p>
<p>if k=3 then m:=m+1;</p>
<p>end;</p>
<p>delete(s1,1,l);</p>
<p>until l=0;</p>
<p>writeln(&#8216;Numarul de cuvinte este k=&#8217;,k);</p>
<p>readkey;</p>
<p>end.</p>
<p><strong> </strong></p>
<p><strong>Este dat un şir de caractere până la un punct. Grupul de simboluri intre spatii se scot. De verificat daca ea este de la un număr real.</strong></p>
<p><strong> </strong></p>
<p>Program P5_5;</p>
<p>uses crt;</p>
<p>var l,k : integer;</p>
<p>s1 : string;</p>
<p>begin</p>
<p>clrscr;</p>
<p>writeln(&#8216;Introduceti text&#8217;);</p>
<p>readln(s1);</p>
<p>k:=0; l:=1;</p>
<p>repeat</p>
<p>case s1[l] of</p>
<p>&#8217;0&#8242;..&#8217;9&#8242; :k:=k+(ord(s1[l])-ord(&#8217;0&#8242;));</p>
<p>&#8221;:;</p>
<p>else k:=-1;</p>
<p>end;</p>
<p>i:=i+1</p>
<p>until (s1[l]==&#8217;.')or(k&lt;0);</p>
<p>if k mod 5 = 0 then</p>
<p>writeln(&#8216;Esre o cifra zecimala,reala 5&#8242;);</p>
<p>readkey;</p>
<p>end.</p>
<p><strong>Tema 6</strong></p>
<p><strong>Se dată o mulţime de numere. De găsit elementul maximal dacă sînt careva elemente maximale. De evidenţiat câte elemente sunt.</strong></p>
<p>Program P6_1;</p>
<p>uses crt;</p>
<p>var mas:array[1..10] of integer;</p>
<p>i,max,k,n : integer;</p>
<p>begin</p>
<p>clrscr;</p>
<p>writeln(&#8216;Introduceţi mărimea şirului n=&#8217;);</p>
<p>readln(N);</p>
<p>writeln(&#8216;Introduceţi elementele şirului&#8217;);</p>
<p>readln(mas[1]);</p>
<p>max:=mas[1];</p>
<p>k:=1;</p>
<p>for i:=2 to n do</p>
<p>begin</p>
<p>write(&#8216;Introduceţi elementele şirului&#8217;);</p>
<p>readln(mas[1]);</p>
<p>if max&lt;mas[i] then</p>
<p>begin</p>
<p>max:=mas[i];</p>
<p>k:=1</p>
<p>end</p>
<p>else</p>
<p>if max = mas[i] then k:=k+1;</p>
<p>end;</p>
<p>writeln(&#8216;Max=&#8217;,max, &#8216;Aceste elemente&#8217;, k);</p>
<p>readkey;</p>
<p>end.</p>
<p><strong> </strong></p>
<p><strong>Este dată o mulţime de numere. De găsit câte perechi de elemente vecine identice sunt în ea. </strong></p>
<p><strong> </strong></p>
<p>Program P6_2;</p>
<p>const m=100;</p>
<p>var mas : array[1..m] of integer;</p>
<p>i,k,n : integer;</p>
<p>begin</p>
<p>readln(n);</p>
<p>k:=0;</p>
<p>for i:=1 to n do</p>
<p>begin</p>
<p>write(&#8216;Introduceţi elementele şirului&#8217;);</p>
<p>readln(mas[1]);</p>
<p>end;</p>
<p>for i:=1 to n-1 do</p>
<p>if mas[i]=mas[i+1] then k:=k+1;</p>
<p>writeln(&#8216;Perechile asemenea in şirul elementului este &#8216;,k);</p>
<p>end.</p>
<p><strong> </strong></p>
<p><strong>Este dată o mulţime de numere. De găsit cel mai mare element şi să-l plasăm pe primul loc.</strong></p>
<p>Program P6_3;</p>
<p>const m=100;</p>
<p>var mas : array[1..m] of integer;</p>
<p>i,k,new,n : integer;</p>
<p>begin</p>
<p>write(&#8216;Introduceţi mărimea şirului n=&#8217;);</p>
<p>readln(n);</p>
<p>writeln(&#8216;Introduceţi&#8217;, n, &#8216;Şirul elementului&#8217;);</p>
<p>for i:=1 to n do</p>
<p>read(mas[i]);</p>
<p>writeln;</p>
<p>new:=mas[n];</p>
<p>k:=n;</p>
<p>for i:=n downto 1 do</p>
<p>if mas[i]&gt;new then</p>
<p>begin</p>
<p>k:=i;</p>
<p>new:=mas[i]</p>
<p>end;</p>
<p>mas[k]:=mas[1];</p>
<p>mas[1]:=new;</p>
<p>for i:=1 to n do</p>
<p>write(mas[i]:4);</p>
<p>writeln</p>
<p>end.</p>
<p><strong> </strong></p>
<p><strong>Se cunosc datele despre reuşita a nu mai mult de 27 grupe de studiu(în procente). De evidenţiat cu cît trebuie de ridicat reuşita în cea mai rămasă grupă pentru a atinge nivelul mediu.</strong></p>
<p><strong> </strong></p>
<p>Program P6_4;</p>
<p>const m=100;</p>
<p>var mas : array[1..m] of integer;</p>
<p>i,n : integer;</p>
<p>min,sum : real;</p>
<p>begin</p>
<p>write(&#8216;Introduceţi mărimea şirului n=&#8217;);</p>
<p>readln(n);</p>
<p>repeat</p>
<p>writeln(&#8216;Introduceţi elementului şirului(%)&#8217;);</p>
<p>readln(mas[1]);</p>
<p>until (mas[1]&lt;101)and(mas[1]&gt;0);</p>
<p>min:=mas[1];sum:=min;</p>
<p>for i:=2 to n do</p>
<p>begin</p>
<p>sum:=sum+mas[i];</p>
<p>if min&gt;mas[i] then min:=mas[i];</p>
<p>end;</p>
<p>writeln(&#8216;Dea ridica cea mai înalta grupa&#8217;);</p>
<p>writeln(&#8216;Din cel mai jos nivel pe&#8217;,(sum/n)-min);</p>
<p>end.</p>
<p><strong>Sunt cunoscute datele despre temperatura medie lunară pe an. De evidenţiat care temperatură a fost cea mai înaltă vara şi cea mai joasă iarna.</strong></p>
<p><strong> </strong></p>
<p>Program P6_5;</p>
<p>const m=12;</p>
<p>var mas : array[1..m] of real;</p>
<p>i,n : integer;</p>
<p>min,max : real;</p>
<p>begin</p>
<p>for i:=1 to 12 do</p>
<p>begin</p>
<p>write(&#8216;Introduceţi mărimea şirului&#8217;);</p>
<p>readln(mas[i]);</p>
<p>end;</p>
<p>max:=mas[6];min:=mas[12];</p>
<p>for i:=7 to 8 do</p>
<p>if max&lt;mas[i] then max:=mas[i];</p>
<p>for i:=1 to 2 do</p>
<p>if min&gt;mas[i] then min:=mas[i];</p>
<p>writeln(&#8216;Cea mai înalta temperatura vara&#8217;, max);</p>
<p>writeln(&#8216;Cea mai joasa temperatura iarna&#8217;, min);</p>
<p>end.</p>
<p><strong>Tema 7</strong></p>
<p><strong>Este dată matricea N x M, formată din numere naturale. De găsit cel mai mic element şi poziţia lui dacă sunt mai multe de aceste elemente, de afişat pe ecran poziţiile fiecăruia.</strong></p>
<p><strong> </strong></p>
<p>Program P7_1;</p>
<p>Const t;100; s;100;</p>
<p>Var A:array [1..t,1..s] of integer;</p>
<p>n,m,im,jm,i,j,min,k : integer;</p>
<p>begin</p>
<p>write(&#8216;Introduceţi mărimea şirului&#8217;);</p>
<p>readln(n);</p>
<p>writeln(&#8216;Introduceţi mărimea şirului&#8217;);</p>
<p>readln(m);</p>
<p>for i:=1 to n do</p>
<p>begin</p>
<p>writeln(&#8216;Introduceţi&#8217;, m, &#8216;şiru&#8217;l);</p>
<p>for j:’1 to m do</p>
<p>read(a[i,j]);</p>
<p>end;</p>
<p>min:=a[1,1];</p>
<p>im:=1;jm:=1;k:=0;</p>
<p>for i:=1 to n do</p>
<p>for j:=1 to m do</p>
<p>if min&gt;a[i,j] then</p>
<p>begin</p>
<p>k:=1;im:=i;jm:=j;</p>
<p>min:= a[i,j]</p>
<p>end</p>
<p>else</p>
<p>if min= a[i,j] then k:=k+1;</p>
<p>if k=1 then</p>
<p>begin</p>
<p>writeln(’Cel mai mic element este min=’,min);</p>
<p>writeln(’În’, im, ’În rînd’, jm, ’Coloniţă’);</p>
<p>end</p>
<p>else</p>
<p>begin</p>
<p>writeln(’Î n matricea’,k, ’Elementul minimal min =’,min);</p>
<p>for i:=im to n do</p>
<p>for j:=1 to m do</p>
<p>if min=a[i,j] then writeln(’În rând’, i, ’În coloniţaâ,j)</p>
<p>end</p>
<p>end.</p>
<p><strong>Este dată matricea N x M, formată din numere naturale. De a găsi în şiruri cele mai mici elemente din dreapta şi de a găsi poziţia lor.</strong></p>
<p>Program P7_2;</p>
<p>Const t;100; s;100;</p>
<p>Var A:array [1..t,1..s] of integer;</p>
<p>n,m,jm,i,j,min : integer;</p>
<p>begin</p>
<p>write(&#8216;Introduceţi mărimea şirului&#8217;);</p>
<p>readln(n);</p>
<p>writeln(&#8216;Introduceţi mărimea şirului&#8217;);</p>
<p>readln(m);</p>
<p>for i:=1 to n do</p>
<p>begin</p>
<p>writeln(&#8216;Introduceţi&#8217;, m, &#8216;şirul&#8217;);</p>
<p>for j:’1 to m do</p>
<p>read(a[i,j]);</p>
<p>end;</p>
<p>for i:=1 to n do</p>
<p>begin</p>
<p>min:= (a[i,m]);</p>
<p>jm:=m;</p>
<p>for j:=m downto 1 do</p>
<p>if min&gt;a[i,j] then</p>
<p>begin</p>
<p>jm:=j;</p>
<p>min:= a[i,j]</p>
<p>end;</p>
<p>writeln(’În rîndul i=’, i, ’Din dreapta min=’,min);</p>
<p>writeln(’În coloniţa’, jm);</p>
<p>end;</p>
<p>end.</p>
<p><strong>Este dată matricea N x M, formată din numere naturale. De găsit cele mai mici elemente din stânga şi a le pune în prima coloniţă.</strong></p>
<p>Program P7_3;</p>
<p>Const t;100; s;100;</p>
<p>Var A:array [1..t,1..s] of integer;</p>
<p>n,m,jm,i,j,min : integer;</p>
<p>begin</p>
<p>write(&#8216;Introduceţi mărimea şirului n=&#8217;);</p>
<p>readln(n);</p>
<p>writeln(&#8216;Introduceţi mărimea şirului m=&#8217;);</p>
<p>readln(m);</p>
<p>for i:=1 to n do</p>
<p>begin</p>
<p>writeln(&#8216;Introduceţi&#8217;, m, &#8216;şirul&#8217;);</p>
<p>for j:=1 to m do</p>
<p>read(a[i,j]);</p>
<p>end;</p>
<p>for i:=1 to n do</p>
<p>begin</p>
<p>min:= (a[i,1]);</p>
<p>jm:=1;</p>
<p>for j:=1 to m do do</p>
<p>if min&gt;a[i,j] then</p>
<p>begin</p>
<p>jm:=j;</p>
<p>min:= a[i,j]</p>
<p>end;</p>
<p>a[i,jm]:= a[i,1]</p>
<p>a[i,1]:=min</p>
<p>end;</p>
<p>for i:=1 to n do</p>
<p>begin</p>
<p>for j:=1 to m do</p>
<p>write(a[i,j]:4);</p>
<p>writeln</p>
<p>end;</p>
<p>end.</p>
<p><strong>Este dată matricea N x M, alcătuită din litere latine. De aranjat fiecare şir în ordine alfabetică.</strong></p>
<p>Program P7_4;</p>
<p>Const t;100; s;100;</p>
<p>Var A:array [1..t,1..s] of integer;</p>
<p>n,m,i,j,k : integer;</p>
<p>temp:char;</p>
<p>begin</p>
<p>write(&#8216;Introduceţi mărimea şirului n=&#8217;);</p>
<p>readln(n);</p>
<p>writeln(&#8216;Introduceţi mărimea şirului m=&#8217;);</p>
<p>readln(m);</p>
<p>writeln(’Introduceţi’,m*n, ’litere’);</p>
<p>for i:=1 to n do</p>
<p>for j:=1 to m do</p>
<p>read(a[i,j]);</p>
<p>for i:=1 to n do</p>
<p>begin</p>
<p>for k:=1 to m-1 do</p>
<p>for j:=k to m do</p>
<p>if a[i,k]&gt;a[i,j] then</p>
<p>begin</p>
<p>temp:= a[i,k]</p>
<p>a[i,k]:=a[i,j]</p>
<p>a[i,j]:=temp;</p>
<p>end;</p>
<p>end;</p>
<p>fpr i:=1 to n do</p>
<p>begin</p>
<p>for j:=1 to m do</p>
<p>write(a[i,j]);</p>
<p>writeln</p>
<p>end;</p>
<p>end.</p>
<p><strong> </strong></p>
<p><strong>Este dată matricea pătrată N x M, alcătuită din numere naturale, de a o întoarce la 90 de grade împotriva acelor ceasornice şi a extrage rezultatele pe ecran. </strong></p>
<p>Program P7_5;</p>
<p>Const t;100; s;100;</p>
<p>Var A:array [1..t,1..s] of integer;</p>
<p>m,i,j,k : integer;</p>
<p>temp:char;</p>
<p>begin</p>
<p>write(&#8216;Introduceţi lungimea matricei m=&#8217;);</p>
<p>readln(m);</p>
<p>writeln(&#8216;Matricea de ieşire&#8217;);</p>
<p>k:=1;</p>
<p>for i:=1 to m do</p>
<p>for j:=1 to m do</p>
<p>begin</p>
<p>a[i,j]:=k;</p>
<p>k:=k+1;</p>
<p>if j&lt;m then write(a[i,j]:4)</p>
<p>else writeln(a[i,j]:4)</p>
<p>end;</p>
<p>writeln(’Matricea după întoarcere la 90 de grade’’);</p>
<p>for i:=1 to m do</p>
<p>for j:=1 to m do</p>
<p>begin</p>
<p>b[i,j]:=a[j,m+1-i];</p>
<p>if j&lt;m then write(b[i,j]:4)</p>
<p>else writeln(b[i,j]:4)</p>
<p>end;</p>
<p>end.</p>
<p><strong>Tema 8</strong></p>
<p><strong>Dgukoolfju</strong></p>
<p>Program P8_1;</p>
<p>Var f1,f2 : text;</p>
<p>X : char;</p>
<p>Begin</p>
<p>assign(f1,’c\e\one’);</p>
<p>reset(f1);</p>
<p>assign(f2,’’);</p>
<p>while not eof(f1) do</p>
<p>begin</p>
<p>read(1,x);</p>
<p>write(f2,x+’’+x)</p>
<p>end;</p>
<p>writeln;</p>
<p>close(f1);</p>
<p>close(f2)</p>
<p>end.</p>
<p><strong>Mhfzkrdfdf</strong></p>
<p>Program P8_2;</p>
<p>Var f1 : text;</p>
<p>x : char;</p>
<p>k : integer;</p>
<p>Begin</p>
<p>k:=0;</p>
<p>assign(f1, ’two’);</p>
<p>reset(f1);</p>
<p>while not eof(f1) do</p>
<p>begin</p>
<p>read(f1,x);</p>
<p>if (x=’a’) or (x=’A’) then k:=k+1;</p>
<p>end;</p>
<p>writeln(‚Numărul de litere A:’, K);</p>
<p>closes(f1);</p>
<p>end.</p>
<p><strong>Dtjuetdlofz</strong></p>
<p>Program P8_3;</p>
<p>Var f1 : file of char;</p>
<p>f2 : text;</p>
<p>x : char;</p>
<p>i : integer;</p>
<p>begin</p>
<p>assign(f1, ’two’);</p>
<p>reset(f1);</p>
<p>assign(f2, ’’);</p>
<p>rewrite(f2);</p>
<p>for i:=1 to 2 do</p>
<p>begin</p>
<p>while not eof(f1) do</p>
<p>begin</p>
<p>read(f1,x);</p>
<p>write(f2,x);</p>
<p>end;</p>
<p>writeln;</p>
<p>seek(f1,0)</p>
<p>end;</p>
<p>writeln;</p>
<p>closes(f1);</p>
<p>closes(f2);</p>
<p>end.</p>
<p><strong>K,tzibnhggg</strong></p>
<p>Program P8_4;</p>
<p>Var f1 : file of char;</p>
<p>f2 : text;</p>
<p>x : char;</p>
<p>l,i : integer;</p>
<p>begin</p>
<p>assign(f1, ’two’);</p>
<p>reset(f1);</p>
<p>assign(f2, ’’);</p>
<p>rewrite(f2);</p>
<p>l:=filesize(f1);</p>
<p>while not eof(f1) do</p>
<p>begin</p>
<p>read(f1,x);</p>
<p>write(f2,x)</p>
<p>end;</p>
<p>writeln;</p>
<p>for i:=l-1 downto 0 do</p>
<p>begin</p>
<p>seek(f1,i);</p>
<p>read(f1,x);</p>
<p>write(f2,x)</p>
<p>end;</p>
<p>writeln;</p>
<p>closes(f1);</p>
<p>closes(f2);</p>
<p>end.</p>
<p><strong>Khfkdhztswreh</strong></p>
<p>Program P8_5;</p>
<p>f2 : text;</p>
<p>x : char;</p>
<p>l,i : integer;</p>
<p>begin</p>
<p>assign(f1, ’two’);</p>
<p>reset(f1);</p>
<p>assign(f2, ’’);</p>
<p>rewrite(f2);</p>
<p>k:=-1;</p>
<p>while note of(f1) do</p>
<p>begin</p>
<p>k:=k+1;</p>
<p>read(f1,x);</p>
<p>if x&lt;&gt;’.’ then write(f2,x)</p>
<p>else</p>
<p>begin</p>
<p>seek(f1,k+1);</p>
<p>write(f2,x);</p>
<p>trunca(f1)</p>
<p>end;</p>
<p>end;</p>
<p>writeln;</p>
<p>closes(f1);</p>
<p>closes(f2);</p>
<p>end.</p>
<p><strong>Tema 9</strong></p>
<p><strong> </strong></p>
<p><strong>Jhdkzustz</strong></p>
<p>Program P9_1;</p>
<p>const u=100;</p>
<p>Var n,m : integer;</p>
<p>t : array of integer;</p>
<p>procedure tab_in(var l,k : integer);</p>
<p>var i,j : integer;</p>
<p>begin</p>
<p>for i:=1 to l do</p>
<p>beginn</p>
<p>for j:=1 to k do</p>
<p>begin</p>
<p>’);</p>
<p>read(t)</p>
<p>end;</p>
<p>writeln</p>
<p>end</p>
<p>end;</p>
<p>procedure tab_out(var l,k : integer);</p>
<p>var i,j : integer;</p>
<p>begin</p>
<p>for i:=1 to l do</p>
<p>begin</p>
<p>for j:=1 to k do</p>
<p>write(t);</p>
<p>writeln</p>
<p>end</p>
<p>end;</p>
<p>begin</p>
<p>writeln(’Introduceţi mărimea matricii N x M’);</p>
<p>write(’n=’);</p>
<p>read(n);</p>
<p>write(’m=’);</p>
<p>read(m);</p>
<p>tab_in(n,m);</p>
<p>writeln(’Matricea’,m,’x’,m);</p>
<p>tab_out(n,m)</p>
<p>end.</p>
<p><strong>Jhzdddddd</strong></p>
<p>Program P9_2;</p>
<p>var n,m : integer;</p>
<p>function min(i,j : integer) : integer;</p>
<p>begin</p>
<p>if i&lt;j then min:=i;</p>
<p>else min:=j;</p>
<p>end;</p>
<p>begin</p>
<p>writeln(’Introduceţi două numere întregi’);</p>
<p>readln(i,j);</p>
<p>writeln(’min=’,min(i,j));</p>
<p>end.</p>
<p><strong>Fgjjjjjjjj</strong></p>
<p>Program P9_3;</p>
<p>var n : longing;</p>
<p>k : integer;</p>
<p>function min(i,j : longing) : integer;</p>
<p>var s : integer;</p>
<p>begin</p>
<p>s:=0;</p>
<p>repeat</p>
<p>s:=s+n mod 10;</p>
<p>n:=n div 10</p>
<p>until n=0;</p>
<p>num:=s;</p>
<p>end;</p>
<p>begin</p>
<p>write(’Introduceţi un număr intreg n=’);</p>
<p>readln(n);</p>
<p>k:=num(n);</p>
<p>writeln(’Suma cifrelor lor asemănătoare lui’,k);</p>
<p>end.</p>
<p><strong>Ffjjjjjjjjj</strong></p>
<p>Program P9_4;</p>
<p>var a,b,d,k,x,y : integer;</p>
<p>function min(i,j : longing) : integer;</p>
<p>begin</p>
<p>if if i&lt;j then min:=i;</p>
<p>else min:=j;</p>
<p>end;</p>
<p>function min(i,j : longing) : integer;</p>
<p>begin</p>
<p>if if i&lt;j then max:=i;</p>
<p>else max:=j;</p>
<p>end;</p>
<p>begin</p>
<p>repeat</p>
<p>write(’Introduceţi două numere intreg ’);</p>
<p>readln(a,b);</p>
<p>until (a&gt;0) and (b&gt;0);</p>
<p>k:=1;</p>
<p>x:=min(a,b);</p>
<p>y:=max(a,b);</p>
<p>while x&lt;&gt;y do</p>
<p>begin</p>
<p>k:=k+1;</p>
<p>d:=y-x;</p>
<p>y:=max(d,x);</p>
<p>x:=min(d,x);</p>
<p>end;</p>
<p>writeln(’Numărul la pătrat căutat :’,k);</p>
<p>end.</p>
<p><strong>Jhgggggggg</strong></p>
<p>Program P9_5;</p>
<p>var i : integer;</p>
<p>function fib(i,j : integer) : integer;</p>
<p>begin</p>
<p>if i=j then fib:=0;</p>
<p>if (i=1) or (i=2) then fib:=1</p>
<p>else</p>
<p>fib:=fib(i-1)+fib(i-2)</p>
<p>end;</p>
<p>begin</p>
<p>repeat</p>
<p>write(’Introduceţi în ordine numerele întregi i=’);</p>
<p>readln(i);</p>
<p>until i&gt;=;</p>
<p>writeln(i:5,’-Numărul fib corect’,fib(i));</p>
<p>end.</p>
<p><strong>Tema 10</strong></p>
<p><strong>Fjjjjjjjjjjjj</strong></p>
<p>Program P10_1;</p>
<p>uses crt;</p>
<p>var i : integer;</p>
<p>begin</p>
<p>textbackground(2);</p>
<p>clrscr;</p>
<p>delay(1000);</p>
<p>textcolor(0);</p>
<p>for i:=1 to 11 do</p>
<p>begin</p>
<p>textcolor(i+4);</p>
<p>writeln;</p>
<p>write(’’:2*i);</p>
<p>write(’One moment,please&#8230;’);</p>
<p>delay(1500);</p>
<p>end;</p>
<p>readln;</p>
<p>textbackground(1);</p>
<p>clrscr</p>
<p>end.</p>
<p><strong>Ddddtttttttt</strong></p>
<p>Program P10_2;</p>
<p>uses crt;</p>
<p>var i,x : integer;</p>
<p>begin</p>
<p>textbackground(1);</p>
<p>clrscr;</p>
<p>x:=1;</p>
<p>delay(1000);</p>
<p>textcolor(0);</p>
<p>for i:=1 to 11 do</p>
<p>begin</p>
<p>if (i&lt;&gt;1) and (i&lt;&gt;9) then textbackground(i);</p>
<p>else textbackground(i+4);</p>
<p>window(x,9,x+5,14);</p>
<p>clrscr;</p>
<p>writeln;</p>
<p>writeln(’?’);</p>
<p>delay(1500);</p>
<p>x:=x+7;</p>
<p>end;</p>
<p>readln;</p>
<p>textbackground(1);</p>
<p>clrscr</p>
<p>end.</p>
<p><strong>Kkkkkkkkkkkkk</strong></p>
<p>Program P10_3;</p>
<p>uses crt;</p>
<p>var i : integer;</p>
<p>begin</p>
<p>textbackground(2);</p>
<p>clrscr;</p>
<p>delay(1000);</p>
<p>for i:=1 to 15 do</p>
<p>begin</p>
<p>textcolor(1+random(15));</p>
<p>window(2*i,i,80-2*i,26-i);</p>
<p>clrscr;</p>
<p>delay(1500);</p>
<p>end;</p>
<p>readln;</p>
<p>textbackground(2);</p>
<p>clrscr</p>
<p>end.</p>
<p><strong>Lllllllll</strong></p>
<p>Program P10_4;</p>
<p>uses crt;</p>
<p>var x,y,i : integer;</p>
<p>begin</p>
<p>textbackground(2);</p>
<p>clrscr;</p>
<p>x:=5;</p>
<p>y:=10;</p>
<p>delay(1000);</p>
<p>for i:=1 to 15 do</p>
<p>begin</p>
<p>x:=x+2;</p>
<p>textcolor(9);</p>
<p>window(x,y,x+18,y+7);</p>
<p>clrscr;</p>
<p>sound(300);</p>
<p>nosound;</p>
<p>delay(500);</p>
<p>nosound;</p>
<p>textcolor(2);</p>
<p>clrscr;</p>
<p>delay(300);</p>
<p>end;</p>
<p>readln;</p>
<p>clrscr</p>
<p>end.</p>
<p><strong>Ttttttttt</strong></p>
<p>Program P10_5;</p>
<p>uses crt;</p>
<p>var x,y,i : integer;</p>
<p>begin</p>
<p>textbackground(2);</p>
<p>clrscr;</p>
<p>x:=30;</p>
<p>y:=2;</p>
<p>delay(1000);</p>
<p>for i:=1 to 15 do</p>
<p>begin</p>
<p>y:=y+1;</p>
<p>textcolor(9);</p>
<p>window(x,y,x+18,y+7);</p>
<p>clrscr;</p>
<p>sound(300);</p>
<p>delay(500);</p>
<p>nosound;</p>
<p>textcolor(2);</p>
<p>clrscr;</p>
<p>delay(300);</p>
<p>end;</p>
<p>readln;</p>
<p>clrscr</p>
<p>end.</p>
]]></content:encoded>
			<wfw:commentRss>http://resurse-educationale.uv.ro/?feed=rss2&#038;p=181</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>68 de pagini de probleme rezolvate si teorie in Pascal</title>
		<link>http://resurse-educationale.uv.ro/?p=154</link>
		<comments>http://resurse-educationale.uv.ro/?p=154#comments</comments>
		<pubDate>Thu, 17 Mar 2011 08:47:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Pascal]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Teze]]></category>
		<category><![CDATA[algoritmi]]></category>
		<category><![CDATA[probleme]]></category>
		<category><![CDATA[programare]]></category>
		<category><![CDATA[programe rezolvate]]></category>
		<category><![CDATA[teza]]></category>

		<guid isPermaLink="false">http://resurse-educationale.uv.ro/?p=154</guid>
		<description><![CDATA[1.1. GHID DE LUCRU Rezolvarea unei probleme cu ajutorul calculatorului presupune parcurgerea următoarelor faze: ‑ precizarea completă a problemei de rezolvat; ‑ proiectarea algoritmului de rezolvare a problemei; ‑ programarea propriu‑zisă (implementarea); ‑ testarea programului obţinut; ‑ exploatarea şi întreţinerea &#8230; <a href="http://resurse-educationale.uv.ro/?p=154">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><em><a rel="attachment wp-att-155" href="http://resurse-educationale.uv.ro/?attachment_id=155"><br />
</a></em></p>
<p><em>1.1. GHID DE LUCRU </em></p>
<p>Rezolvarea unei probleme cu ajutorul calculatorului presupune parcurgerea următoarelor faze:</p>
<p>‑ precizarea completă a problemei de rezolvat;</p>
<p>‑ proiectarea algoritmului de rezolvare a problemei;</p>
<p>‑ programarea propriu‑zisă (implementarea);</p>
<p>‑ testarea programului obţinut;</p>
<p>‑ exploatarea şi întreţinerea programului.</p>
<p>Aceste faze constituie ciclul de viaţă al programului.</p>
<p>De foarte multe ori, atunci când beneficiarul discută cu executantul despre problema care trebuie rezolvată, acesta dă un enunţ vag, incomplet, dacă nu chiar inexact sau contradictoriu, pentru problema de rezolvat. Urmează mai multe discuţii, uneori întinse în timp, în urma cărora se ajunge la un enunţ relativ complet şi exact al problemei. Întrucât problemele propuse sunt luate din domeniul matematicii sarcina noastră va fi mult mai uşoară.</p>
<p>După enunţarea problemei urmează modelarea matematică şi căutarea unei metode de rezolvare a ei. Uneori sunt posibile mai multe moduri de rezolvare, caz în care se va alege metoda considerată cea mai potrivită scopului urmărit. Modelarea matematică şi alegerea unei metode de rezolvare se îmbină aproape întotdeauna cu conceperea algoritmului, fiind greu să se separe una de cealaltă. Activităţile de mai sus constituie ceea ce numim proiectarea programului.</p>
<p>Pe toată durata proiectării trebuie menţionate în scris toate deciziile luate, întrucât este posibil ca ulterior să fie necesară o reproiectare şi deci, să se revină asupra acestor decizii. Documentaţia realizată este necesară în primul rând pentru următoarea fază a ciclului de viaţă al programului, implementarea. De asemenea, în faza de întreţinere a programului este posibilă modificarea unor module, modificare în care sunt necesare să fie cunoscute şi aceste decizii. E bine ca proiectarea să fie astfel făcută încât să permită o întreţinere cât mai uşoară.  Faza următoare, implementarea sau codificarea, constă în traducerea algoritmului într‑un limbaj de programare. Evident, prima decizie ce trebuie luată constă în alegerea limbajului de programare în care va fi scris programul. În cele ce urmează vom folosi în acest scop limbajul Pascal. De multe ori se vor folosi mai multe limbaje pentru această activitate. De exemplu, pot exista unele module a căror scriere se poate face numai în limbajul de asamblare. Urmează testarea programului elaborat, care uneori pune în evidenţă erori grave de programare, erori care au dus în unele situaţii la refacerea (parţială sau integrală) a activităţilor anterioare. Sigur că este de dorit să nu se ajungă la astfel de situaţii şi, dacă proiectarea şi implementarea au fost făcute corect, în faza de testare nu ar trebui să întâlnim erori.</p>
<p>Următoarea fază din viaţa programului constă în exploatarea propriu-zisă a acestuia, fază în care execuţia se face cu date reale. Această activitate se întinde în timp pe mai mulţi ani şi cere adeseori schimbări în program, motiv pentru care este cunoscută sub numele de întreţinerea programului. Este faza cea mai costisitoare şi cea mai importantă din viaţa unui produsul real. Toată activitatea de realizare a programului trebuie să ţină seama de acest fapt şi programul să fie astfel conceput încât să se permită modificări în ceea ce face programul cu un număr minim de modificări în textul acestuia. Documentarea programului presupune elaborarea unor materiale scrise în care se precizează toate informaţiile utile despre programul realizat. Pentru proiectarea algoritmilor vom folosi limbajul Pseudocod. Avantajele folosirii acestui limbaj pentru proiectarea algoritmilor constau în faptul că permit programatorului să-şi îndrepte complet atenţia asupra logicii rezolvării problemei şi să uite de restricţiile impuse de limbajul de programare şi calculatorul folosit. În această fază este necesară o analiză atentă a problemei în vederea găsirii unui algoritm corect proiectat.</p>
<p>De asemenea, proiectarea algoritmului permite evitarea duplicării unui grup de instrucţiuni în mai multe părţi ale programului. Identificarea unui astfel de grup permite definirea lui ca un singur subalgoritm şi folosirea acestui subalgoritm ori de câte ori este necesar.</p>
<p>În descrierea unui algoritm deosebim următoarele activităţi importante:</p>
<p>- specificarea problemei;</p>
<p>- descrierea metodei alese pentru rezolvarea problemei;</p>
<p>- precizarea denumirilor şi semnificaţiilor variabilelor folosite;</p>
<p>- descrierea algoritmului propriu-zis.</p>
<p>Astfel, dacă ni se cere să calculăm radicalul de ordinul 2 din <em>x</em>, în partea de specificare a problemei vom menţiona:</p>
<p>Se dă un număr real nenegativ, notat prin <em>x</em>.</p>
<p>Se cere să găsim un alt număr pozitiv <em>r</em> astfel încât <em>r</em><sup>2</sup>=<em>x</em>.</p>
<p>Pentru un informatician este clar că un astfel de număr nu se poate găsi în general prin nici un procedeu finit. Este însă posibil să găsim o aproximare oricât de bună a lui <em>r</em>. Deci specificarea făcută nu este corectă, neputând găsi un algoritm care să rezolve problema în forma enunţată. Vom modifica această specificaţie, cerând să se calculeze aproximativ <em>r</em> cu o eroare ce nu depăşeşte un număr real <em>eps</em> oricât de mic.</p>
<p>Specificaţia problemei este:</p>
<p><em>DATE eps,x;                                                                                                    {eps,xR,  eps&gt;0 şi x0}</em></p>
<p><em> REZULTATE r;                                                                                                          {r-rad(x)&lt;eps}</em></p>
<p>unde prin <em>rad</em>(<em>x</em>) am notat radicalul de ordinul 2 din <em>x</em> definit în matematică.</p>
<p>Urmează să precizăm metoda de rezolvare a problemei. Se ştie că există cel puţin două posibilităţi de a calcula pe <em>r</em>:</p>
<p>- ca limită a unui şir (definit printr-o relaţie de recurenţă) convergent la <em>r</em>;</p>
<p>- prin rezolvarea ecuaţiei <em>r</em><sup>2</sup>=<em>x</em>.</p>
<p>Precizăm că-l vom calcula pe <em>r</em> rezolvând ecuaţia <em>r</em><sup>2</sup>=<em>x</em>. Dar şi rezolvarea acestei ecuaţii se poate face prin mai multe metode. Decidem că o vom rezolva prin metoda njumătăţirii. Această metodă constă în njumătăţirea repetată a intervalului [<em>a,b</em>] care conţine rădăcina <em>r</em> la intervalul [<em>a',b'</em>], care este jumătatea stângă, sau jumătatea dreaptă a intervalului [<em>a,b</em>], cea care conţine rădăcina.</p>
<p>Variabilele folosite în descrierea algoritmului sunt:</p>
<p>- <em>a</em> şi <em>b</em> = capetele intervalului în care se află rădăcina;</p>
<p>- <em>m</em> mijlocul intervalului (<em>a,b</em>). În momentul în care <em>b-a&lt;eps,</em></p>
<p><em>m</em> va fi chiar valoarea căutată pentru <em>r</em>.</p>
<p>Algoritmul propriu-zis este descris în continuare:</p>
<p><em>*Iniţializează pe a şi b;</em></p>
<p><em> REPETĂ</em></p>
<p><em> FIE m:=(a+b)/2; </em></p>
<p><em> * Dacă rădăcina se află în [a,m] atunci b:=m altfel a:=m.</em></p>
<p><em> PNĂCND b-a&lt;eps SF-REPETĂ</em></p>
<p><em> FIE r:=(a+b)/2;</em></p>
<p><em> </em></p>
<p>În textul de mai sus apar două propoziţii nestandard care sugerează însă foarte bine ce acţiuni trebuiesc întreprinse. Prima stabileşte intervalul iniţial în care se află rădăcina, care depinde de mărimea lui <em>x</em>: (<em>x</em>,1) când <em>x</em> este mai mic decât 1 sau (1,<em>x</em>) în caz contrar. Deci ea se va transcrie în propoziţia standard</p>
<p><em> DACĂ x&lt;1 ATUNCI ATRIBUIE  a:=x;  b:=1</em></p>
<p><em> ALTFEL ATRIBUIE  a:=1;  b:=x</em></p>
<p><em> SF-DACĂ</em></p>
<p>A doua propoziţie înjumătăţeşte intervalul. Condiţia ca rădăcina să se afle în jumătatea stângă a intervalului este (<em>a</em><sup>2</sup>-<em>x</em>)*(<em>m</em><sup>2</sup>-<em>x</em>)&lt;0. Se ajunge la următoarea variantă finală:</p>
<p><em>ALGORITMUL RADICAL ESTE:                                                       {Calculează radical din x}</em></p>
<p><em> DATE eps,x;                                                                                                     {eps,xR, eps&gt;0 şi x0}</em></p>
<p><em> DACĂ x&lt;1 ATUNCI FIE  a:=x;  b:=1                                                    {Iniţializează pe a şi b}</em></p>
<p><em> ALTFEL FIE  a:=1;  b:=x </em></p>
<p><em> SF-DACĂ</em></p>
<p><em> REPETĂ</em></p>
<p><em> DACĂ (a<sup>2</sup>-x)*(m<sup>2</sup>-x)&lt;0 ATUNCI b:=m                                                   {rădăcina în stânga}</em></p>
<p><em> ALTFEL a:=m                                                                       {rădăcina în dreapta}</em></p>
<p><em> SF-DACĂ</em></p>
<p><em> PNĂCND b-a&lt;eps SF-REPETĂ</em></p>
<p><em> FIE r:=(a+b)/2;</em></p>
<p><em> REZULTATE r;                                                                                                          {r-rad(x)&lt;eps}</em></p>
<p><em> SF-ALGORITM</em></p>
<p><em> </em></p>
<p>Programul Pascal corespunzător este dat în continuare.</p>
<p>PROGRAM RADICAL;                                                                {Programul 1.1. Calculează radical din x}</p>
<p>VAR eps,                                                                                               {eps= precizia cu care se calculează}</p>
<p>x,                                                                                                                       {radical din x, eps&gt;0 si x&gt;=0}</p>
<p>r,                                                                                                                                 {valoarea radicalului x}</p>
<p>a,b,                                                                                                   {capetele intervalului ce conţine pe r}</p>
<p>m : REAL;                                                                                                           {mijlocul intervalului [a,b]}</p>
<p>BEGIN</p>
<p>WRITELN(&#8216;Se calculează radical din x cu precizia eps:&#8217;);</p>
<p>WRITE(&#8216;eps=&#8217;);   READLN(eps);</p>
<p>WRITE(&#8216; x =&#8217;);   READLN(x);</p>
<p>IF x&lt;1 THEN BEGIN a:=x;  b:=1 END                                                                     {Iniţializează pe a si b}</p>
<p>ELSE BEGIN a:=1;  b:=x END;</p>
<p>REPEAT</p>
<p>m:=(a+b)/2;</p>
<p>IF (a*a‑x)*(m*m‑x)&lt;0</p>
<p>THEN b:=m                                                                                                       {rădăcina în stânga}</p>
<p>ELSE a:=m;                                                                                                       {rădăcina in dreapta}</p>
<p>UNTIL b‑a&lt;eps;</p>
<p>r:=(a+b)/2;</p>
<p>WRITELN;  WRITELN;</p>
<p>WRITELN(&#8216;Radical(&#8216;,x:6:1,&#8217;) = &#8216;,r:6:3);                                                                                     {r‑rad(x)&lt;eps}</p>
<p>READLN</p>
<p>END.</p>
<p><em>1.2. NUMERE PITAGORICE</em>.</p>
<p>Numerele <em>a,b,c</em>, se numesc pitagorice dacă</p>
<p>Specificarea problemei este:</p>
<p><em>DATE n;                                                                               {nN; pentru n&lt;12 nu există triplete}</em></p>
<p><em> REZULTATE toate tripletele de numere pitagorice (a,b,c) cu proprietatea</em></p>
<p><em> 0&lt;a&lt;b&lt;c şi a+b+cn.</em></p>
<p>Vom nota prin <em>S</em> suma <em>a+b+c</em>. Se ştie că (3,4,5) este primul triplet de numere pitagorice. În acest caz <em>S</em> ia valori de la 12 la <em>n</em>. Întrucât  <em>3a&lt;S</em> variabila <em>a</em> ia valori de la 3 la <em>S</em>/3. Apoi 2<em>b</em>&lt;<em>S-a</em> deci <em>b</em> va lua valori de la <em>a+1</em> la (<em>S-a</em>)/2. Algoritmul pentru rezolvarea problemei este dat în continuare :</p>
<p><em>Algoritmul NRPITAGORICE este :</em></p>
<p><em> Date n;                                                                                                {nN; pentru n&lt;12 nu există triplete}</em></p>
<p><em> Dacă n&lt;12</em></p>
<p><em> atunci Tipăreşte &#8220;Nu există numerele cerute&#8221;</em></p>
<p><em> altfel Pentru S=12,n execută</em></p>
<p><em> Pentru a=3,S/3 execută</em></p>
<p><em> Pentru b=a+1,(S-a)/2 execută</em></p>
<p><em> Fie c:=S-a-b;</em></p>
<p><em> Dacă c=a+b atunci Tipăreşte(a,b,c) Sf-dacă</em></p>
<p><em> Sf-pentru</em></p>
<p><em> Sf-pentru</em></p>
<p><em> Sf-pentru </em></p>
<p><em> Sf-dacă</em></p>
<p><em>Sf-algoritm.</em></p>
<p><em> </em></p>
<p>Programul Pascal corespunzător este dat în continuare.</p>
<p>PROGRAM  NRPITAGORICE;                                                         {Programul 1.1.2. Numere pitagorice}</p>
<p>VAR n,                                                                                                                             {    nN;  a+b+cn        }</p>
<p>S,                                                                                                                                   {    S  =  a+b+c          }</p>
<p>a,b,c,                                                                                                   {(a,b,c) triplet de numere pitagorice}</p>
<p>{  0 &lt; a &lt; b &lt; c          }</p>
<p>k     : integer;                                                                                                                                    { contor }</p>
<p>BEGIN</p>
<p>WRITELN(&#8216;Se tipăresc tripletele(a,b,c) de numere pitagorice&#8217;);</p>
<p>WRITELN(&#8216;cu proprietatea: a+b+c&lt;=n, pentru n dat&#8217;);</p>
<p>WRITE(&#8216;Daţi valoarea lui n:&#8217;); READLN(n);</p>
<p>For k:=1 to 4 do writeln;</p>
<p>k:=0;</p>
<p>IF n&lt;12</p>
<p>THEN WRITELN(&#8216;Nu exista numerele cerute&#8217;)</p>
<p>ELSE FOR S:=12 TO n DO</p>
<p>FOR a:=3 TO S DIV 3 DO</p>
<p>FOR b:=a+1 TO (S‑a) DIV 2 DO</p>
<p>BEGIN</p>
<p>c:=S‑a‑b;</p>
<p>IF c*c=a*a+b*b THEN BEGIN</p>
<p>k:=k+1;</p>
<p>WRITELN(&#8216;Tripletul (a,b,c)&#8217;,k:3,&#8217;= &#8216;,a:3, b:3,c:3);</p>
<p>END {IF}</p>
<p>END;</p>
<p>READLN;</p>
<p>END.</p>
<p><em><a rel="attachment wp-att-155" href="http://resurse-educationale.uv.ro/?attachment_id=155">68 de pagini de probleme rezolvate si teorie in Pascal</a></em></p>
]]></content:encoded>
			<wfw:commentRss>http://resurse-educationale.uv.ro/?feed=rss2&#038;p=154</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Utilizarea variabilelor aleatoare la rezolvarea problemelor</title>
		<link>http://resurse-educationale.uv.ro/?p=150</link>
		<comments>http://resurse-educationale.uv.ro/?p=150#comments</comments>
		<pubDate>Thu, 17 Mar 2011 08:43:23 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Pascal]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[algoritm]]></category>
		<category><![CDATA[aplicatii]]></category>
		<category><![CDATA[extraşcolar]]></category>
		<category><![CDATA[programare]]></category>
		<category><![CDATA[variabile aleatoare]]></category>

		<guid isPermaLink="false">http://resurse-educationale.uv.ro/?p=150</guid>
		<description><![CDATA[Îmbinarea de cuvinte „variabilă aleatoare” în sensul direct se utilizează atunci cînd dorim să subliniem, că nu se ştie dinainte care va fi valoarea acestei variabile. Deasemenea în spatele acestor cuvinte se ascunde şi neştirea cum ar arăta această variabilă. &#8230; <a href="http://resurse-educationale.uv.ro/?p=150">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Îmbinarea de cuvinte „variabilă aleatoare” în sensul direct se utilizează atunci cînd dorim să subliniem, că nu se ştie dinainte care va fi valoarea acestei variabile. Deasemenea în spatele acestor cuvinte se ascunde şi neştirea cum ar arăta această variabilă.</p>
<p>Însă un matematician utilizează aceleaşi cuvinte – „variabilă aleatoare”, punînd în sensul acestor cuvinte ceva bine determinat. Într-adevăr, spune un matematician, noi nu ştim ce valoare va primi variabila aleatoare în cazul dat concret, dar noi putem determina ce valori poate primi această variabilă, şi putem calcula care este probalilitate de apariţie a evenimentelor.</p>
<p>Pe baza acestor date noi nu putem să anticipăm care ar fi rezultatul unui experiment legat de această mărime, dar noi putem să ştim care ar fi rezultatul unei serii întregi de experimente. Cu cît este mai mare numărul de experimente cu atît mai exact putem să prezicem care va fi rezultatul.</p>
<p>Pentru a defini o variabilă aleatoare, trebuie să indicăm ce valori ar putea lua această variabilă şi care sunt probabilităţile de apariţie ale acestor valori.</p>
<p>Există două tipuri de variabile aleatoare: continue şi discrete.</p>
<p><strong> </strong></p>
<h2>§1. Variabile aleatoare continue</h2>
<p><strong> </strong></p>
<p>Variabile aleatoare, valorile căreia aparţin unui interval, se numeşte continuă.</p>
<p>În cazuri particulare acesta poate fi nu un singur interval, dar reuniunea a mai multor intervale. Intervalele pot fi finite, parţial finite sau infinite, de exemplu:  (<em>a</em>;<em> b</em>], (–µ ; <em>a</em>), [<em>b</em>;µ), (–µ; µ).</p>
<p>În general variabila aleatoare continuă este o abstractizare. Вообще непрерывная случайная величина – это абстракция. Obuzul, lansat de un proectil, poate să parcurgă o distanţă cuprinsă între 5 şi 5,3 km, dar nimănui nu-i va veni în gînd să măsoare această distanţă cu exactitatea de pînă la milimetri, nemaivorbind de exactitatea absolută. În practică această distanţă va fi o variabilă aleatoare discretă, la care fiecare valoare a variabilei se deosebeşte de alta cel puţin cu distanţa de un metru.</p>
<p>La descrierea unei variabile aleatoare continue principial nu pot fi scrise şi numerotate toate valorile pe care le poate lua această variabilă, care aparţin unui interval destul de îngust. Aceste valori formează o mulţime nenumărabilă, care se numeşte „”continuu”.</p>
<p>Dacă x este o variabilă aleatoare continuă, atunci egalitatea x = <em>х</em> reprezintă în sine, ca şi în cazul variabilei aleatoare discrete, un careva eveniment aleator, dar pentru variabila aleatoare continuă acest eveniment poate fi legat cu o probabilitate egală cu zero, ceea ce nu indică că evenimentul este imposibil. Aşa de exemplu, putem spune, că obuzul va parcurge distanţa de 5245,7183m cu probabiliatea zero, sau, că diametrului unei piese deviază de la cel ideal cu 0,001059 milimetri. În aceste cazuri este greu să ne dăm seam  - avut loc experimentul sau nu, deoarece măsurarea acestor mărim se efectuiază cu o careva eroare, şi în calitate de rezultat pot fi doare indicate limitele între care se va afla mărimea dată.</p>
<p>Valorilor variabilelor aleatoare le este specifică o careva nedeterminare. De exemplu, nu are sens distingem două valori care se abat de la valoarea matematic ideală cu 0,5mm şi 0,5000025mm. Probabilitatea, diferită de zero, poate fi legată doar cu nimerirea  mărimii în intervalul dat, chiar dacă este destul de îngust.</p>
<p>Fie x – o variabilă aleatoare continuă. Vom cerceta pentru un careva număr <em>х </em>probabilitatea inegalităţii  <em>х</em> &lt; x &lt; <em>х </em>+ D<em>х</em></p>
<p><em>P</em>(<em>х</em> &lt; x &lt; <em>х </em>+ D<em>х</em>).</p>
<p>Aici D<em>х –</em> mărimea unui interval îngust.</p>
<p>Evident, că dacă  D<em>х </em>® 0, atunci <em>P</em>(<em>х</em> &lt; x &lt; <em>х </em>+ D<em>х</em>)<em> </em>® 0. Notăm prin <em>р</em>(<em>х</em>) limita raportului <em>P</em>(<em>х</em> &lt; x &lt; <em>х </em>+ D<em>х</em>) la D<em>х , </em>cînd D<em>х </em>® 0, dacă această limită există:</p>
<p>Funcţia <em>р</em>(<em>х</em>) se numeşte <em>densitatea de repartiţie </em>a variabilea aleatoare. Di for formula (1) rezultă egalitatea, care este adevărată pentru valori foarte mici lae lui D<em>х</em> şi care poate fi considerată definirea funcţiei  <em>р</em>(<em>х</em>):</p>
<p><em>P</em>(<em>х</em> &lt; x &lt; <em>х </em>+ D<em>х</em>)</p>
<p>Evident, că funcţia <em>p</em>(<em>x</em>) este o funcţie nenegativă. Pentru definirea probabilităţii, că variabila aleatoare x va lua valori din intervalul [<em>a</em>, <em>b</em>] de lungime finită, vom alege pe acest interval numerele arbitrare <em>x</em><sub>1</sub>, <em>х</em><sub>2</sub>,¼, <sub> </sub><em>х<sub>n</sub></em> care satisfac condiţiei <em>а=х</em><sub>0</sub>&lt;<em>х</em><sub>1</sub>&lt;<em>x</em><sub>2</sub>&lt;¼&lt;<em>x<sub>n</sub></em>&lt;<em>b=x<sub>n+</sub></em><sub>1</sub>. Aceste numere impart intervalul [<em>a</em>, <em>b</em>] în <em>n</em>+1 părţi, care nu sunt altceva decît tot nişte intervale [<em>х</em><sub>0</sub>, <em>х</em><sub>1</sub>), [<em>х</em><sub>1</sub>, <em>х</em><sub>2</sub>), ¼,[<em>х<sub>n</sub></em>, <em>b</em>]. Introducem notaţiile:</p>
<p>D<em>х</em><sub>0</sub>=<em> х</em><sub>1 </sub>–<em> х</em><sub>0</sub>, D<em>х</em><sub>1</sub>=<em> х</em><sub>2 </sub>–<em> х</em><sub>1</sub>, ¼, D<em>х<sub>n </sub></em>= <em>b – х<sub>n</sub></em>,</p>
<p>şi formăm suma</p>
<p><a rel="attachment wp-att-151" href="http://resurse-educationale.uv.ro/?attachment_id=151">teza_var_aleatoare</a></p>
]]></content:encoded>
			<wfw:commentRss>http://resurse-educationale.uv.ro/?feed=rss2&#038;p=150</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sistem de calcul. Algoritmică. Programare</title>
		<link>http://resurse-educationale.uv.ro/?p=142</link>
		<comments>http://resurse-educationale.uv.ro/?p=142#comments</comments>
		<pubDate>Thu, 17 Mar 2011 08:37:07 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Pascal]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[algoritmi]]></category>
		<category><![CDATA[algoritmica]]></category>
		<category><![CDATA[gindirea algoritmica]]></category>
		<category><![CDATA[programare]]></category>
		<category><![CDATA[sistem de calcul]]></category>

		<guid isPermaLink="false">http://resurse-educationale.uv.ro/?p=142</guid>
		<description><![CDATA[Dezvoltarea informaticii actuale se datorează cercetărilor, rezultatelor şi experienţelor din domeniile sistemelor de calcul, algoritmicii şi programării, dar mai ales a interdependenţei acestor domenii prin aşa-numita triadă: sistem de calcul &#8211; algoritmică &#8211; programare La baza acestei interdependenţe se află &#8230; <a href="http://resurse-educationale.uv.ro/?p=142">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<h4>Dezvoltarea informaticii actuale se datorează cercetărilor, rezultatelor şi experienţelor din domeniile sistemelor de calcul, algoritmicii şi programării, dar mai ales a interdependenţei acestor domenii prin aşa-numita triadă:</h4>
<h4>sistem de calcul &#8211; algoritmică &#8211; programare</h4>
<p>La baza acestei interdependenţe se află conceptul de algoritm, concept ce a construit  pentru om o nouă filosofie: gândirea algoritmică. Această gândire algoritmică a facut posibilă apariţia şi dezvoltarea Tehnologiei Informaţiei (IT) ce reprezintă de fapt implementarea filosofiei procesării, gestionării şi comunicării informaţiilor.</p>
<p>Întâmplător sau nu, deceniul 7 al sec. XX a fost deceniul marilor schimbări în domeniul informaticii şi al sistemelor de calcul:</p>
<p>Toate aceste aspecte au fost şi sunt într-o interdependenţa continuă ţinând seama de particularitatea informaticii care oferă sisteme de calcul performante şi produse-program competitive în rezolvarea problemelor. Utilizarea eficientă a sistemelor de calcul şi a produselor-program reclamă o instruire continuă, atât pentru informaticieni-programatori, cât şi pentru utilizatori.</p>
<p><strong>Gîndirea algoritmică</strong> trebuie să se aiba în vedere în instruire, şi atunci când se invaţă algoritmică (metode şi tehnici), şi atunci când se invaţă programarea (limbaje de programare). Practica instruirii elevilor şi studenţilor a demonstrat că invăţarea unui limbaj de programare este, în general, mai uşoară decat invăţarea elaborarii algoritmilor (algoritmică). Acest lucru se poate justifica prin faptul că elaborarea unui algoritm este echivalentă cu implementarea (reprezentarea) raţionamentelor (procese demonstrative) deduse din <strong>metode </strong><strong>şi</strong><strong> tehnici</strong> utilizate în rezolvarea unei probleme. <strong>Rezolvarea problemelor</strong> necesită nu numai cunoştinţe clare şi precise, dar şi capacitate de sinteză şi control şi mai ales capacitate de creaţie. Dacă vrem să facem o analogie, un programator poate fi compozitorul ce realizează o lucrare muzicală.</p>
<p>Succesele unui programator depind de cunoaşterea foarte bine a programării într-un limbaj de programare modern, dar mai ales depind de bogatia şi stapanirea cunoştinţelor în elaborarea algoritmilor. Şi mai este ceva: experinţa acumulată în activitatea de rezolvare a problemelor prin formarea unei gândiri algoritmice solide şi consistente.</p>
<p><a rel="attachment wp-att-143" href="http://resurse-educationale.uv.ro/?attachment_id=143">teza_congruenta</a></p>
]]></content:encoded>
			<wfw:commentRss>http://resurse-educationale.uv.ro/?feed=rss2&#038;p=142</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Analiza timpului de calcul.</title>
		<link>http://resurse-educationale.uv.ro/?p=130</link>
		<comments>http://resurse-educationale.uv.ro/?p=130#comments</comments>
		<pubDate>Thu, 17 Mar 2011 08:26:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Pascal]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Teze]]></category>
		<category><![CDATA[algoritm]]></category>
		<category><![CDATA[analiza]]></category>
		<category><![CDATA[calcul]]></category>
		<category><![CDATA[programare]]></category>
		<category><![CDATA[teza]]></category>
		<category><![CDATA[timp]]></category>

		<guid isPermaLink="false">http://resurse-educationale.uv.ro/?p=130</guid>
		<description><![CDATA[Ne propunem să lămurim modul în care se estimează timpul de calcul necesar unui program pentru a furniza rezultatul. Să considerăm, una din cele mai simple probleme. Se dă un vector cu n componente. Se cere sa se calculeze maximul &#8230; <a href="http://resurse-educationale.uv.ro/?p=130">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Ne propunem să lămurim modul în care se estimează timpul de calcul necesar unui program pentru a furniza rezultatul.</p>
<p>Să considerăm, una din cele mai simple probleme. Se dă un vector cu n componente. Se cere sa se calculeze maximul dintre componentele sale.</p>
<p>Reamintim, pe scurt algoritmul:</p>
<p>Timpul de calcul depinde, în primul rînd, de lungimea(mărimea) datelor de  intrare, pe care o vom nota cu n.</p>
<p>Exemple:</p>
<p>Pentru a calcula timpul de calcul ar trebui inventariem toate instrucţiunile programului şi să ştim d cîte ori se execută fiecare din ele(în funcţie de n).Mai mult, ar trebuie să cunoaştem cît durează execuţia fiecărui tip de instrucţiune.</p>
<p>Observaţie 1.</p>
<p>Exemplu. Pentru calculul maximului, nu putem şti de cîte ori se execută atribuirea max:=v[i]. Cu toate acestea putem considera că există o proporţionalitate între valoarea n şi numărul de execuţii.</p>
<p>Observaţia 2.</p>
<p>Datorită acestor considerate vom proceda astfel.</p>
<p>Se alege o operaţie numită operaţie de bază, şi se vede de cîte ori se execută aceasta. Cerinţa pentru operaţia de bază este ca aceasta să se execute de un număr de ori, numărul care să poată calcula de la început pornind de la n.</p>
<p>Exemplu.</p>
<p>În astfel de cazuri(cînd avem de ales între mai multe operaţii de bază), vom alege acea operaţie care corespunde cît mai bine scopului propus.</p>
<p>Astfel, dacă analizăm un algoritm de generare a permutării comparativ cu altele de aceeaşi natură vom alege ca operaţie de bază comparaţia.</p>
<p>În cazul în care analizăm un algoritm oarecare, în care soluţia este sub formă de permutare, putem considera ca operaţie de bază permutarea. Problema se spune în felul următor: dacă căutăm soluţia printre toate permutările pe care se pot genera vom avea n! căutări(un număr imens !), oare nu se poate altfel?</p>
<p>Exemple de probleme la care se foloseşte un astfel de raţionament: problema comis voiajorului, problema celor n dame.</p>
<p>Timpul estimat de calcul se trece sub formă aproximativă astfel:</p>
<p>O(număr estimat de execuţii ale operaţiei de bază)</p>
<p>Exemplu de exprimare a timpului.</p>
<p>Dacă un algoritm efectuiază 3n<sup>2</sup>+7n+5 operaţii de bază, vom spune că aceasta este un algoritm cu O(n<sup>2</sup>).</p>
<p>Exemple.</p>
<p>În cazul de faţă operaţia aleasă este cea de comparare. Pentru un vector cu n componente se fac n-1 comparaţii. Aceasta înseamnă că dacă vectorul are o sută de componente se fac 99 de comparaţii ş.a.m..d.. Se poate demonstra faptul că un algoritm mai bun nu există!</p>
<p>2.  Pentru generarea permuntărilor(în cazul în care se consideră ca operaţie de bază generarea unei permutări) timpul estimat de calcul este O(n!).</p>
<p>În anumite cazuri nu putem preciza nici macar numărul de execuţie ale operaţiilor de bază.</p>
<p>Exemplu. Sortarea prin interschimbare(vezi 6.2.1). În cazul în care vectorul este sortat se execută n-1 comparaţii (se parcurge vectorul o singură dată), dacă vectorul este sortat invers se execută n(n-1)/2 operaţii de bază (se parcurge vectorul de n ori).</p>
<p>În astfel de cazuri se poate considera:</p>
<p>De fiecare dată cînd se trece timpul estimat se precizează despre care este vorba (minim, mediu, maxim). În practică, prezintă interes timpul madiu sau maxim.</p>
<p>Dacă timpul estimat este sub forma O(n<sup>k</sup>), k=N*, spunem că algoritmul este în timp polinomial.</p>
<p>Exemlu. Sortarea prin interschimbare are timpul (mediu, maxim) polinomial şi anume O(n<sup>2</sup>).</p>
<p>Un algoritm în O(n) se numeşte algoritm liniar.</p>
<p>Dacă un algoritm are un timp estimat O(2<sup>n</sup>), O(3<sup>n</sup>).. spunem că algoritmul este în timp exponenţial.</p>
<p>Un algoritm în timp O(n!) este asimilat unui algoritm în timp exponenţial.</p>
<p>n!=1x2x&#8230;n&lt;2x2x&#8230;.x2=2<sup>n-1</sup>.</p>
<p>În practică nu sunt admişi decît algoritm în timp polinomial, deşi nu este deloc indiferent gradul polinomului.</p>
<p>Şi totuşi pentru ce tot acest efort de estimare a timplui de calcul? Oare viteza de lucru a unui calculator nu este atît de mare, în cît abstracţie făcînd de cîteva minute de calcul, în plus sau în minus, să renunţăm la estimarea lui? Răspunsul la această la această întrebarea este categoric negativ. Mai mult timpul de calcul este esenţial dacă este prea mare algoritmul nu are nici un fel de valoare practică. Să ne imaginăm un algoritm care are un timp de calcul O(2<sup>n</sup>). Dacă n este de 10, calculatorul va efectua aproximativ 1024 operaţii elementare. Dacă n este 100 acesta va trebui să efectueze 1024<sup>*</sup>1024<sup>*</sup>&#8230;<sup>*</sup>1024 operaţii elementare, adică un număr mai mare decît 1000<sup>*</sup>1000<sup>*</sup>&#8230;<sup>*</sup>1000 adică 1000000&#8230;0000 (de treizeci de ori). Aceasta este un număr imens. Dar dacă n este 1000? pentru un n nu foarte mare, nici cel mai modern calculator din lume nu scoate rezultatul decît în sute sau în mii de ani. De astfel ce înseamnă în asemenea cazuri un calculator modern? Să presupunem că un sistem PENTIUM are o viteză de circa 25 de ori mai mare decît un sistem XT. Să presupunem că avem un program care are un timp de calcul de ordinul O(2<sup>n</sup>). Se cere să rezolvăm o problemă pentru n=30. Fie că timpul necesar rulării acestei probleme pe un XT. Această problemă va fi rulată pe PENTIUM în timpul t/25. Dorim să rezolvăm problema pe PENTRIUM pentru n=35 (n a crescut numai cu 5). Dar 2<sup>35</sup>=2<sup>30*</sup>2<sup>5</sup>=32<sup>*</sup>2<sup>30</sup>. Deci dacă n a crescut cu 5, vom avea nevoie de mai mult timp de lucru să rezolvăm problema pe PENTIUM decît timpul pentru rezolvarea ei pentru n=30 pe XT.</p>
<p>Vă daţi seama ce înseamnă un timp de calcul de ordinul O(2<sup>n</sup>)? Sporul lui n cu o singură unitate duce la dublarea timpului de calcul.</p>
<p>Ce concluzie tragem de aici? De cîte ori avem de rezovat o problemă căutăm pentru aceasta un algoritm în timp polinomial (polinomul va avea gradul minim). Mai mult căutăm un algoritm care să rezovle problema în timp polinomial de grad minim.</p>
<p><a rel="attachment wp-att-131" href="http://resurse-educationale.uv.ro/?attachment_id=131">analiza timpului de calcul</a></p>
]]></content:encoded>
			<wfw:commentRss>http://resurse-educationale.uv.ro/?feed=rss2&#038;p=130</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Iniţializare grafică în Pascal.</title>
		<link>http://resurse-educationale.uv.ro/?p=126</link>
		<comments>http://resurse-educationale.uv.ro/?p=126#comments</comments>
		<pubDate>Thu, 17 Mar 2011 08:23:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Pascal]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Teze]]></category>
		<category><![CDATA[grafica]]></category>
		<category><![CDATA[graphics]]></category>
		<category><![CDATA[modulul grafic]]></category>
		<category><![CDATA[programare]]></category>

		<guid isPermaLink="false">http://resurse-educationale.uv.ro/?p=126</guid>
		<description><![CDATA[Placa grafică sau adaptorul de ecran este componenta hard a calculatorului care asigură gestiunea memoriei şi controlul monitorului video. Driver-ul grafic este componenta soft-ului care comandă placa grafică. Placa grafică tratează ecranul în două moduri: În regimul text fiecare caracter &#8230; <a href="http://resurse-educationale.uv.ro/?p=126">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Placa grafică sau adaptorul de ecran este componenta hard a calculatorului care asigură gestiunea memoriei şi controlul monitorului video. Driver-ul grafic este componenta soft-ului care comandă placa grafică. Placa grafică tratează ecranul în două moduri:</p>
<p>În regimul <strong>text</strong> fiecare caracter ce apare la ecran este păstrat în memoria calculatorului în doi octeţi, unul cuprinde codul ASCII al caracterului, iar al doilea culorile, iluminarea, culoarea fonului şi clipirea. În regimul <strong>grafic</strong> memoria ecranului are un cod pentru fiecare pixel prin care se determină culoarea pixelui.</p>
<p>Zona de memorie ecran pentru memorarea unui ecran se numeşte <strong>pagină video</strong>. Pagina video care apare la un moment dat pe ecran se numeşte <strong>pagină vizibilă</strong>. Prelucrarea informaţiei grafice în Pascal este susţinută de modulul <strong>Graph</strong>.</p>
<p>Modulul <strong>Graph</strong> pune la dispoziţie circa 90 de proceduri şi funcţii păstrate în fişierul graph.tpu. Utilizarea procedurilor şi funcţiilor grafice este posibilă dacă în partea declarativă <strong>uses</strong> vom declara modulul <strong>graph</strong>. Fiecare regim grafic are driver-ul său specific. Tabelul  următor conţine lista regimurilor grafice posibile pentru diferite adaptoare grafice. În prima coloniţă sunt indicare  tipurile de drivere, în a doua – numărul de pixeli de pe ecran, în coloniţa a treia este indicată palitra de culori a regimului dat, în ultima coloniţă sunt indicate numărul de pagini video care se pot încărca simultan în memoria videoadaptorului.</p>
<p>Orice program Turbo Pascal ce conţine prelucrarea informaţiei grafice trebuie să cuprindă:</p>
<p>Iniţializarea regimului grafic se relizează prin procedura <strong>InitGraph</strong> cu formatul:</p>
<p><strong>InitGraph</strong>(var GraphDriver:integer; {tipul adaptorului}</p>
<p>var GraphMode:integer; {regimul grafic}</p>
<p>var DriverPath:string); {calea spre driver}</p>
<p>De exemplu:</p>
<p>procedure ini;</p>
<p>var gd, gm:integer;</p>
<p>begin</p>
<p>gd:=detect;</p>
<p>initgraph(gd,gm,&#8217;c:\tp\bgi&#8217;);</p>
<p>if graphresult&lt;&gt;grok then halt(1);</p>
<p>end;</p>
<h2><em>2. Detecţia rezoluţiei</em></h2>
<p><em>Funcţia GetMaxX întoarce un numar întreg reprezentând numărul maxim de pixeli (rezoluţia), după direcţia orizontală.</em></p>
<p><em>Function GetMaxX:integer;</em></p>
<p><em>Funcţia GetMaxY determină numărul maxim de pixeli (rezoluţia), dupa direcţia verticală.</em></p>
<p><em>Function GetMaxY:integer;</em></p>
<p><em>Funcţia GetMaxColor determină numărul maxim de culori cu care se poate desena pe ecran. </em><em>În mod convenţional, &#8220;culoarea&#8221; 0 este cea neagră, astfel încât numărul de culori &#8220;de lucru&#8221; se află în gama 1..GetMaxColor.</em></p>
<p><em>Function GetMaxColor:word;</em></p>
<p><em>Cele 3 funcţii sunt necesare pentru scrierea de programe ce folosesc modul grafic şi care pot rula pe orice calculator, indiferent de tipul monitorului şi a placii grafice.</em></p>
<h2><em>3. Ecranul în modul grafic</em></h2>
<p><em>Dimensiunea unui element de imagine (pixel) pe direcţia orizontală diferă, în general, de dimensiunea lui pe verticală. Doar adaptoarele mai noi (cum ar fi VGA, VESA) consideră pixelul că având dimensiunile egale pe cele două direcţii.</em></p>
<p><em>Raportul între dimensiunea pe orizontală şi dimensiunea pe verticală a unui pixel se numeşte &#8220;aspect ratio&#8221; (factor/raport de forma).</em></p>
<p><em>Procedura prin care se poate afla factorul de forma este GetAspectRatio.</em></p>
<p><em>PROCEDURE GetAspectRatio(Var xasp,yasp:word ); </em></p>
<p><em>Parametrii </em><strong>xasp</strong><em> şi </em><strong>yasp</strong><em> reprezintă numărul de pixeli pe direcţie orizontală şi verticală necesari pentru a obţine o dimensiune &#8220;reală&#8221;.</em></p>
<p><em>Procedura complementară cu GetAspectRatio este SetAspectRatio, ce modifică factorul de forma la valorile dorite. Parametrii </em><strong>xasp</strong><em>, </em><strong>yasp</strong><em> au semificaţie identică cu cei ce apar în procedura GetAspectRatio.</em></p>
<p><em>Function SetAspectRatio(xasp,yasp:word):word;</em></p>
<h2>4. Noţiunea de cursor grafic</h2>
<p>O noţiune specifică modului grafic este cursorul grafic sau &#8220;curent pointer&#8221;, notat CP. El este similar cu conceptul de cursor din modul text, dar, spre deosebire de acesta, cursorul este invizibil în mod grafic. Poziţia acestui cursor este importantă la trasarea liniilor, scrierea de text etc.</p>
<p>Pentru a determina poziţia curentă a cursorului grafic se folosesc funcţiile GetX pentru coordonata orizontală şi GetY pentru coordonata verticală.</p>
<p><a rel="attachment wp-att-127" href="http://resurse-educationale.uv.ro/?attachment_id=127">Initializare_grafica_pascal</a></p>
]]></content:encoded>
			<wfw:commentRss>http://resurse-educationale.uv.ro/?feed=rss2&#038;p=126</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tipul de date string în Pascal</title>
		<link>http://resurse-educationale.uv.ro/?p=102</link>
		<comments>http://resurse-educationale.uv.ro/?p=102#comments</comments>
		<pubDate>Tue, 01 Feb 2011 11:11:52 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Pascal]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[programare]]></category>
		<category><![CDATA[string]]></category>
		<category><![CDATA[tipuri de date]]></category>

		<guid isPermaLink="false">http://resurse-educationale.uv.ro/?p=102</guid>
		<description><![CDATA[Elaborarea cursurilor multimedia instructive prin aplicarea tehnologiilor multimedia nu necesită abilităţi şi cunoştinţe de specialitate în informatică şi sunt accesibile tuturor ce deţin o cultură informaţională adecvată. Dat fiind faptul că sistemele şi tehnologiile multimedia sunt în continuă dezvoltare, cresc &#8230; <a href="http://resurse-educationale.uv.ro/?p=102">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Elaborarea cursurilor multimedia instructive prin aplicarea tehnologiilor multimedia nu necesită abilităţi şi cunoştinţe de specialitate în informatică şi sunt accesibile tuturor ce deţin o cultură informaţională adecvată. Dat fiind faptul că sistemele şi tehnologiile multimedia sunt în continuă dezvoltare, cresc şi performanţele fiecărui tip de programe, fiind mai interesante şi mai captivante.</p>
<p>Un <em>modul</em> este un element simplu şi autonom, care însă poate intra în calitate de componentă într-un ansamblu mai complex.</p>
<p>Se numeşte <em>curs multimedia instructiv</em> (CMI) o reţea de module, create pe baza tehnologiilor multimedia, reprezentînd informaţii multimedia, pentru acumularea cunoştinţelor în orice domeniu disciplinar.</p>
<p>La elaborarea unui curs instructiv asistat de calculator trebuie de pacurs următoarele etape:</p>
<p>După cum s-a meţionat mai sus una din priorităţile instruirii asistate de calculator este aplicarea elementelor multimedia: imagini grafice, imagini 3D, elemente de sunet (voce, mizică), clipuri-video, filme, animaţie. Ele oferă posibilitatea explicării proceselor complexe prin adăugarea efectelor ilustrative multimedia.</p>
<p><em>Obietivul de bază</em> al implementării lecţiilor electronice, incluse în cursurile multimedia instructive este asistarea şi înlocuirea patţială a materiei studiate în mod tradiţional. Deaceea la crearea cursurilor de instruire electronice autorul trebuie să selecteze minuţios temele ce vor fi incluse în curs. Cursul creat trebuie să fie consecutiv şi integru.</p>
<p>Utlizarea tehnologiilor informaţionale asigură instruirea computerizată cu acomodarea la viteza de asimilare a informaţiei pentru fiecare utilizator în parte.</p>
<p>Modulele cursului multimedia elaborat trebuie să conţină un număr suficient de obiecte de navigare, hottascuri (combinaţii de taste), pauze, posibilităţi de anulare (ESC) a unor acţiuni etc. Modumele informaţionale şi paginile cursului pot fi legate prin cuvinte-cheie, legături definite de autor.</p>
<p>E necesar să oferim posibilitatea alegerii de către utilizator a oricărei teme pentru strudiere. Trebuie să asigurăm ieşirea către începutul programului (meniul de bază), cît şi către pagina primară a oricărui modul&#8230;</p>
<p><em>Sugestii şi recomadări</em> de creare a cursului:</p>
<p>Este bine de folosit nu mai mult de trei culori pe o pagină. Alte efecte pot fi obţinute prin schimbarea temporară a culorii fragmentului, care apoi revine la culoarea iniţială.</p>
<p>Documentele grafice sunt informaţii în formă de imagini fixe reprezentînd grafice, schiţe tehnice, desene, imagini foto. Utilizarea imaginilor la crearea unui curs multimedia insctructiv îl face mai explicit, mai interesant, mai captivant</p>
<p>Secvenţele video sunt informaţii în formă de imagini în mişcare – filme etc. Pregătirea benzilor animate este un proces mai complicat, dar în unele cazuri poate fi necesar. O deosebire clară între video-clipuri şi animaţie nu este reliefată. Cu filme sunt reflectate imagini din lumea reală, iar cu animaţii şi vedeo-clipuri – imagini din lumea virtuală.</p>
<p>Există mai multe forme de proiectare a unui dialog. Din cele mai cunoscute tipuri de dialog sunt:</p>
<p><strong>- </strong>selectarea cu ajutorul mause-lui a opţiunii necesare din meniu;</p>
<p>- înscrierea opţiunii necesare, sau a abrevierii acesteia;</p>
<p>- activarea unei taste corespunzătoare funcţiei date.</p>
<p>Cea mai eficientă este selectarea cu ajutorul mouse-lui.</p>
<p>Secvenţele audio sunt informaţii în formă acustică: voce, muzică,sunet, etc. În cadrul creării unui curs multimedia instructiv sunetul reprezintă un mijloc eficient de influenţare. Cu ajutorul sunetului putem contribui la focalizarea atenţiei către un obiect de pe ecran. Secvenţele audio ocupă un volum mare, deaceea se vor utiliza doar în caz de strictă necesitate.</p>
<p>O valoare psihologică înaltă o are maniera sau tonul de expunere a informaţiei de studiu. Pentru ca expunerea informaţiei să fie mai accesibilă este necesar să fie ales un ton agreabil. O abordare aproblemei de-o manieră autoritară va avea o expunere severă şi neatractivă, deaceea poate duce la plictiseală şi la scăderea interesului faţă de studiu, pînă la abandonarea cursului. Folosirea binevoinţei, nuanţelor de umor contribuie la stabilirea unui <em>feedback</em> (conexiune inversă)sănătos între utilizator şi CMI</p>
<p><a rel="attachment wp-att-103" href="http://resurse-educationale.uv.ro/?attachment_id=103">Download Tipul de date string</a></p>
]]></content:encoded>
			<wfw:commentRss>http://resurse-educationale.uv.ro/?feed=rss2&#038;p=102</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tipuri de date Array (Tablou) în Pascal.</title>
		<link>http://resurse-educationale.uv.ro/?p=98</link>
		<comments>http://resurse-educationale.uv.ro/?p=98#comments</comments>
		<pubDate>Tue, 01 Feb 2011 11:08:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Didactică]]></category>
		<category><![CDATA[Pascal]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[arraz]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[programare]]></category>
		<category><![CDATA[tipuri de date]]></category>

		<guid isPermaLink="false">http://resurse-educationale.uv.ro/?p=98</guid>
		<description><![CDATA[Un array (masiv) este un bloc continuu de celule din memoria calculatorului, reunit sub un nume comun. Array-ul descrie o structură de entităţi (componente) care, geometric, sunt atît de regulate încît oricare dintre ele pot fi specificate în mod unic &#8230; <a href="http://resurse-educationale.uv.ro/?p=98">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Un <strong><em>array</em></strong> (masiv) este un bloc continuu de celule din memoria calculatorului, reunit sub un nume comun. <strong><em>Array</em></strong>-ul descrie o structură de entităţi (componente) care, geometric, sunt atît de regulate încît oricare dintre ele pot fi specificate în mod unic prin precizarea coordonatelor. Aceste coordonate sunt numite indici. În limbajul Pascal indicii sunt listaţi în paranteze drepte care urmeaza numelui <strong><em>array</em></strong>-ului ca în <strong>a[3]</strong> (se citeşte a de 3) şi <strong>b[i,j]</strong> (se citeşte b de i şi j!). Deşi [3] şi [i,j] nu pot apărea ca indici, ei sunt versiuni liniarizate ale indicilor folosiţi în notaţii ca a<sub>3</sub> şi b<sub>i,j</sub>. Din moment ce <strong><em>array</em></strong>-urile sunt stocate în memorie, orice componente ale acestora pot fi accesate (regăsite) foarte repede, timpul de acces fiind independent de locaţia componentei (<strong><em>array</em></strong>-ului).</p>
<p><strong><em>Array</em></strong>-urile ale căror componente pot fi identificate folosind un singur indice sunt numite <strong><em>array</em></strong>-uri unidimensionale, <strong><em>array</em></strong>-urile ca b[i,j] cu doi indici sunt numite bidimensionale, iar cele cu mai mult de doi indici sunt numite multidimensionale.</p>
<p>Matematicienii şi oamenii de ştiinţă folosesc frecvent <strong><em>array</em></strong>-uri bidimensionale pe care le numesc <strong>matrici</strong>. Toate <strong><em>array</em></strong>-urile ilustrate mai jos respectă definitia unui <strong><em>array</em></strong>, dar ele nu sunt în egală masură acceptate de  Pascal</p>
<p><strong><em>Array</em></strong>-urile sunt folositoare, dar nu necesare pentru însumarea numerelor. Consideram urmatorul program pentru adunarea a cinci valori întregi:</p>
<p><strong>PROGRAM</strong> suma5;</p>
<p><strong><em>var</em></strong></p>
<p>a,b,c,d,e,suma:integer;</p>
<p><strong><em>begin</em></strong></p>
<p>writeln(&#8216;Introduceti a,b,c,d,e &#8216;);</p>
<p>readln(a,b,c,d,e);</p>
<p>suma:=a+b+c+d+e;</p>
<p>writeln(&#8216;Suma este: &#8216;,suma)</p>
<p><strong><em>end</em></strong> {suma5}.</p>
<p>Acum, presupunem ca în loc de cinci valori de intrare avem 50, 500 sau 5000! Evident, tehnica utilizată în programul <em>suma5</em> nu &#8220;prea ţine&#8221;; cine este dispus să inventeze 5000 de nume diferite de variabile? Altfel stau lucrurile dacă vom folosi un <strong><em>array</em></strong>, ca în programul <em>nouasuma5</em>.</p>
<p><strong> </strong></p>
<p><strong>PROGRAM</strong> nouasuma5;</p>
<p><strong><em>const</em></strong></p>
<p>n=5000;</p>
<p><strong><em>var</em></strong></p>
<p>a:<strong><em>array</em></strong>[1..n] <strong><em>of</em></strong> integer;</p>
<p>i,suma:integer;</p>
<p><strong><em>begin</em></strong></p>
<p>suma:=0; { initializare suma }</p>
<p><strong><em>for</em></strong> i:=1 <strong><em>to</em></strong> n <strong><em>do</em></strong></p>
<p><strong><em>begin</em></strong></p>
<p>read(a[i]);</p>
<p>suma:=suma+a[i];</p>
<p><strong><em>end</em></strong>;</p>
<p>write(suma);</p>
<p><strong><em>end</em></strong> {nouasuma5}.</p>
<p>Se pune următoarea întrebare: a fost necesară definirea unui <strong><em>array</em></strong>? Raspunsul este: nu. Argumentul este simplu &#8211; nu a fost exploatată proprietatea de acces direct a <strong><em>array</em></strong>-ului. Pentru această problemă, soluţia preferată este cea ilustrată în programul prezentat mai jos, care foloseşte o singură variabilă de intrare <strong>a</strong>:</p>
<p><strong>PROGRAM</strong> suma;</p>
<p><strong><em>var</em></strong></p>
<p>s,a:integer;</p>
<p><strong><em>begin</em></strong></p>
<p>s:=0;</p>
<p><strong><em>while</em></strong> <strong>NOT</strong> eof <strong><em>do</em></strong></p>
<p><strong><em>begin</em></strong></p>
<p>read(a);</p>
<p>s:=s+a;</p>
<p><strong><em>end</em></strong>;</p>
<p>write(s);</p>
<p><strong><em>end</em></strong><strong> </strong>{suma}.</p>
<p><em>§3. Managementul indicilor</em></p>
<p>Presupunem că <strong>a</strong> este de tip <strong><em>array</em></strong> [0..n] <strong><em>of</em></strong> integer; unde <strong>n</strong> este o constantă, iar <strong>i</strong> un <em>înteger</em>. Pentru a atribui fiecărui element a[i] valoarea indicelui este usor.</p>
<p><strong><em>for</em></strong> i:=0 <strong><em>to</em></strong> n <strong><em>do</em></strong></p>
<p>a[i]:=i;</p>
<p>Pentru a atribui fiecărui element a[i] valoarea n-i procedam ca în exemplul urmator:</p>
<p><strong>Exemplu:</strong></p>
<p><strong><em>for</em></strong> i:=0 <strong><em>to</em></strong> n <strong><em>do</em></strong></p>
<p>a[i]:=n-i;</p>
<p><strong><em>for</em></strong> i:=0 <strong><em>to</em></strong> n <strong><em>do</em></strong></p>
<p>a[n-i]:=i;</p>
<p>În fiecare caz a trebuit să  descoperim cîte o relaţie între <strong>a[i]</strong>, <strong>a[n-i]</strong> şi <strong>i</strong> şi între <strong>a[i]</strong> şi <strong>n-i</strong>.</p>
<p>Iata un exemplu mai interesant.</p>
<p>Presupunem că procedura <strong>exchange</strong> este corespunzător definită ca un <strong><em>array</em></strong> ce conţine cîteva valori şi că dorim să inversăm ordinea acelor valori.</p>
<p><strong>a[0]&lt;-&gt;a[n]</strong></p>
<p><strong>a[1]&lt;-&gt;a[n-1]</strong></p>
<p><strong>a[2]&lt;-&gt;a[n-2]</strong></p>
<p>Relaţia dintre indicii succesivi este uşor de stabilit:</p>
<p><strong>a[i]&lt;-&gt;a[n-i]</strong></p>
<p>Dar ce limită superioară ar trebui să fie folosită de ciclul <strong><em>for</em></strong> astfel încît să minimalizăm numărul de schimbări necesare ?</p>
<p>Exprimarea din exemplul urmator, dupa cum se poate constata uşor, nu face mai nimic!</p>
<p><strong>Exemplu:</strong></p>
<p><strong><em>for</em></strong> i:=0 <strong><em>to</em></strong> n <strong><em>do</em></strong></p>
<p><strong><em>exchange</em></strong>(a[i],a[n-i]);</p>
<p>Ceea ce ne trebuie este soluţia următoare, care lucrează atît pentru o valoare para a lui n, cît şi pentru o valoare impară.</p>
<p><strong>Exemplu:</strong></p>
<p><strong><em>for</em></strong> i:=0 <strong><em>to</em></strong> (n-1) <strong>div</strong> 2 <strong><em>do</em></strong></p>
<p><strong><em>exchange</em></strong>(a[i],a[n-i]);</p>
<p>Exemplele prezentate sunt tipice utilizării <strong><em>array</em></strong>-ului cu o dimensiune. Cheia succesului constă în managementul indicilor.</p>
<p><a rel="attachment wp-att-99" href="http://resurse-educationale.uv.ro/?attachment_id=99">Tipuri de date array</a></p>
]]></content:encoded>
			<wfw:commentRss>http://resurse-educationale.uv.ro/?feed=rss2&#038;p=98</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Programare dinamică. Programe rezolvate.</title>
		<link>http://resurse-educationale.uv.ro/?p=93</link>
		<comments>http://resurse-educationale.uv.ro/?p=93#comments</comments>
		<pubDate>Tue, 01 Feb 2011 11:04:09 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Pascal]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[dinamică]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[programare]]></category>
		<category><![CDATA[programe rezolvate]]></category>

		<guid isPermaLink="false">http://resurse-educationale.uv.ro/?p=93</guid>
		<description><![CDATA[Datorită faptului că este una din cele mai complexe tehnici de programare, vom acorda o atenţie mărită acestei modalităţi de tratare a programelor, atenţie însoţită de un număr mare de exemple. Ele sunt în majoritate de facturi diferite, şi constituie &#8230; <a href="http://resurse-educationale.uv.ro/?p=93">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Datorită faptului că este una din cele mai complexe tehnici de programare, vom acorda o atenţie mărită acestei modalităţi de tratare a programelor, atenţie însoţită de un număr mare de exemple. Ele sunt în majoritate de facturi diferite, şi constituie un bun punct de pornire în formarea unei gândiri dinamice.</p>
<p>Datorită  frecvenţei folosirii aceluiaşi termen, vom nota noţiunea de programare dinamică prin iniţialele <strong>PD</strong>.</p>
<p><strong>PD</strong> este o tehnică de programare de nivel înalt în sens că necesită o îmbinare între intuiţie şi rigurozitate matematică. Expunem, într-un mod intuitiv, ideile acestei tehnici.</p>
<p><strong> </strong>În general, termenul de &#8220;principiul optimalităţii&#8221; semnifică următoarele: atunci când vrem să obţinem o situaţie favorabilă dintr-un anumit punct de vedere, este bine ca ea să rezulte tot din spaţii favorabile. Un exemplu intuitiv este acel al distanţelor:</p>
<p>Într-un cartier sînt mai multe case, pe care le vom nota cu litere: A,….,Z. Dacă există un drum minim de la A  la Z şi acest drum trece de exemplu prin D, atunci porţiunile din acest drum situate între A şi D, respectiv D şi Z sunt minime.</p>
<p>Pentru a justifica aceasta, să presupunem prin absurd că drumul A-α-D nu ar fi minim. Înseamnă că există alt traseu A-β-D mai scurt decât acesta; dacă luăm atunci drumul A- β &#8211; D &#8211; Z, el va fi evident mai scurt decât drumul A  &#8211; α &#8211; D &#8211; Z, care este considerat ca fiind drum minim, contradicţie.</p>
<p>Deci, dacă traseul A-Z este optim, atunci orice subtraseu al său este optim.</p>
<p>Principiul optimalităţii are 3 variante:</p>
<p>s1,  s2, …, si să fie optim.</p>
<p>De precizat că reciproca nu este adevărată totdeauna: din îmbinarea a două optime nu rezultă neapărat un optim; doar dacă avem un optim, putem fi siguri că el este compus din două optime. Deci trebuie să facem toate combinaţiile di soluţii parţiale optime pentru a găsi acea pereche de optime care alăturate conduc la un optim. Am folosit mai sus termenul de optim, dar nu am precizat în ce sens. Criteriul ales nu este valabil pentru orice problemă, ci va fi un criteriu specific problemei pe care o tratăm. În exemplu anterior criteriul era distanţa dintre două puncte (de exemplu A şi Z). Deci noţiunea abstractă cu care se lucra în problemă era ceia de distanţă, iar optim înseamnă lungimea ei, măsurată în anumite unităţi.</p>
<p>Dacă &#8211; spre exemplu &#8211; vom aborda o problemă care necesită să evaluăm ce preţ trebuie plătit pentru a duce un sistem dintr-o stare în alta, noţiunea cu care se va lucra este banul, iar optim va însemna cît mai puţini.  După cum se poate intui, întotdeauna se va găsi o cuantificare a realităţii astfel în cît optimalitatea să se refere la numere.</p>
<p>Rezolvările folosind <strong>PD</strong> sunt în general bazate pe realizarea unei optimizări, de aflare a unui şir optim de transformări conform criteriului care ne intersectează.</p>
<p>Deficienţa acestei metode este că depinde de experienţa personală şi de capacitatea de a intui. Şi încă un lucru: să nu vă speriaţi; de obicei programele de <strong>PD </strong>sunt extrem de scurte şi neaşteptat de simple.</p>
<p><a rel="attachment wp-att-94" href="http://resurse-educationale.uv.ro/?attachment_id=94">Programare dinamica</a></p>
]]></content:encoded>
			<wfw:commentRss>http://resurse-educationale.uv.ro/?feed=rss2&#038;p=93</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Programarea numerelor mari în Pascal</title>
		<link>http://resurse-educationale.uv.ro/?p=88</link>
		<comments>http://resurse-educationale.uv.ro/?p=88#comments</comments>
		<pubDate>Tue, 01 Feb 2011 11:00:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Pascal]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[hexa]]></category>
		<category><![CDATA[integer]]></category>
		<category><![CDATA[numere mari]]></category>
		<category><![CDATA[programare]]></category>
		<category><![CDATA[real]]></category>
		<category><![CDATA[sistem binar]]></category>

		<guid isPermaLink="false">http://resurse-educationale.uv.ro/?p=88</guid>
		<description><![CDATA[Reprezentarea zecimală codificată binar se realizează prin exprimarea fiecărei cifre zecimale într-o tetradă binară conform unui anumit cod numeric. Cel mai utilizat este codul zecimal codificat binar, BCD (Binary Coded Decimal). Cifrele de la 0 la 9 sunt reprezentate prin &#8230; <a href="http://resurse-educationale.uv.ro/?p=88">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Reprezentarea zecimală codificată binar se realizează prin exprimarea fiecărei cifre zecimale într-o tetradă binară conform unui anumit cod numeric. Cel mai utilizat este <strong><em>codul zecimal codificat binar, BCD </em></strong>(<strong>B</strong><em>inary <strong>C</strong>oded <strong>D</strong>ecimal</em>). Cifrele de la 0 la 9 sunt reprezentate prin valori binare echivalente, pe cîte 4 poziţii binare: 0 – 0000, 1 – 0001, &#8230;, 9 – 1001. Se observă că din cele 16 valori distincte ce se pot reprezenta pe 4 poziţii binare, doar primele 10 sunt utilizate. Avantajul aceste codificări este corespondenţa  directă între cifra zecimală şi valoarea sa.  Reprezentarea numerelor zecimale se realizează în grupuri de cîte 8 cifre binare în două forme:  Drept exemplu, în figura 10 sunt redate reprezentările numărului 3278 în forma împachetată şi despachetată.  Numerele negative pot fi reprezentate prin cod direct (mărime şi semn) sau prin coduri mai sofisticate: cod zecimal invers sau cod zecimal complementar. Semnul pentru astfel de numere se reprezintă printr-o combinaţie de 4 biţi, care nu se utilizează pentru reprezentarea cifrelor zecimale, de „+” prin 1100, iar „-” prin 1111.  Reprezentarea zecimală codificată binar se utilizează pentru aplicaţiile în care se prelucrează, cu operaţii simple, un număr foarte mare de numere: calcule electronice, calculatoare încorporate în aparate de măsură ş.a. Deoarece în aceste cazuri timpul de prelucrare ar fi mai mic decît timpul necesar conversiei din zecimal în binar şi invers (dacă prelucrarea s-ar face în binar), se preferă efectuarea calculelor, folosind reprezentarea zecimală codificată binar. Astfel, nu mai este necesară conversia datelor la introducerea şi extragerea acestora în şi din calculator.  §2. Tipuri de date  O caracteristică importantă a datelor este <strong>tipul</strong> acestora. Prin <strong>tip</strong> se înţelege o <em>mulţime de valori căreia i se poate ataşa un nume</em>, valorile reprezintă constante de acest tip. Tipul stabileşte atît semnificaţia datelor cît şi restricţiile impuse în folosirea lor. Principalele tipuri de date ale limbajului Pascal sunt:  În plus programatorul are posibilitatea definirii unor noi tipuri.  Una dintre caracteristicile limbajelor de nivel înalt este aceea că, în cazul lor, compilatorul realizează o verificare a tipului astfel încît să existe certitudinea că tipurile de date implicate în calcul sunt compatibile cu operaţiile ce trebuie realizate.  În afara calculatorului, valorile de orice tip se reprezintă ca texte, adică printr-o secvenţă de caractere. De exemplu, numerele întregi se pot reprezenta prin secvenţe de cifre zecimale, numerele reale prin cifre şi punct zecimal, iar caracterele prin ele însele.  În interiorul calculatorului, însă, lucrurile stau cu totul altfel. Hard-ware-ul unui calculator electronic este format din dispozitive ce se pot afla în două stări fizice distincte. De exemplu, un tranzistor poate conduce sau nu curent electric. Se spune că un dispozitiv cu două stări memorizează o cifră binară sau un <strong>bit</strong>. Unui grup de N astfel de dispozitive îi corespund 2<sup>N</sup> stări diferite şi el memorizează n biţi. O astfel de entitate se va numi <strong>cuvînt de N biţi</strong>. Un cuvînt de 8 biţi poate avea 26 stări diferite, suficiente pentru a putea asocia cîte o stare fiecărui caracter dintr-un set de caractere uzual. Vom spune în acest caz că, fiecare stare codifică un caracter. Un cuvînt de 16 biţi poate avea 65536 stări diferite, adică suficient pentru a putea codifica toate numerele întregi cuprinse între –32768 şi +32767. Celelalte date pot fi codificate în mod asemănător.  3.1.Tipuri de date întregi  În Pascal tipurile întregi permit reprezentarea, memorarea şi prelucrarea numerelor întregi. Teoretic, acestea  pot avea valori absolute oricît de mari, dar reprezentarea datelor în cadrul calculatorului nu permite existenţa seturilor de numere infinite. Limbajul Pascal implementează această restricţie furnizînd în mod automat un identificator de constantă, MaxInt, a cărui valoare reprezintă cel mai mare număr ce poate fi conţinut de o variabilă de tip integer. MaxLongInt=2147483647  Operaţiile aritmetice efectuate asupra valorilor de tip întreg vor fi executate corect de către calculator numai dacă toţi operanzii şi toate rezultatele intermediare sunt cuprinse în intervalul –MaxInt şi MaxInt. Dacă aceste valori sunt depăşite, rezultatul devine impredictibil, caz în care se spune că a apărut o „depăşire”  (overflow) şi programul eşuează. Anumite calculatoare semnalizează o asemenea situaţie generînd mesaje de eroare şi determinînd oprirea imediată a execuţiei programului. Există însă şi sisteme de calcul în care depăşirile nu sunt detectate, iar programul poate furniza rezultate eronate, fără ca utilizatorul uman să fie atenţionat. Din acest motiv se consideră că eliminarea posibilităţii apariţiei depăşirilor reprezintă o foarte serioasă problemă a programării.  În limbajul de programare Pascal sunt cinci tipuri de date întregi: <strong>Shortint, INTEGER, LongInt, BYTE, WORD.</strong> <strong><a rel="attachment wp-att-89" href="http://resurse-educationale.uv.ro/?attachment_id=89"></a></strong></p>
<p><strong><a rel="attachment wp-att-89" href="http://resurse-educationale.uv.ro/?attachment_id=89">Download Numere mari</a> </strong> <strong> </strong></p>
]]></content:encoded>
			<wfw:commentRss>http://resurse-educationale.uv.ro/?feed=rss2&#038;p=88</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
