Biologie | Chimie | Didactica | Fizica | Geografie | Informatica | |
Istorie | Literatura | Matematica | Psihologie |
Algoritmi elementari
Se citeste de la tastatura un numar natural n (n<=100). Sa se determine cu ajutorul unei proceduri care primeste ca parametru n, toate numerele prime, care sunt mai mici sau egale cu numarul dat. Rezultatul sa se afiseze intr-un fisier text REZ.TXT.
Se citeste de la tastatura un numar natural n (n<=100). Sa se determine cu ajutorul unei proceduri, primele n componente ale sirului:
Rezultatul sa se afiseze intr-un fisier text REZ.TXT.
Se citeste de la tastatura un numar natural n (n<=100). Sa se determine cu ajutorul unei proceduri si sa se afiseze in fisierul REZ.TXT, toate numerele mai mici sau egale cu numarul dat n, care au proprietatea, ca suma divizorilor este egala cu numarul dat..
Exemplu
6 = 1 + 2 + 3
Se citeste de la tastatura un numar natural n (n>=100). Sa se determine cu ajutorul unei functii, daca numarul dat este numar "munte-vale". Un numar natural este "munte-vale" daca cifrele din numar sunt in ordine crescatoare pana la o anumita pozitie, iar cifrele care vin sunt in ordine descrescatoare pana la sfarsit.
Exemple pentru numere "munte-vale":
Doua numere naturale sunt "prietene" daca au proprietatea ca, suma divizorilor primului numar este egala cu al doilea numar. Sa se determine dintr-un interval dat de la tastatura, toate numerele "prietene", rezultatul sa se afiseze in fisierul REZ.TXT.
ex:
( 1 + 2 + 3 + 6 = 12 )
Se citeste din fisierul IN.TXT de pe prima linie un numar natural n (n<=20), de pe a doua linie un tablou unidimensional cu n elemente intregi . Sa se completeze tabloul cu elemente noi si sa se scrie rezultatul in fisierul REZ.TXT, in modul urmator, intre oricare doua elemente sa se insereze media aritmetica a celor doua elemente, daca au semne diferite. Inserarea se realizeaza cu o procedura care primeste ca parametru sirul si numarul de elemente a sirului.
Se citeste dintr-un fisier text IN.TXT doua tablouri unidimensionale cu elementele in ordine crescatore. Sa se determine din cele doua tablouri cu ajutorul unei proceduri, un al treilea tablou unidimensional in mod optim, care contine toate elementele celor doua tablouri tot in ordine crescatore
IN.TXT
Se citeste de la tastaura un numar natural n.Sa se genereze aleator doua tablouri unidimensionale cu n elemente. Sa se determine din cele doua tablouri a si b un al treilea in modul urmator:
Generarea se realizeaza cu o procedura, avand ca parametru sirurile respective, iar rezultatul se afiseaza intr-un fisier text.
Se citeste de la tastatura un numar natural n, sa se genereze un tablou unidimensional cu n elemente numere intregi intre 1 si 10, apoi sa se determine un tablou unidimensional intr-o procedura, astfel incat pe fiecare pozitie i sa avem numarul de aparitii a numarului din tabloul initial.
Se citeste dintr-un fisier text elementele a doua multimi A si B (numarul elementelor a celor doua multimi sunt n si m). Sa se determine:
a) reuniunea: A B
b) intersectia: A B
Multimile vor fi determinate cu doua proceduri.
Structura fisierului este:
n
a1 a2 ..an
m
b1 b2..bm
Probleme cu stringuri
Se citeste un text de maximum 250 caractere din fisierul text DATE.IN Textul poate fi pe mai multe linii. Cate cuvinte de N (N citit de la tastatura) caractere contine textul si care sunt acestea, presupunand blancul (1 sau mai multe) drept separator. Citirea din fisier a textului se va face intr-o functie care va avea drept parametru pe N (lungimea ceruta) si va returna numarul de cuvinte care indeplinesc conditia ceruta.
Fie un text de maximum 250 caractere, cu mai multe propozitii, citit de la tastatura. Separatorul dintre propozitii este punctul. Cate propozitii contine textul si cate cuvinte contine fiecare propozitie daca separatorul dintre cuvinte este orice caracter in afara de litere si cifre. Numarul de propozitii se va calcula intr-o functie ce va returna numarul cerut.
Fie un text de maximum 75 caractere in care separatorul dintre cuvinte este blancul (1 sau mai multe). Sa se faca un program care insereaza la inceputul fiecarui cuvant un numar ce arata al catelea cuvant din text este el.
Fie un fisierul text DATE .IN Sa se construiasca inversul (oglinditul) fiecarui numar gasit in fisier. Pentru construirea numarului se va folosi o functie ce are ca parametru numarul gasit in fisier si returneaza inversul acestuia. Fisierul modificat se va scrie in DATE.OUT
Fie un text de maximum 70 caractere in care separatorii dintre cuvinte sunt cifrele (una sau mai multe). Sa se faca un program care insereaza la sfarsitul fiecarui cuvant lungimea sa.
Fie fisierul DATE 1.IN . Sa se faca un program care construieste din fisierul dat fisierul DATE 2.IN, codificat in felul urmator: inaintea si dupa fiecare vocala se insereaza litera p. Fisierul astfel construit se decodifica in fisierul DATE.OUT . Apoi se verifica daca acest ultim fisier este identic cu cel initial. Aceasta verificare se va face intr-o functie care primeste ca parametru cele doua fisiere si retruneaza daca sunt sau nu identice.
Sa se calculeze si sa se afiseze frecventa de aparitie a fiecarui caracter dintr-un fisierul text DATE.IN.
Fie un text de maximum 255 caractere, citit de la tastatura, in care separatorul de cuvinte este spatiul (1 sau mai multe). Afisati textul ordonat crescator dupa lungimea cuvintelor.
Se citeste de la tastatura un text de maximum 70 caractere. Sa se transforme textul astfel incat dupa fiecare cifra sa se insereze numarul obtinut prin inmultirea cu 2 a cifrei respective.
Fie un text de maximum 70 caractere in care separatorii dintre cuvinte sunt cifre (una sau mai multe). Sa se faca un program care insereaza la inceputul fiecarui cuvant numarul de vocale pe care le contine.
Probleme cu matrici
Fie un fisier text cu urmatoarea structura: prima linie contine 2 numere naturale n si m separate prin spatii reprezentand numarul de linii, respectiv numarul de coloane ale unei matrici. Urmatoarele n linii contin fiecare cate m numere separate prin spatii reprezentand valorile matricii de pe cate o linie. Sa se faca un program care citeste matricea din fisier si ordoneaza crescator fiecare linie para a ei. Citirea din fisier se va face intr-o procedura ce va avea drept parametru fisierul din care se citeste. Pentru ordonarea unei linii se va construi un subprogram care va avea ca parametru numarul liniei.
Sa se faca un program care realizeaza urmatoarele
genereaza aleator o matrice patrata de NxN ce are ca valori numai cifre (0..9). folosind o procedura
populeaza un vector cu elementele de deasupra diagonalei secundare a matricii folosind o procedura ce are parametrii vectorul si lungimea sa
Fie fisierul text DATE.IN cu urmatoarea structura: prima linie contine 2 numere naturale n si m separate prin spatii reprezentand numarul de linii, respectiv numarul de coloane ale unei matrici. Urmatoarele linii contin fiecare cate trei numere naturale separate prin spatii si avand urmatoarea semnificatie: primele doua numere semnifica linia respectiv coloana matricii, iar al treilea numar valoarea existenta in celula corespunzatoare liniei si coloanei. In fisier se scriu valorile diferite de zero din matrice. Sa se faca un program care citeste, folosind o procedura, matricea din fisier si ordoneaza descrescator ultima coloana prin interschimbari de linii. Pentru operatia de interschimbare a doua elemente se va folosi o procedura ce primeste ca parametrii elementele care se interschimba.
Sa se faca un program care realizeaza urmatoarele
- genereaza aleator un vector cu n elemente ce are ca valori numai cifre (0..9). folosind o procedura
- verifica daca vectorul reprezinta un palindrom folosind o functie (palindrom: un numar care este identic cu oglinditul lui exemplu: 132231 sau 54745)
Fie fisierul text DATE.IN cu urmatoarea structura: prima linie contine 2 numere naturale n si m separate prin spatii reprezentand numarul de linii, respectiv numarul de coloane ale unei matrici. Urmatoarele n linii contin fiecare cate m numere separate prin spatii reprezentand valorile matricii de pe cate o linie. Fiind dat un numar natural p, citit de la tastatura, sa se formeze vectorul X cu q componente, unde xi reprezinta numarul elementelor din coloana a i-a a matricii A care sunt divizibile cu p. Pentru citirea matricii se va construi o procedura, iar numarul de elemente divizibile cu p de pe o coloana va fi returnat printr-o functie ce primeste ca parametru coloana pentru care se face calculul.
Exemplu: n=3, m=3, p=5
A: 10 13 15 X: 2 0 3
25 1 10
Se da o matrice de p linii si q coloane, cu elemente de tip intreg generate aleator. Sa se inlocuiasca elementul maxim de pe fiecare coloana cu suma elementelor de pe coloana respectiva. Pentru calculul maximului se va folosi o functie ce returneaza valoarea maxima calculata si primeste ca parametru coloana pentru care se face calculul .Suma elementelor se va calcula tot intr-o functie ce primeste ca parametru coloana pentru care se face calculul.
Sa se genereze aleator o matrice patrata A cu n linii si n coloane avand valori de tip caracter. Sa se construiasca apoi vectorii X si Z cu n componente, unde
X(i)=numarul elementelor din linia i care sunt litere mari;
Z(i)=numarul elementelor din coloana i care sunt litere mici
Pentru calculul elementelor lui X se va construi o functie care primeste ca parametru linia si returneaza numarul elementelor care sunt litere mari, iar pentru calculul elementelor lui Z se va construi o functie care primeste ca parametru coloana si retruneaza numarul elementelor care sunt litere mici.
Din cuvintele unui text din fisierul text DATE.IN se formeaza o matrice cu elemente de tip string, avand n linii si m coloane. Sa se determine cel mai lung, respectiv cel mai scurt cuvant al sau, sa se afiseze aceste cuvinte si indicii lor.
Se considera ca fisierul are cel putin NxM cuvinte. Cuvintele sunt separate prin cate un singur spatiu si textul poate fi pe mai multe linii. Cel mai lung cuvant va fi determinat intr-o functie,returnand valoarea gasita, iar linia si coloana pe care a fost gasit vor fi parametrii ai functiei. In mod similar se va construi o functie si pentru cel mai scurt cuvant.
Caracterele textului unui fisier text vor fi citite intr o matrice cu P (P<=25) coloane. Daca ultima linie ramane necompletata, se va completa incepand cu prima litera mare a alfabetului. Sa se ordoneze descrescator elementele diagonalei principale prin interschimbari de linii si coloane.
Pentru interschimbarea a doua elemente se va construi o procedura.
Se genereaza aleator o matrice A de m linii si n coloane care are numai valori 1 si 0. Se considera ca elementele unei linii sunt cifrele unui numar scris in baza 2. Sa se determine numerele intregi corespunzatoare liniilor matricii. Numarul corespunzator unei linii va fi returnat printr-o functie care va avea drept parametru linia pentru care se face calculul.
Se genereaza aleator o matrice A de m linii si n (n<10) coloane care are drept valori numai cifre (0..9).. Se considera ca elementele unei linii sunt cifrele unui numar scris in baza 10 . Sa se gaseasca numerele scrise in baza 2 corespunzatoare liniilor matricii. Numarul corespunzator unei linii va fi returnat printr-o functie, sub forma unui string, iar functia va avea drept parametru linia pentru care se face calculul.
Probleme. Tipul inregistrare
Pentru N produse se cunosc: numele produsului, pretul, cantitatea disponibila. Se cere sa se scrie programul Pascal care realizeaza :
a. Citeste informatiile despre produse din fisierul text DATE.IN;
b. Afiseaza o lista a produselor cu pretul cuprins intre doua valori specificate a si b ;
c. Afiseaza valoarea totala a produselor existente.
Structura fisierului este :
linia 1 : N
linia 2 : nume produsi
linia 3 : preti
linia 4 : cantitatei
La un concurs de patinaj sunt 3 arbitri identificati prin numere intregi din intervalul [1,3], care acorda note numere reale din [1,6] sau 0 daca concurentul este descalificat. Scrieti programul Pascal care citeste numele si notele acordate pentru fiecare concurent din cei participanti la concurs din fisierul DATE.IN. Se cere sa se afiseze o lista a concurentilor in ordine descrescatoare a mediilor, si media notelor acordate de un arbitru specificat.
Structura fisierului este :
linia 1 : nume
linia 2 : nota1
linia 3 : nota2
linia 4 : nota3
Pe perioada de o saptamana se citesc din fisierul DATE.IN temperaturile dimineata, la amiaza si seara. Scrieti programul care realizeaza :
a. Citeste valorile zilnice ale temperaturilor ;
b. Afiseaza cea mai mare si cea mai scazuta temperatura.
c. Afiseaza media temperaturilor matinale.
Structura fisierului este :
linia 1 : tempd
linia 2 : tempa
linia 3 : temps
Pentru n elevi se cunosc: numele, prenemele si 3 note. Scrieti programul Pascal care citeste notele celor n elevi din fisierul text DATE.IN si afiseaza :
a. Media clasei ;
b. Numele si prenumele celui mai bun elev ;
c. Numele elevilor care au toate notele 10 ;
Structura fisierului este :
linia 1 : N
linia 2 : nume
linia 3 : prenume
linia 4 : nota1
linia 5 : nota2
linia6 : nota3
Se citesc din fisierul text DATE.IN coordonatele a N puncte in plan . Se cere sa:
a. Afisati punctele care se gasesc in cadranul I ;
b. Afisati punctele care se gasesc pe prima bisectoare .
Structura fisierului este :
linia 1 : N
linia 2 : x1 y1
linia 3 : x2 y2
Pentru N triunghiuri se cunosc lungimile laturilor, memorate in fisierul text DATE.IN, cate un triunghi pe cate o linie. Se cere sa se afiseze :
a. Triunghiul (triunghiurile) de arie maxima; (Ind. formula lui Heron)
b. O lista cu triunghiurile echilaterale.
Structura fisierului este :
linia 1 : N
linia 2 : a1 b1 c1
linia 3 : a2 b2 c2
linia 4 : a3 b3 c3
Se citesc numele a N orase, judetul si numarul de locuitori din fisier text DATE.IN. Se cere sa se afiseze :
a. Lista oraselor din judetul specificat ;
b. Numarul mediu de locuitori;
c. O lista cu orasele ordonate alfabetic
Structura fisierului este :
linia 1 : N
linia 2 : oras
linia 3 : judet
linia 4 : nr. locuitori
La o agentie de inchiriat CD-uri evidenta acestora se doreste sa se efectueze cu ajutorul calculatorului. Stiind ca pentru un CD se cunoaste numele formatiei, numarul de melodi, numele casei de discuri producatoare si pretul de inchiriere a acestuia scrieti programul necesar care sa permita :
a. Listarea CD-urilor unei anumite formatii ;
b. Marirea cu p% a CD-urilor de la o anumita casa de discuri
c. Pretul mediu de inchiriere a unui CD.
Datele de intrare se citesc dintr-un fisierul DATE .TXT.
Structura fisierului este :
linia 1 : N
linia 2 : nume_f
linia 3 : nr _m
linia 4 : nume_c
linia 5: pret
Pentru abonatii telefonici se cunosc : numele, prenumele, numarul de telefon, si numarul de impulsuri consumate. Se cere sa se scrie programul care pe baza unui meniu realizeaza :
a. Afisarea pentru fiecare abonat a valorii facturii stiind ca valoarea abonamentului este 10 U.M., primele 100 de impulsuri nu se platesc, iar ceea ce depaseste 100 de impulsuri se platesc cu 0,25U.M. ;
b. Afisati abonatii din judetul Mures ; (ind. apare 0265 ca prefix la numar)
c. Schimbati prefixul celor din judetul Timis din 0256 in 0999 ;
Datele de intrare se vor citi din fisierul DATE.TXT
Structura fisierului este :
linia 1 : N
linia 2 : nume
linia 3 : prenume
linia 4 : nr_tel
linia 5: nr_imp_consumate
Copyright © 2024 - Toate drepturile rezervate