Professional Documents
Culture Documents
Tecniques de Programacion DEVcpluplus
Tecniques de Programacion DEVcpluplus
Nom del autor: Alejandro Agera Lopez Curs: Desenvolupament de productes electrnics Nom de lescola: Mil i Fontanals Data de lliurament: 23-11-2011
Tcniques de programaci...........................................................................1 Unitat didctica 2............................................................................................4 Entorn de programaci i primers programes................................................4 Petita definici del que es el llenguatge DEV C++:...................................4 Exercici n 1: Suma, resta, producte, quocient i residu.............................4 Estructura del programa:..........................................................................4 Exercici n 4: Clcul de la resistncia equivalent d'un circuit parallel.......6 Estructura del programa:..........................................................................6 Unidad didctica 3. ........................................................................................8 Estructures bsiques en llenguatge C..........................................................8 Exercici n 4: Canvi ptim:........................................................................8 Diagrama de flux:.....................................................................................8 Estructura del programa:..........................................................................8 Exercici n 6: Escriure, sumar i comptar els nmeros que sn a la vegada mltiples de 2 i de 3:..............................................................................11 Diagrama de flux:...................................................................................11 Estructura del programa:........................................................................12 Exercici n 8: Factorial d'un nmero:......................................................14 Diagrama de flux:...................................................................................14 Estructura del programa:........................................................................14 Exercici n 14: Algoritme de multiplicaci de dos nmeros:....................15 Diagrama de flux:...................................................................................15 Estructura del programa:........................................................................16 Exercici n18: Programa que dibuixi un rectangle:..................................18 Estructura del programa:........................................................................18 Conclusions:...........................................................................................20
Unitat didctica 2
Unitat didctica 2.
Entorn de programaci i primers programes.
Unitat didctica 2
printf("\n Indica el valor del b: "); scanf("%d",&b); suma=a+b; resta=a-b; producte=a*b; quocient=a/b; residu=a%b; /*indica el resultat*/ printf("\n La suma de A y B es:%d",suma); printf("\n La resta de A y B es:%d",resta); printf("\n El producte de A y B es:%d",producte); printf("\n El quocient de A y B es:%d",quocient); printf("\n El residu de A y B es:%d",residu); fflush(stdin); printf("\n\nPREM INTRO PER A TANCAR PROGRAMA!!!.....\n"); // FEM UNA PAUSA getchar(); }
Pgina 5 de 20
Unitat didctica 2
Exercici n 4: Clcul de la resistncia equivalent d'un circuit parallel Estructura del programa:
Enunciat del programa: Escriviu un programa que calculi la resistncia equivalent duna connexi de tres resistncies en parallel. Definiu quatre variables float anomenades r1, r2, r3, i rt. La resistncia equivalent duna connexi de tres resistncies en parallel s: RT = 1 / (1/R1 + 1/ R2 + 1/R3).*/ Cos del programa: #include <stdio.h> int main(void) { /*indica quines son les variables a utilitzar*/ float r1,r2,r3,rt; /*indica el cos del programa*/ printf("\n resistencia equivalen en parallel"); printf("\n indica el valor de r1:"); scanf("%f",&r1); printf("\n indica el valor de r2:"); scanf("%f",&r2); printf("\n indica el valor de r3:"); scanf("%f",&r3); /*indica el resultat*/ rt=1/(1/r1+1/r2+1/r3); printf("\n La seva resistencia equivalent es:%.2f",rt); fflush(stdin);
Pgina 6 de 20
Unitat didctica 2
Pgina 7 de 20
Unitat didctica 3
Unidad didctica 3.
Estructures bsiques en llenguatge C
Exercici n 4: Canvi ptim: Diagrama de flux:
entrada de numero enter
NO entera>=2
SI
m2=entera/2 entera=entera%2
Escriu m2
NO Entera == 1
SI Escriu "1"
sistema condicional.
Unitat didctica 3
/*Exercici 4: Enunciat de programa: Enunciat del programa: Escriviu un programa que determini el canvi ptim (nmero mnim de monedes possible) d'una quantitat entera en monedes de 1, 2, 5, 10, 20, i 50 cntims, de 1 o 2 euros. Per exemple per 5,27 Euros el programa ha d'escriure: (part entera 5),(27 part fraccionaria) Part entera 2 monedes de 2 euros 1 moneda d'1 euro Part fraccionaria 1 moneda de 20 centims 1 moneda de 5 centims 1 moneda de 2 centims */
El cos del programa: #include<stdio.h> #include<stdlib.h> int main (void) { //indica les variables: int entera,fraccio,m1,m2,n1; //estructura del programa: printf("\n PROGRAMA PER A CALCULAR EL CANVI OPTIM"); printf("\n entra una quantitat :"); scanf("%d,%d",&entera,&fraccio); m2=entera/2; //indica el resultat o cos del progrma:
Nom: Alejandro Agera Lpez Pgina 9 de 20
Unitat didctica 3
if (m2>=1) { printf("\n Les monedes de 2euros son: %d",m2); m1=entera-2*m2; printf("\n Les monedes de 1euro son: %d",m1); } n1=fraccio/50; if (n1>=1) { printf("\n Les monedes de 50 cts son: %d",n1); fraccio=fraccio-50; } n1=fraccio/20; if (n1>=1) { printf("\n Les monedes de 20 cts son: %d",n1); fraccio=fraccio-20; } n1=fraccio/10; if (n1>=1) { printf("\n Les monedes de 10 cts son: %d",n1); fraccio=fraccio-10; } n1=fraccio/5; if (n1>=1) {
Nom: Alejandro Agera Lpez Pgina 10 de 20
Unitat didctica 3
printf("\n Les monedes de 5 cts son: %d",n1); fraccio=fraccio-5; } n1=fraccio/2; if (n1>=1) { printf("\n Les monedes de 2 cts son: %d",n1); fraccio=fraccio-2; printf("\n Les monedes de 1 cts son: %d",fraccio); } //pausa per a visualitzar en la pantalla: fflush(stdin); printf("\n PREM INTRO PER A TANCAR PROGRAMA!!!.....\n"); // FEM UNA PAUSA indicada en pantalla getchar();//tanca el progrma pulsant intro }
Exercici n 6: Escriure, sumar i comptar els nmeros que sn a la vegada mltiples de 2 i de 3: Diagrama de flux:
Nom: Alejandro Agera Lpez Pgina 11 de 20
Unitat didctica 3
INICI
Indica un numero
contador=1
NO contador<=n2 SI
SI imprimir contador
contador++
FI del programa
Unitat didctica 3
que hi ha entre la unitat i un nmero enter, qualsevol entrat pel teclat. Feu tamb el diagrama de flux. Cos del programa: #include <stdio.h> int main() { int n1=0; int n2=0; int contador=1; int contador2=0; int suma=0; printf("indica numero :"); scanf("%d",&n2);
printf("\nEls nombres multiple de 2 i 3 entre 1 i %d, son: ",n2); while(contador<=n2) { if (contador%2==0 && contador%3==0) { printf(" %d,",contador); suma=suma+contador; contador2++; } contador++; } printf("\nLa suma del nombres multiples de 2 i 3 es : %d, ",suma); printf("\nEl nombre de numeros multiples de 2 i 3 es : %d, ",contador2); //pausa per a visualitzar en la pantalla:
Nom: Alejandro Agera Lpez Pgina 13 de 20
Unitat didctica 3
fflush(stdin); printf("\n PREM INTRO PER A TANCAR PROGRAMA!!!.....\n"); // FEM UNA PAUSA indicada en pantalla getchar();//tanca el progrma pulsant intro (getch() tmb ace esta funcion. }
Contador=numero
NO Contador>=1
Unitat didctica 3
Cos del programa: #include<stdio.h> int main() { int num,contador,fact=1; printf("::FACTORIAL::"); printf("\nIntroduce un numero: "); scanf("%d",&num); contador=num; printf("\n %d! = ",num); while(contador>=1) { printf ("%d X ",contador); fact = fact*contador; contador--; } printf(" = %d,", fact); //pausa per a visualitzar en la pantalla: fflush(stdin); printf("\n PREM INTRO PER A TANCAR PROGRAMA!!!.....\n"); // FEM UNA PAUSA indicada en pantalla getchar();//tanca el progrma pulsant intro (getch() tmb ace esta funcion. }
Pgina 15 de 20
Unitat didctica 3
Primir n1 y n2
if(n1%2==1)
n1=n1/2 n2=n2*2
Suma = Suma
FI
El primer nombre es divideix per dos i es colloca el quocient enter a sota. El segon nombre es multiplica per dos i es colloca a sota. Aquest procediment se segueix fins que sobtingui un 1 a la primera columna.
Unitat didctica 3
46 23 11 5 2 1
A continuaci ratlleu les files en qu el primer dels nombres sigui senar i sumeu els nmeros ratllats de la segona columna:
86 + 172 + 344 + 1376 = 1978 El resultat obtingut (1978), s casualment el producte de 46 i 43. Escriviu un programa que fent servir l'estructura do...while, realitzi aquest algorisme de multiplicaci i vagi escrivint en la pantalla les dues columnes, a l'acabar, faci la suma i presenti el resultat a pantalla. Cos del programa:
#include<stdio.h> int main () { int n1,n2,resultat,suma=0; printf("\n Entra el primer nombre:"); scanf("%d",&n1); printf("\n Entra el segon nombre:"); scanf("%d",&n2); do { printf("\n%d\t%d",n1,n2);
Nom: Alejandro Agera Lpez Pgina 17 de 20
Unitat didctica 3
if(n1%2==1)//impar sumar { suma=n2+suma;} else { suma=suma; } n1=n1/2; n2=n2*2; } while(n1!=0); printf("\nEl resultat de la suma es = %d",suma); //pausa per a visualitzar en la pantalla: fflush(stdin); printf("\nprem una tecla per finalitzar....\n"); //Fem una pausa getchar(); } La part ms significativa o ms important. Seria aquesta part on dintre dun dowhile esta una sentencia if y la seva contraria else. Per a determina si un nombre es par o senar.
Unitat didctica 3
/*Exercic18: Enunciat del programa: Escriu un programa que demani a lusuari lamplada i lalada dun rectangle i el dibuixi en la pantalla amb el carcter X. Cos del programa: #include <stdio.h> int main (void) { int amplada,alcada,x,y; printf(":::: dibuix de un rectangle ::::"); printf("\n indica l'amplanda del rectangle :"); scanf("%d",&lada); printf("\n indica l'alcada del rectangle :"); scanf("%d",&alcada); for(x=1;x<=alcada;x++)
{
La part ms significativa o ms important seria aquesta part. On esta una sentencia For dintre duna altre sentencia For. Si no fos aix per pantalla nomes visualitzarem un costat del rectangle o be la alada o be lamplada depenent de la primera condici del for primer
Unitat didctica 3
Conclusions:
El treball esta fet amb dos programes diferents un es el Dev C++ per a recopilar els cos o el codi del programa a realitzar en els diferents apartats daquest i laltre programa es el diagram designer per a realitzar els diagrames de flux dels diferents codis o programes determinant la seva funci a realitzar.
Pgina 20 de 20