Risipa de key_press | Programare

Programare .Net | Tehnici de programare | Tutoriale | Lectii si exemple

Risipa de key_press | Programare - Programare .Net | Tehnici de programare | Tutoriale | Lectii si exemple

Calculator

Scrieţi un program care simulează un calculator electronic pentru numere întregi: se introduc două numere întregi şi o operaţie care poate fi +, -, *, /, reprezentând adunarea, scăderea, înmulţirea şi câtul.

Analiza Programului

– se declara numerele intregi a, b si rez de tip int, reprezentand operatii si rezultatul;
– se declara caracterul op de tip char, reprezentand operatia care se va executa;
– se declara variabila ok de tip short, care va ramana 1 daca operatia se termina cu succes, astfel i se va atribui 0;
– avand in vedere ca va trebui sa comparam valoarea retinuta de variabila op cu mai multe valori, folosind instructiunea de selectie switch. Avem 4 randuri case, una pentru fiecare dintre valorile +, -, *, / si ramura default pentru cazurile in care op are orice alta valoare inafara celor 4 enumerate anterior, moment in care ok ia valoarea 0.
In cazul in care op are una din valorile +, -, * se efectueaza operatia corespunzatoare, iar rezultatul se depune in variabila rez. In cazul in care op are valoarea /, prima data se va testa cu ajutorul unei instructiuni if, valoarea celui al doilea operand, deoarece daca el este 0, impartirea nu se poate realiza, caz in care se va afisa pe ecran un mesaj corespunzator. Daca valoarea lui b este diferita de 0, se procedeaza ca si in cazul operatiilor +, -, *.
La final, in cadrul unei instructiuni ifse testeaza valoarea variabilei ok.
Daca ok a ramas 1, atunci se va afisa operatia efectuata impreuna cu rezultatul, altfel se va tipari un mesaj ca operatorul introdus de la tastatura nu este unul valid.

Rezolvarea in c# si c++

Egalitate in C#

Egalitatea, din punct de vedere matematic, are urmatoarele proprietati: reflexivitate – un obiect este egal cu el insusi – (a=a), simetrie – ordinea nu conteaza – (a=b, b=a), tranzitivitate (a=b, b=c, a=c),

In C# exista doua tipuri de egalitate: egalitatea pentru referinta si egalitate pentru valoare.

Metoda Object.Equals determina daca doua variabile sunt egale. Pentru tipurile referinta vom introduce notiunea de object identity, iar pentru tipurile valoare vom suprascrie metoda la verificarea tipurilor si a continutului variabilelor.

Continue reading

Conversia secundelor

Scrieti un program care primeste la intrare un numar de secunde si întoarce numarul maxim de ore, de minute, de secunde care este echivalent ca timp.
Exemplu: 321548 de secunde este echivalent cu 89 ore, 19 minute si 8 secunde

Analiza Programului

Aceasta problema este una simpla care implica cateva calcule. Astfel, in prima faza, se calculeaza cate minute reprezinta secundele date de problema.
Restul impartirii secundelor initiale la 60 reprezinta cate secunde nu pot forma un minut intreg (s). Minutele obtinute se impart si ele la 60 pentru a afla cate ore reprezinta acele minute (h). Restul impartirii minutelor la 60 reprezinta cate minute nu pot forma o ora intreaga (m).

Rezolvarea in c# si c++

O noua serie…

Pentru ca am vazut ca pe forumuri sunt solicitate rezolvari pentru diverse probleme de scoala/facultate am decis sa incep sa public o colectie de exercitii/probleme cu rezolvare in c#. Voi incepe saptamana aceasta publicarea lor (cel mai probabil 2-3 pe saptamana).

Cel care va scrie aceasta serie nu sunt eu, ci un colaborator al acestui blog, care, la randul lui, este student si a avut aceste exercitii ca tema in anul (semestrul) de studiu pe care l-a incheiat. Din pacate nu am gasit pe nimeni care sa “traduca” rezolvarile in alte limbaje de programare (ar fi util sa fie tradus codul in pascal, c, si de ce nu php, python, javascript). Pentru asta astept voluntari.

Daca ceea ce vei gasi aici te ajuta sa iti rezolvi o tema, sa intelegi ceea ce ai studiat la scoala sau sa primesti o nota mai buna, atunci poti si tu ajuta acest site sa existe popularizand-ul in randul oamenilor cu care esti in contact, online sau offline.

Urmeaza… culegerea de execitii si probleme cu rezolvare in c#.

validare HTML

De foarte multe ori vedem in anumite pagini un buton (imagine-link) pe care scrie “Valid XHTML 1.0” si care arata asa:

Valid XHTML 1.0 Transitional

Ce inseamna asta? Inseamna ca acea pagina ar trebui sa treaca testul, validarea, de pe http://validator.w3.org/. Simplu, nu? Insa ce inseamna, mai exact, aceasta validare? Aceasta inseamna ca HTML-ul care trece validarea respecta anumite standarde, o schema specificata in prima linie a paginii:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Prin introducerea acestei linii (directive) ne impunem respectarea unui animit standard (sau schema), in scrierea codului HTML, in exemplul dat XHTML 1.0 Transitional. Deasemeni in directiva respectiva specificam si un url pentru dtd-ul respectiv: http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd – care nu este un hyperlink, ci un mod de a identifica un standard. Insa nu face parte planurile mele de astazi sa scriu despre dtd si standarde, ci doar despre cum se valideaza si de ce ar trebui sa scriem cod HTML care sa fie valid (total sau partial).

Continue reading

Prima aplicatie in WP7 (I)

Silverlight este platforma de dezvoltarea in Windows Phone 7 pentru scrierea aplicatiilor sau utilitarelor. Aceste programe sunt construite dintr-o combinatie de markup si cod managed.

Silverlight aduce in Windows Phone Rich Internet Applications (RIA), incluzand media si Web. Silverlight in Windows Phone inseamna o versiune a Silverlight 3 plus alte imbunatatiri, excluzand functionalitati care nu adresate telefonului. Toate diferentele sunt expuse in acest articol de pe msdn, Differences Between Silverlight and Silverlight for Windows Phone.

Continue reading

Cateva proprietati de stiut

Proprietati comunne in WPF:

Proprietate + ex valoare Tip data
Background=”#FFD5FCFC” Brush
Cursor=”Pen” Cursor
FlowDirection=”RightToLeft” enum
Focusable=”True” bool
FontFamily=”Times New Roman” FontFamily
FontSize=”16″ double
FontStretch=”Normal” struct FontStretch
FontStyle=”Italic” struct FontStyle
FontWeight=”Bold” struct FontWeight
Foreground=”Aquamarine” Brush
ForceCursor=”False” bool
HorizontalAlignment=”Center” enum
Margin=”5″ Thickness
MinHeight=”50″ double
MinWidth=”20″ double
Opacity=”0.8″ double
Padding=”5″ Thickness
Panel.ZIndex=”3″ dependency prop
Tag=”object” object
Text=”aaaaaaa” string
VerticalAlignment=”Center” enum

Continue reading

Eroare asteptata…

Astazi un coleg imi cerea parerea referitor la scrierea unor erori intr-un log. Avem un Enum unde dam nume oricarui tip de eroare pe care o scriem in log. Astazi a trebuit sa gasim o categorie pentru o noua eroare. Pentru ca nu am gasit, am decis sa o catalogam, deocamdata, drept “unexpected error” si sa ne mai gandim pe parcurs cum modificam acel Enum, care e intr-un dll extern, pentru a se potrivi…

Apoi a venit intrebarea, dicutand intre noi despre respectiva categorie:
De ce tot timpul cand primim o erroare ea se numeste “Unexpected error”? De ce, cand “Expected error!” ar fi mai potrivit in marea majoritate a cazurilor!