introducere in informatica si algoritmi fundamentali

Algoritm, Proprietăți și introducere în informatică

Proprietățile unui algoritm: 

  • generalitatea; 
  • claritatea; 
  • finitudinea; 
  • eficiența. 

Date cu care lucrează algoritmii 

Date: de intrare (DI) , de manevră (DM) și de ieșire (DE). 

Operația de atribuire: 

     nume_variabilă ← expresie. 

  • începe cu o literă sau cu underscore (_); 
  • nu se folosește spațiul; 
  • poate conține litere, cifre și alte underscore-uri; 

1 octet (byte) = 8 biți 

Prezentarea algoritmilor. Operatori.  Structuri de control. 

Tipuri de date:  

  • numeric: întreg, real 
  • caracter (între apostrofuri) 
  • șir de caractere (între ghilimele) 

Operatori: 

  • aritmetici : +, -, /, *, %. 
  • logici : not (unar), or și and (binari). 
  • relaționali : =, >, <, <=, >=, <>. 
  • rezultat de tip logic. 

p and q 
p or q 
fig.1 Elemente de logică în propoziție

Reprezentarea algoritmilor 

posibilă folosind schemă logică sau pseudocod 

Schema logică 

  • bloc terminal. 

Shape

start, stop 

  • bloc de intrare/ieșire 

Shape

citește, scrie 

  • bloc de calcul 

calculează 

  • conector 
  • săgeată 
  • blocul de decizie 

cl – condiție logică 

Structuri de control 

  • structura alternativă 

dacă cl atunci 

    acțiune 1 

altfel 

    acțiune 2 

  • structura de selecție multiplă 

în caz că selector 

  var 1: acțiune 1 

  var 2: acțiune 2 

  var 3: acțiune 3 

  ….

  var n: acțiune n 

  altfel: acțiune 

  • structura repetitivă cu test inițial 

cât timp cl execută  

    acțiune 

  • structura repetitivă cu test final 

repetă 

    acțiune 

până când cl 

  • structura repetitivă cu nr. finit de pași  

pentru c ← vi, vf execută   // vi <= vf 

    acțiuni 

Exemple 

  • citirea unui șir de valori cât timp nu s-a întâlnit valoarea 0 sau o valoare specificată 

citește x 

cât timp x<>0/val_specif execută 

          prelucrează x 

          citește x 

  • determinare maxim sau minim dintr-un șir de valori 

citește x 

max ← x 

cât timp x<>0 execută 

            dacă x>max atunci 

                     max ← x 

            citește x 

scrie max 

citește n, x 

min ← x 

pentru i ← 2, n execută 

         citește x 

         dacă min>x atunci 

               min ← x 

scrie min 

  • extragere de cifre dintr-un număr 

citește x 

cât timp x>0 execută 

        uc  ←  x%10 

        x ← x/10 

        prelucrează uc 

  • determinarea celei mai mari cifre din număr și numărul ei de apariții 

citește x 

max ← 0 

nr ← 0 

cât timp x<>0 execută 

       uc ← x%10 

       x ← x/10 

       dacă uc>max atunci 

                max ← uc 

                nr  ←  1 

         altfel 

                dacă uc = max atunci 

                       nr ← nr + 1 

scrie max, nr 

  • determinarea c.m.m.d.c.  

citește a, b 

cât timp b>0 execută 

             r  ← a%b 

             a ← b 

             b ← a 

cmmdc ← a 

prelucrează cmmdc 

  • algoritm de testare număr prim 

citește x 

prim ← 1 

d ← 2 

cât timp d<= x/2 and prim=1 execută 

           dacă x%d = 0 atunci 

                    prim ← 0 

           d ← d+1 

dacă prim=1 atunci 

    scrie “e prim” 

  altfel 

    scrie “nu e prim” 

  • algoritm de descompunere în produs de factori primi 

citește x 

f ← 2 

cât timp x>1 execută 

   p ← 0 

   cât timp x%f=0 execută 

       x ← x/f 

       p ← p+1 

   dacă p>0 atunci 

       scrie f, ‘^’, p 

    f ← f+1 

  • algoritmul de trecerea unui nr din bază 10 într-o bază 2 < q < 9 

citește n10, q 

nq ← 0 

p ← 1 

cât timp n10>0 execută 

     nq  ← nq + p*(n10%q) 

     n10 ← n10/q 

     p ← p*10 

scrie nq 

  • algoritm de prelucrarea divizorilor unui nr 

citește x 

pentru d ← 2,x/2 execută 

     dacă x%d=0 atunci 

     prelucrează d 

  • algoritm de trecere dintr-o bază q în bază 10 

citește nq, q 

n10 ← 0 

p ← 1 

cât timp nq>0 execută 

     n10 ←  n10 + p*(nq%10) 

     nq ← nq/10 

     p ← p*q 

 scrie n10 

  • algoritm de generarea șirurilor recurente, șirul lui Fibonacci 

citește n 

fib1 ← 1 

fib2 ← 1 

scrie fib1, fib2 

pentru i ← 3, n execută 

     fib3 ← fib1 + fib2 

     fib1 ← fib2 

     fib2 ← fib3 

scrie fib3 

Sper că ți-a fost de ajutor, iar dacă vrei să te pregătești în detaliu la matematică nu ezita să folosești profesorii noștri de top de pehttps://meditatii.ro/informatica/online

Leave a Reply

Your email address will not be published. Required fields are marked *