You are on page 1of 14

Castelán Jiménez Linda Denhali 6MM1

¿Qué es un algoritmo?
Un algoritmo es una serie de instrucciones secuenciales, es decir, que va uno después del otro―
que permiten ejecutar acciones o programas.

Defina que es un diagrama de bloques y un diagrama de flujo.


El diagrama de bloques es la representación del funcionamiento interno de un sistema, que se
hace mediante bloques y sus relaciones, y que, además, definen la organización de todo el proceso
interno, sus entradas y sus salidas.

El diagrama de bloques de funciones es un lenguaje de programación orientado gráficamente.


Funciona con una lista de redes en la que cada red contiene una estructura gráfica de cuadros y
líneas de conexión que representa una expresión lógica o aritmética, la llamada de un bloque de
funciones, un salto o una instrucción de retorno.

Diagrama de flujo
Un diagrama de flujo es una representación esquemática de los distintos pasos de un
programa. Constituyen pues, otra forma de representar algoritmos distintos al
pseudocódigo, pero que nos sirve de forma complementaria en el proceso de creación de
la estructura del programa antes de ponernos delante del ordenador. El diagrama de flujo
goza de ventajas como el ser altamente intuitivo, fácil de leer, claro y preciso. Su interés
para nosotros, sin desdeñar su utilidad profesional, radica en su valor didáctico. Lo
consideraremos una herramienta muy potente de cara a comenzar a programar ya que su
contenido gráfico lo hace menos árido que el pseudocódigo.
Un diagrama de flujo es un diagrama que describe un proceso, sistema o algoritmo
informático. Se usan ampliamente en numerosos campos para documentar, estudiar,
planificar, mejorar y comunicar procesos que suelen ser complejos en diagramas claros y
fáciles de comprender. Los diagramas de flujo emplean rectángulos, óvalos, diamantes y
otras numerosas figuras para definir el tipo de paso, junto con flechas conectoras que
establecen el flujo y la secuencia. Pueden variar desde diagramas simples y dibujados a
mano hasta diagramas exhaustivos creados por computadora que describen múltiples
pasos y rutas. Si tomamos en cuenta todas las diversas figuras de los diagramas de flujo, son
uno de los diagramas más comunes del mundo, usados por personas con y sin conocimiento
técnico en una variedad de campos. Los diagramas de flujo a veces se denominan con
nombres más especializados, como "diagrama de flujo de procesos", "mapa de procesos",
"diagrama de flujo funcional", "mapa de procesos de negocios", "notación y modelado de
procesos de negocio (BPMN)" o "diagrama de flujo de procesos (PFD)". Están relacionados
con otros diagramas populares, como los diagramas de flujo de datos (DFD) y los diagramas
de actividad de lenguaje unificado de modelado (UML).
Diferencia entre diagrama de flujo y diagrama de bloques
Un diagrama de bloques es una representación más amplia y también se puede utilizar
para representar ideas y conceptos
El diagrama de flujo es la representación gráfica de un algoritmo o proceso. Se utiliza en
disciplinas como programación, economía, procesos industriales y psicología cognitiva

Codificación
En el ciclo de vida de un programa, una vez que los algoritmos de una aplicación han sido
diseñados, ya se puede iniciar la fase de codificación. En esta etapa se tienen que traducir
dichos algoritmos a un lenguaje de programación específico; es decir, las acciones
definidas en los algoritmos hay que convertirlas a instrucciones.

Lenguaje C
El lenguaje C es un lenguaje estructurado, en el mismo sentido que lo son otros lenguajes
de programación tales como el lenguaje Pascal, el Ada o el Modula-2, pero no es
estructurado por bloques, o sea, no es posible declarar subrutinas (pequeños
Trozos de programa) dentro de otras subrutinas, a diferencia de como sucede con otros
lenguajes estructurados tales como el Pascal. Además, el lenguaje C no es rígido en la
comprobación de tipos de datos, permitiendo fácilmente la conversión entre diferentes
tipos de datos y la asignación entre tipos de datos diferentes, por ejemplo la expresión
siguiente es válida en C:
Todo programa de C consta, básicamente, de un conjunto de funciones, y una función
llamada main, la cual es la primera que se ejecuta al comenzar el programa, llamándose
desde ella al resto de funciones que compongan nuestro programa.
Sintaxis en C
La sintaxis en C es una serie de reglas y procesos que lideran la estructura de un programa.
Estas reglas tienen que ser entendidas por el compilador para que se pueda crear un
programa en C válido, es decir, tienen que establecer cómo comienza una línea de código
en C, cómo termina o cuándo usar, por ejemplo, comillas o llaves. El lenguaje en C hace
distinción entre mayúsculas y minúsculas siendo este el motivo por el que se programa en
minúsculas.

La sintaxis básica en C determina la forma en que se agrupan los caracteres para formar
tokens, que son la unidad mínima de programación en C. Tomando como ejemplo el
programa “Hola Mundo”, usado para la introducción a la mayoría de lenguajes de
programación, tendríamos el siguiente código en C:

#include
int main()
{
printf("Hola Mundo"); // línea sencilla de comentarios
return 0;
/*
línea
múltiple de
comentarios
*/

}
ESTRUCTURA DE CONTROL EN C
En programación, las estructuras de control permiten modificar el flujo de ejecución de las
instrucciones de un programa.
Con las estructuras de control se puede:

 De acuerdo con una condición, ejecutar un grupo u otro de sentencias (If-Then-


Else)
 De acuerdo con el valor de una variable, ejecutar un grupo u otro de sentencias
(Select-Case)
 Ejecutar un grupo de sentencias mientras se cumpla una condición (Do-While)
 Ejecutar un grupo de sentencias hasta que se cumpla una condición (Do-Until)
 Ejecutar un grupo de sentencias un número determinado de veces (For-Next)
Como aquí lo representa
if (condición) {
// Aquí se incluye el código
// que ha de ejecutarse sólo
// si se cumple la condición del if
// (sangrado para que se vea dónde
// empieza y dónde acaba el if)
}
Ejemplo
Decir si un número es positivo o negativo

#include <stdio.h>
void main ()
{
int x;
printf(“Déme un numero: ”);
scanf(“%d”,&x);
if (x>=0) {
printf(“El numero %d es positivo”, x);
} else {
printf(“El numero %d es negativo”, x);
}
}

DIAGRAMA DE FLUJO DE UNA ESTRUCTURA DE CONTROL EN


PROGRAMACIÓN
A las estas estructuras se les conoce también como ciclos o bucles, por su funcionamiento.
Existen 3 estructuras repetitivas:
1. While
2. Do-while
3. For
Las tres instrucciones tienen el mismo fin, y difieren únicamente en su sintaxis, siendo
posible sustituir una solución en la que se utiliza "while", por una en la que se utiliza "do-
while" o "for".
En los diagramas de flujo, un ciclo se representa de la siguiente manera:
DIFERENCIA ENTRE SEÑAL ANALÓGICA Y SEÑAL DIGITAL
Sistema digital y sistema analógico hacen referencia a las dos categorías en la que se
clasifican los circuitos electrónicos.

Sistema digital es cualquier sistema que pueda generar, procesar, transmitir o almacenar
señales mediante dígitos y que solo admite valores discretos, es decir, que solo admite un
conjunto limitado de números o valores.
Sistema analógico es cualquier sistema cuyas señales se representan con valores
continuos, es decir, que admite números o valores infinitos.

La principal diferencia entre sistema digital y sistema analógico radica en que el primero
es mucho más preciso y la información se puede almacenar de manera más eficiente y en
mayor cantidad que en un sistema analógico.

Conversión de un voltaje analógico a un valor digital con el


microcontrolador Pic 16f887
Los microcontroladores PIC16F887 poseen un conversor análogo/digital de 10 bits y 14
canales de entrada. Una señal análoga o analógica es una señal continua que posee
valores que van variando con el tiempo. A diferencia de una señal digital, que tiene
valores discretos en cada punto de muestreo, una señal analógica presenta fluctuaciones
constantemente.

En el caso del micro controlador PIC16F887 el conversor A/D tiene 10 bits y la señal
análoga de entrada puede estar entre 0V y 5V, sin embargo el conversor A/D tiene dos
niveles de referencia VREF+ y VREF- que me indican entre que valores será la señal
análoga de entrada. El voltaje mínimo diferencial es de 2V, es decir la diferencia entre
VREF+ y VREF- no puede ser mayor a 2V.
El convertidor analógico digital funciona leyendo el voltaje de alguno de los pines
analógicos del micro controlador y dependiendo del voltaje, determina cuál de todos los
1024 valores es el indicado para representar el voltaje.
El voltaje se representa de la siguiente manera:
5 volts = 1023
0 volts = 0

Programa de prueba o también llamado blink en arduino compilado en el lenguaje CCs


para pic.
Arduino – Blink
// declaramos una variable y se igualara al numero //del pin donde se conectara el led
//en este caso Arduino tiene un led conectado //directo al pin 13 asi que se ocupara ese
para la //prueba
int led = 13;
// se incia la funcion setup en la cual se configurara //los registros de arduino
void setup() {
//se declara el pin de la variable “led” como salida //para hacer Blink utilizando la funcion
pinMode
pinMode(led, OUTPUT);
}
// se cierra la función setup y se inicia la función //loop
//la función loop es la que se repetirá durante el //tiempo que el arduino este energizado
void loop() {
// con la funcion ”digitalWrite” se establece el //estado electrico del led “HIGH” =
encendido
digitalWrite(led, HIGH);
//con la funcion “delay” se ingresa un retardo en //miliSegundos en el programa
//esto permitira observar el led encendido ese //tiempo
delay(1000);
// con la funcion ”digitalWrite” se establece el //estado electrico del led “LOW” = apagado
digitalWrite(led, LOW);
// se ingresa otro delay para ver el led apagado
delay(1000);
//si se desea que el blink sea mas rapido o lento se //pueden cambiar los tiempos de
“delay”
}

PIC – Blink
//se importa la biblioteca del micro controlador que //se va a ocupar

#include <16f84a.H>

//se declara la frecuencia a la que trabajara el micro //controlador

#use delay( clock = 4000000 ) // reloj de 4 MHz

void main( void ){

// se declara todo el registro A como salida para //hacer blink


// 0 igual a salida

// 1 igual a entrada

set_tris_a( 0x00 );

//se inicia el ciclo del programa también conocido //como LOOP

while(TRUE){

output_a(0x01); // enciende el led RA0

delay_ms( 1000 ); // retardo de 1seg.

output_a(0X00); // apaga el led

delay_ms( 1000 ); // espera 1 ms

AVR – Blink
//se declaran las bibliotecas que se ocuparan

#include <avr/io.h> //biblioteca para utilizar las //entradas y salidas de AVR

#include <util/delay.h> //biblioteca para utilizar los //retardos

//se inicia la funcion principal

int main(void)

//se configura el registro C como salida para hacer //Blink

// 1 igual a salida

// 0 igual a entrada

DDRC=0xff;

//se inicia el ciclo del programa también conocido //como LOOP

while(1) {

// se enciende el led PC0 o pin 23

PORTC=0x01;

//retardo de 1seg.

_delay_ms(1000);

//se apaga el led del pin PC0 o pin 23

PORTC=0x00;
//retardo de 1seg.

_delay_ms(1000);

return 0;

PARA QUE SIRVE Y QUE ES UNA LIBRERÍA EN UN ALGORITMO


Una librería es un conjunto de recursos (algoritmos) prefabricados, que pueden ser utilizados por
el programador para realizar determinadas operaciones. Las declaraciones de las funciones
utilizadas en estas librerías, junto con algunas macros y constantes predefinidas que facilitan su
utilización, se agrupan en ficheros de nombres conocidos que suelen encontrarse en sitios
predefinidos. Por ejemplo, en los sistemas UNIX, en /usr/include. Estos ficheros se suelen llamar
"de cabecera", porque es tradición utilizar las primeras líneas del programa para poner las
directivas #include que los incluirá en el fuente durante la fase de preprocesador.

Clases de librerías

 Soporte del lenguaje


 Diagnóstico
 Utilidades generales
 Cadenas alfanuméricas ("Strings")
 Localización
 Contenedores
 Iteradores
 Algoritmos
 Cálculo numérico
 Entrada/Salida
CÓMO SE ESTRUCTURA UNA FUNCIÓN EN LENGUAJE DE PROGRAMACIÓN
EN C
Todo programa en C consta de una o más funciones, una de las cuales se llama main. El programa
comienza en la función main, desde la cual es posible llamar a otras funciones.

Cada función estará formada por la cabecera de la función, compuesta por el nombre de la misma
y la lista de argumentos, la declaración de las variables a utilizar y la secuencia de sentencias a
ejecutar.

Ejemplo

declaraciones globales

main( ) {

variables locales

bloque

funcion1( ) {

variables locales

bloque

You might also like