Instrucțiuni de intrare

Curs
7/10 (1 vot)
Conține 1 fișier: doc
Pagini : 7 în total
Cuvinte : 1858
Mărime: 14.05KB (arhivat)
Publicat de: Dafina Toma
Puncte necesare: 0

Extras din curs

7. Instrucţiuni de iterare

Instrucţiunile de iterare (ciclare) permit ca un grup de instrucţiuni să se execute repetat, până se îndeplineşte o anumită condiţie. În C, există trei categorii de cicluri:

• ciclul cu test iniţial: instrucţiunea while;

• ciclul cu test iniţial şi număr cunoscut de repetări: instrucţiunea for;

• ciclul cu test final: instrucţiunea do-while.

7.1. Instrucţiunea while

Instrucţiunea while permite programarea ciclurilor cu test iniţial. Forma generală a instrucţiunii while este următoarea:

while (expresie_condiţie) instrucţiune;

unde instrucţiune este o instrucţiune vidă, o singură instrucţiune sau un bloc de instrcţiuni, iar expresie_condiţie poate să fie orice expresie. Bucla se reia atâta timp cât condiţia este adevărată, adică expresie_condiţie ia o valoare diferită de zero. Când condiţia devine falsă, se iese din ciclu şi se continuă execuţia programului cu instrucţiunea ce urmează după ciclu.

De exemplu, programul Afiseaza cod caracter utilizează un ciclu while pentru a afişa codul caracterului tastat. Ieşirea din ciclu se face când se tastează caracterul ghilimele ( “ ).

/* Afiseaza cod caracter */

#include <stdio.h>

#include <conio.h>

void main()

{

int c;

clrscr();

/* Iesire cu caracterul " (ghilimele) */

while ((c=getche())!='"') printf(" - %dn",c);

}

În anumite cazuri, instrucţiunea repetată poate fi vidă. De exemplu, secvenţa

while (getch())!='C');

aşteaptă apăsarea tastei ’C’ pentru continuarea execuţiei.

Programul Radical din numar pozitiv utilizează un ciclu while pentru a determina, cu o anumită aproximaţie, radicalul unui număr pozitiv. Programul foloseşte faptul că şirul xn, unde n este număr natural şi x0 >0, are limita radical din a . La un moment dat, programul utilizează numai ultimii doi termini ai şirului: xn-1, memorat în x şi xn, memorat în y. Calculul se consideră încheiat când diferenţa, în valoare absolută, dintre x şi y este mai mică decăt o valoare impusă delta.

/* Radical din numar pozitiv */

#include <stdio.h>

#include <conio.h>

void main()

{

float a,x=1,y,z;

const float delta=0.00001;

clrscr();

printf("Introduceti un numar pozitiv:");

scanf("%f",&a);

if (a<0) printf("Numarul %f este negativ:",a);

else

{

y=(x+a/x)/2;

z=x-y;

if (z<0) z=-z;

while (z>delta)

{

x=y;

y=(x+a/x)/2;

z=x-y;

if (z<0) z=-z;

}

printf("Radical din %g este %gn",a,x);

}

getche();

}

7.2. Instrucţiunea for

În limbajul C, bucla for are o putere şi o flexibilitate deosebită. Ea oferă o cea mai compactă metodă de programare a ciclurilor cu test iniţial. Forma generală a instrucţiunii for este următoarea:

for (expr_init ; expr_cond ; expr_increment) instrucţiune;

unde:

• expr_init este o instrucţiune care realizează iniţializarea buclei;

• expr_cond este o expresie relaţională (condiţie) care determină ieşirea din buclă;

• expr_increment stabileşte modul în care se modifică (incrementează) variabila de control a buclei (contorul).

Rolul celor trei expresii este următorul:

• expr_init este evaluată o singură dată, înaintea primei iteraţii, pentru a efectua iniţializările necesare (variabila de control şi, eventual, alţi parametrii);

• expr_cond este evaluată şi testată înainte de fiecare iteraţie;

• expr_increment se evaluază la sfârşitul fiecărei iteraţii şi, dacă este cazul, actualizează parametrii ciclului.

Instrucţiunea for poate fi echivalată cu următorul ciclu while:

expr_init;

while (expr_cond)

{

instrucţiune;

expr_increment;

}

Instrucţiunea subordonată ciclului este executată după verificarea condiţiei, dacă aceasta este adevărată. Când condiţia devine falsă, se iese din ciclu şi se continuă execuţia programului cu instrucţiunea ce urmează după ciclu.

De exemplu, programul Suma utilizează ciclul for pentru calculul sumei: s= 1 + 1/2 + 1/3 +...+ 1/n.

/* Suma */

#include <stdio.h>

#include <conio.h>

void main()

{

clrscr();

int n,i;

float s;

printf("tn=");

scanf("%d",&n);

s=0;

for (i=1; i<=n; i++) s=s+1/(float)i;

printf("suma=%fn",s);

getch();

}

Preview document

Instrucțiuni de intrare - Pagina 1
Instrucțiuni de intrare - Pagina 2
Instrucțiuni de intrare - Pagina 3
Instrucțiuni de intrare - Pagina 4
Instrucțiuni de intrare - Pagina 5
Instrucțiuni de intrare - Pagina 6
Instrucțiuni de intrare - Pagina 7

Conținut arhivă zip

  • Instructiuni de Intrare.doc

Alții au mai descărcat și

Arhitectura calculatoarelor

1.1. Sistemul de calcul 1.1.1. Definiţii Sistemul de calcul (SC, System Computer sau calculator) este reprezentat de o structură destinată...

Manual Grafuri

1. Preliminarii 1.1. Algoritmi Toti algoritmii descrisi în cadrul acestei lucrari folosesc structuri de date de tip graf. Unele descrieri sînt...

Manual Limbaj C

1. Generalitati asupra limbajului C 1.1. Introducere Limbajul C a fost creat la începutul anilor '70 de catre Brian W Kernigham si Dennis M...

Protocoale Peer to Peer

Protocolul P2P implică interacţiunea a două entităţi prin schimbul de mesaje, numite PDU (Protocol Data Unit). Fiecare PDU conţine un antet...

Noțiuni despre Algoritmi și Programare Structurată

2.1. Noţiuni introductive Rezolvarea problemelor cu ajutorul calculatorului presupune parcurgerea mai multor etape: 1. analiza problemei (cu...

Variabile

6. Variabile Prin variabilă se înţelege o dată a cărei valoare se poate schimba pe parcursul execuţiai programului. Unei variabile i se atribuie...

Instrucțiunile limbajului C++

5. Operaţii de intrare/ieşire În C, spre deosebire de alte limbaje, sistemul intrare/ieşire nu este parte a limbajului, ci este introdus printr-un...

Instrucțiuni

O instrucţiune este o parte a programului care poate fi executată. Aceasta înseamnă că o instrucţiune specifică o acţiune. Standardul ANSI C şi cel...

Te-ar putea interesa și

Emulator de Procese pentru Automate Programabile

Introducere Simularea evenimentelor discrete este o abordare foarte bună în ceea ce privește modelarea unui sistem real și pentru a-i reproduce...

Microprocesor

INTRODUCERE La baza functionarii unui calculator(SC) se afla microprocesorul(mP), inventat în anul 1971 de catre ing. M.F. HOFF de la firma INTEL,...

Microprocesor

La baza functionarii unui calculator(SC) se afla microprocesorul(mP), inventat în anul 1971 de catre ing. M.F. HOFF de la firma INTEL, care a...

Automatizări Industriale în Mecatronică

Definirea sistemului flexibil de prelucrare Sistemul flexibil de prelucrare SFP poate fi definit ca un ansamblu integrat de maşini-unelte...

Testare automată - standardul IEEE 1149.1 - boundary scan

Abstract În următoarele pagini ne propunem să prezentăm câteva din cele mai importante caracteristici ale standardului IEEE 1149.1 Boundary Scan...

Sistem achiziție date

Date tehnice de proiectare: -Intrari digitale – 16 -Intrari analogice – 1 (cu rezolutie de cel putin 10 biti) -Iesiri digitale – 16 -Iesiri...

Execuția Speculativă a Instrucțiunilor

Execuţia speculativă a instrucţiunilor Execuţia speculativă este deocamdată cea mai avansată tehnică de procesare a instrucţiunilor de salt....

Reguli de Sistem ale SENT

1 Aspecte generale 1.1 Casa de compensare automata SENT SENT este un sistem electronic de compensare multilaterala a platilor, care asigura...

Ai nevoie de altceva?