Subido por GONZAGA BARCENA HERNAN

Programación basica

Anuncio
Tarea realizar una presentación de 1 a 3 láminas por tema o
concepto
1.2 Definición de: Algoritmo, Lenguaje de Programación, Programa, Programación, Paradigmas de
programación, Editores de texto, Compiladores e intérpretes, Ejecutables, Consola de línea de
comandos, diagrama de flujo y símbolos que lo conforman.
1.3 Análisis de problemas.
1.4 Representación de algoritmos: gráfica y pseudocódigo.
1.5 Diseño de algoritmos aplicados a problemas.
1.6 Diseño algorítmico de funciones
Programación Básica.
¿Qué es la programación?
Son lenguajes de programación, que buscan de forma estructurada y secuencial realizar
acciones que normalmente realizan los seres vivíos o sistemas físicos, matemáticos,
biológicos etc.
Algoritmo: Secuencia de pasos estructurados y secuenciales para replicar un fenómeno físico,
biológico, matemático etc. (depende de la experiencia del programador)
Ejemplo 1: La suma dos números.
Algoritmo
 Sumar dos números que se encuentren entre 1 – 9
 Indicar el primer valor a sumar
 Almacenamos el primer valor
 Indicar el segundo valor a sumar
 Almacenamos el segundo valor
 Aplicar la operación de suma
 Desplegar el resultado
Utilizaremos dos funciones:
printf(“ ”); Sirve para imprimir desde consola
scanf(“ ”); Sirve para almacenar en dirección de memoria un dato
Código
//Este programa realiza la suma de dos numeros
#include<stdio.h>
int main(){
int x,y,suma;
printf("\n Programa que suma dos numeros");
printf("\n Introduzca el primer valor=");
scanf("%d",&x);
printf("\n Introduzca el segundo valor=");
scanf("%d",&y);
suma = x+y;
printf("\n La suma es = %d",suma);
}
Actividad de clase: Realizar un programa que calcule el porcentaje de una cantidad.
 Algoritmo
 Código
//Este programa realiza la suma de dos numeros
#include<stdio.h>
int main(){
float x,y,por;
printf("\n Introduzca una cantidad = ");
scanf("%f",&x);
printf("\n Introduzca el porcentaje = ");
scanf("%f",&y);
por=x*y/100;
printf("\n El resultado es = %f",por);
}
Actividad de clase:
 Realizar un código que calcule el área de un pentágono
 Realizar un programa que calcule la división
Algoritmo











Introducir el valor a dividir
Almacenar el valor
Introducir el valor que dividirá
Almacena ese valor
Realización de la operación
Imprime resultado
Introducir el valor a dividir
Almacenar el valor
Introducir el valor que dividirá
Almacena ese valor
Revisar que el segundo valor sea
diferente a cero
 Imprimir error
 Realización de la operación
 Imprime resultado
#include<stdio.h>
int main(){
float x,y,div;
printf("\n Introduzca el primer valor = ");
scanf("%f",&x);
printf("\n Introduzca el segundo valor = ");
scanf("%f",&y);
if(y != 0){
div=x/y;
printf("\n Reultado = %.3f",div);
}else
printf("\n Error");
}
//0.3 controla a tresdecimales
Operadores Aritméticos
Operadores relacionales y lógicos
Operadores Lógicos
Secuencia de escape
Carácter
Sonido
Retroceso
Tabulador Horizontal
Tabulador vertical
Nueva línea
Avance de página
Retroceso de carro
Comillas
Comillas simples
Signo de interrogación
Barra inclinada hacia atrás
Nulo
Tipo de Datos
Secuencia de
escape
\a
\b
\t
\v
\n
\f
\r
\”
\’
\?
\\
\0
Valor de ASCH
007
008
009
011
010
012
013
034
039
063
092
000
Tipo de dato
Int
Especificadores de formato
%d
Comentario
Entero con signo
Float
%f
Real con signo
Char
%c
carácter
Char [n]
%s
Cadena de caracteres
Tipo de dato
Palabra reservada
Ejemplo
Entero
Int
Int numero=0;
Real
Float
Float numero=12.2;
Carácter
Char
Char letra = ‘a’;
Cadena de carácter
Char
Char palabra[10] = “HOLA”;
Estructura if else
Se utiliza para realizar un test lógico y a llevar a cabo una de las posibles acciones,
dependiendo del resultado del test (de que sea cierto o falso la expresión).
If (expresión) {
Instrucción 1;
} else
Instrucción 2;
//Ejemplo de división
int main(){
float x,y,resultado;
printf("\n Introduzca el primer valor = ");
scanf("%f",&x);
printf("\n Introduzca el segundo valor = ");
scanf("%f",&y);
if(y==0){
printf("\n No se puede dividir entre cero");
}else {
resultado = x/y;
printf("\n Division = %f",resultado);
}
}
Actividad: Resolver las ecuaciones de segundo grado siguientes
𝑭(𝒙) = 𝒙𝟐 + 𝟐𝒙 − 𝟖  Soluciones reales
𝑭(𝒙) = 𝟑𝒙𝟐 + 𝟔𝒙 + 𝟖  Soluciones complejas
Algoritmos:







Se solicita el valor a
Se almacena el valor a como flotante
Se solicita el valor b
Se almacena el valor b como flotante
Se solicita el valor c
Se almacena el valor c como flotante
Aplicar la formula general “Caso
positivo”
 Aplicar la formula general “Caso
negativo”
 Imprimir el resultado real X1
 Imprimir el resultado real X2







Se solicita el valor a
Se almacena el valor a como flotante
Se solicita el valor b
Se almacena el valor b como flotante
Se solicita el valor c
Se almacena el valor c como flotante
Determinar si las soluciones son reales
o complejas √𝑏 2 − 4𝑎𝑐
 𝑏 2 − 4𝑎𝑐 > 0 Reales y diferentes
 𝑏 2 − 4𝑎𝑐 = 0 Reales e iguales
 𝑏 2 − 4𝑎𝑐 < 0Complejas
Si las soluciones son reales if
 Imprimir que son reales
 Aplicar la formula general “Caso
positivo”
 Aplicar la formula general “Caso
negativo”
 Imprimir el resultado real X1
 Imprimir el resultado real X2
Si las soluciones son complejas else
 Las raíces son complejas
 Aplicaría valor absoluto al descrinarte
|𝑏 2 − 4𝑎𝑐|
 Le saco raíz a la discriminante
√|𝑏 2 − 4𝑎𝑐|
 Calcular le valor real
 Calcular el valor imaginario
 Imprimir el resultado complejo X1
completando la i y el signo del
imaginario
 Imprimir el resultado complejo X2
completando la i y el signo del
imaginario
#include<stdio.h>
#include<stdlib.h>
#include<math.h> //operaciones matematicas como potencia o raiz
int main(){
float a,b,c,x1,x2,absolut,raiz,real,ima;
printf("\n Introduzca el valor a = ");
scanf("%f",&a);
printf("\n Introduzca el valor b = ");
scanf("%f",&b);
printf("\n Introduzca el valor c = ");
scanf("%f",&c);
if(b*b-4*a*c>=0){
printf("\n Las raices son Reales");
x1=(-b+sqrt(b*b-4*a*c))/(2*a);
x2=(-b-sqrt(b*b-4*a*c))/(2*a);
printf("\n X1 = %f",x1);
printf("\n X2 = %f",x2);
}else {
printf("\n Las raices son complejas");
absolut=abs(b*b-4*a*c);
raiz=sqrt(absolut);
real=(-b)/(2*a);
ima=raiz/(2*a);
printf("\n x1 = %f + %f i",real,ima);
printf("\n x2 = %f - %f i",real,ima);
}
}
Estructura FOR
El bucle for se puede leer como «para la condición dada repite», esta estructura se encarga de
repetir de forma cíclica un conjunto de instrucciones que se encuentren dentro del bucle, esta
repetición se realizará hasta que se cumpla la condición de parada que definamos
for (Expresión-de-inicio; Condición finalización; incremento)
{
Instrucciones del ciclo.
}
#include<stdio.h>
int main(){
int i;
printf("\n\t\t Tabla de multiplicacion ");
for(i=1;i<=10;i++){
printf("\n %d x 8 = %d",i,i*8);
}
}
#include<stdio.h>
int main(){
int i,x,multi;
printf("\n\t\t Tabla de multiplicacion = ");
scanf("%d",&x);
for(i=1;i<=10;i++){
multi=i*x;
printf("\n %d x %d = %d",i,x,multi);
}
}
#include<stdio.h>
int main(){
int i,j;
for(i=1,j=10;i<=10,j>=1;i++,j--){
printf("\n %d %d",i,j);
}
}
#include<stdio.h>
#define F(x) (x*x+x-6)
int main(){
int a,b,i;
printf("\n Valor minimo a tabular = ");
scanf("%d",&a);
printf("\n Valor maximo a tabular = ");
scanf("%d",&b);
printf("\n %5s | %3s","x","F(X)");
for(i=a;i<=b;i++){
printf("\n %5d | %3d ",i,F(i));
}
}
Programas:
1)
2)
3)
4)
Calcular volumen de una pirámide con base rectangular o cuadrada.
Descomponer la magnitud de un vector 2D en sus ejes coordenados
Realizar la sumatoria de n vectores en 2D for
Realizar un menú con la estructura if else, el menú será de cuatro operaciones aritméticas.
Las que ustedes gusten.
Ejercicio: Se tiene que dos barcos A y B empujar a un tercer barco C, Se desea calcular la
fuerza resultante y por ende conocer la magnitud, dirección y sentido.
5)
Resolver
Descomponer el vector A:
En su componente en X:
𝑥`
cos 20 =
50
X = 50 cos 20 Cierra
X = 46.98 ton
En su componente en Y:
𝑦`
sin 20 =
50
Y = 50 sin 20 Abre
Y=17.1 ton
𝜋
180
180
𝜋
Descomponer el vector B:
Componente de X
X = 30sin 60
X = 25.98 ton
Componente en Y
Y = 30cos60
Y = 15 ton
 Convertir de grados a radianes.
 Convertir de radianes a grados
Diagrama de fuerzas descompuestas en los ejes coordenados.
Sumatoria de fuerzas en el eje X
𝛴FX = 0
𝛴FX = Ax + Bx – C
𝛴FX = 46.98 + 25.98 – 40
𝛴FX = 32.96 ton
Sumatoria de fuerzas en el eje Y
𝛴FY = 0
𝛴FY = Ay – By
𝛴FY = 17.1 – 15
𝛴FY = 2.1 ton
Resultante:
Calcular magnitud de la resultante
𝐹𝑅 = √𝐹𝑥 2 + 𝐹𝑦 2
𝐹𝑅 = √32.96 2 + 2.12
FR = 33.02 ton
Calcular el ángulo de la resultante con respecto al eje horizontal
𝐹𝑦
tan 𝑎 =
𝐹𝑥
2.1
𝑎 = tan−1
32.96
𝑎 = 3.6⁰
#include<stdio.h>
#include<math.h>
int main(){
float mag,ang,Px,Py,SPx,SPy,RP;
int n,i;
printf("\n\t Programa que descompone un vector en sus compoenentes ");
printf("\n Numero de vectores a introducir = ");
scanf("%d",&n);
SPx=0;
SPy=0;
for(i=1;i<=n;i++){
printf("\n\n Introduzca la magnitud = ");
scanf("%f",&mag);
printf("\n Introduzca el angulo = ");
scanf("%f",&ang);
Px=mag*cos(ang*M_PI/180);
Py=mag*sin(ang*M_PI/180);
printf("\n Fx = %f",Px);
printf("\n Fy = %f",Py);
SPx=SPx+Px;
SPy=SPy+Py;
}
printf("\n\n\n SFx = %f",SPx);
printf("\n SFy = %f",SPy);
RP=sqrt(SPx*SPx+pow(SPy,2));
printf("\n\n Resultante = %f",RP);
}
Serie de ejercicios:
1) Un programa que calcule el volumen de una figura geométrica.
2) Programa que solicite el ingreso de dos valores y compare cual es mayor.
3) Un programa que solicite el ingreso de dos valores e imprima de forma consecutiva de uno
en uno desde el valor menos hasta el valor mayor.
4) Calcule la factorial de un número.
5) Realizar un programa que solicite un valor positivo y mayor a cero y este deba de calcular
la sumatoria de forma consecutiva de uno en uno hasta el valor que el usuario indique. Y
debe de comparar el valor adquirido si supera el valor de 100 decir que gano si no decir
que perdió.
Swhitch – case
Crear menús por ejemplo para una calculadora
switch(condición) {
case 1:
Instrucciones
break;
case 2:
Instrucciones
break;
default:
Anuncio de Error
}
#include<stdio.h>
#include<math.h>
int main(){
int opc;
float x,y,res;
printf("\n 1.Suma");
printf("\n 2.Division");
printf("\n 3.Seno \n ");
scanf("%d",&opc);
switch(opc){
case 1:
printf("\n Introduzca el primer valor = ");
scanf("%f",&x);
printf("\n Introduzca el segundo valor = ");
scanf("%f",&y);
res=x+y;
printf("\n Suma = %f",res);
break;
case 2:
printf("\n Introduzca el primer valor = ");
scanf("%f",&x);
printf("\n Introduzca el segundo valor = ");
scanf("%f",&y);
if(y!=0){
res=x/y;
printf("\n Division = %f",res);
}else
printf("\n No es posible la Division");
break;
case 3:
printf("\n Introduzca el angulo = ");
scanf("%f",&x);
res=sin(x*M_PI/180);
printf("\n Seno = %f",res);
break;
default:
printf("\n Opcion no vaida");
}
}
Estructura while
La instrucción while se utiliza para generar bucles, en los cuales un grupo de instrucciones
se ejecuta de forma repetida, hasta que se satisface alguna condición.
While (expresión) {
Instrucciones
}
Estructura Do-While
La sintaxis de un ciclo do-while es un tanto más larga que la del ciclo while en C++, sin embargo no
se hace más complicado, de hecho con tan solo tener bien clara una condición de finalización para
el ciclo tendremos prácticamente todo terminado.
do {
Bloque de Instrucciones
}
while(condición de finalización);
Prototipo de una Función
La declaración de una función tiene dos componentes principales: la primera línea (incluye
las declaraciones de los argumentos) y el cuerpo de la función.
Tipo de dato nombre función (tipo 1 arg1, tipo2 arg2…………tipon argn){
Instrucciones
}
Ejemplo: Calcular el área de un polígono con más de cuatro lados.
Ejercicio: Realizar un programa que resuelva ecuaciones de segundo grado, en donde identifique si
las soluciones son reales o complejas. Si las soluciones son reales imprimir los resultados en
números reales y si son reales también imprimir el resultado en números complejos. (Ocupar
funciones).
Tarea: Realizar un programa que sume números de forma consecutiva. Por ejemplo que sume del 1
al 10 lo cual daría 55. Utilizando funciones.
Arreglos:
Ejemplo
Int variable[4] = {18,19,17,20,17};
variable[0]=18
variable[1]=19
variable[2] = 17
variable[3] = 20
variable[4] = 17
float x[ ];
char var[2][2];
Int x[2][2][2]:
Descargar