Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Modulo 1

Descargar como pptx, pdf o txt
Descargar como pptx, pdf o txt
Está en la página 1de 55

TECNICAS DE PROGRAMACIÓN

Módulo 1
Prof. Pablo Martinez
INTRODUCCIÓN
aborda las técnicas de resolución de pro-
se centra en la lógica de la estruc- blemas computacionales o de programa-
tura de los datos ción.

ELEMENTOS
DISEÑO DE
INFORMATICOS
ALGORITMOS
DESARROLLO DE PROGRAMAS

Lógica Presenta como núcleo central la elaboración y construcción


de programas mediante la traducción o codificación de los
algoritmos en un lenguaje
adecuado al paradigma
BASES DE LA PROGRAMACIÓN

Hardware y Software

DE SISTEMA (OS)

Sistemas Operativos

Código Binario
SOFT-
WARE
Niveles de Programación
DE
DE APLICACIÓN PROGRAMACIÓN
(IDE)

Que es programar
ELEMENTOS INFORMÁTICOS

Módulo 1
Elementos de una Maquina

La arquitectura de Von Neumann

Otros elementos:
Bus de Datos o Bus de Sistema
Bus de Direcciones
El papel del procesador en la programación

Operaciones Aritmética (+, -, *, /)


Operaciones Lógica (comparar: igual, mayor, menor o distinto)
Operaciones de Entrada (Tomar datos del teclado)
Operaciones de Salida(enviar datos de la memoria hacia la pantalla)
Papel de la memoria RAM en la programación

• Es el área de operaciones del procesador.


• Es una memoria de almacenamiento temporal en la cual se almacenan
los datos de las variable (ejecución de un programa).

Cada dato se ubica en el área de Memoria RAM, que denominamos CAMPO O


VARIABLE
El programador determina cuantas VARIABLES necesito. Se crea para cada dato.

Establece sus características (tipo, longitud)


Cada celda en una dirección
Celdas de 8 / 16 / 32 / 64 bits

Información volátil
Papel de las redes en la programación

Sistema de comunicación, permitiendo comunicarse con otros usuarios, compartir archivos y periféricos,
permitiendo intercambiar información.

Estándares de Comunicación

Sistema cerrado. -> utilizar métodos de comunicación


propios.
Sistema abierto. -> ofrece sus especificaciones e incluye
ligaduras de programación.
Modelo OSI
Capa Física
Capa de Enlace
Capa de Red
Capa transporte
Capa de Sesión
Capa de Presentación
Capa de Aplicación

Tipos de Redes

Distribución y topología de las redes

Protocolos

Interconexión de redes

Elementos de interconexión entre redes.


Que es un sistema?
A todo conjunto de elementos relacionados entre si, puede ser por una finalidad en común, que tiene cierto
orden u organización y que cumplen una función.

Están inmersos en un entorno o ambiente.

Características de los Sistemas.

PROPIEDAD EMERGENTE
LIMITE O FRONTERA
DEPOSITOS O ALMACENAMIENTOS
CANALES
SUBSISTEMAS
¿Cómo se construye el Software?

Pueden identificarse 4 actividades fundamentales que son comunes a todas los procesos de software

Especificación del software


Desarrollo del Software
Validación del Software
Evolución de Software
Ciclo de Vida y Metodología para el desarrollo

Planificación
Análisis
Diseño
Implementación
Pruebas
Instalación y despliegue

Modelos del Ciclo de Vida


Ingeniería de Software
El objetivo de la IS es lograr productos de software de
calidad (tanto en su forma final como durante su
elaboración), mediante un proceso apoyado por métodos y
herramientas.

Base de cualquier proceso de ingeniería.La IS se basa en calidad.

Capa que une calidad y métodos. Desarrollo racional de la IS.

métodos
Las herramientas de la IS proporcionan un soporte automático
o semi-automático para el proceso y
los métodos, a estas herramientas se les llama
herramientas CASE

Ingeniería de Software Asistida por


Computadora
TRADUCTOR DE LENGUAJES DE PROGRAMACION

CODIGO FUENTE (lenguaje de alto nivel)  LENGUAJE DE MAQUINA

PUEDEN SER DE 2 TIPO: COMPILADORES E INTERPRETES.

COMPILADOR:
INTERPRETE:

Los intérpretes en lugar de producir un Lenguaje objetivo, como lo hacen los compiladores,
realizan la operación que debería realizar el lenguaje origen.

Un intérprete lee el código como está escrito y luego lo convierte en acciones, es decir, lo ejecuta en ese instante.

El intérprete traduce en el instante mismo de lectura el código


DIFERENCIA ENTRE COMPILADOR E INTERPRETE

LOS COMPILADORES DIFIEREN DE LOS INTÉRPRETES EN VARIOS ASPECTOS:


 UN PROGRAMA QUE HA SIDO COMPILADO PUEDE CORRER POR SÍ SOLO, DADO QUE EN EL PROCESO DE
COMPILACIÓN LO TRANSFORMÓ EN LENGUAJE MÁQUINA.
 UN INTÉRPRETE TRADUCE EL PROGRAMA CUANDO LO LEE, CONVIRTIENDO EL CÓDIGO DEL PROGRAMA
DIRECTAMENTE EN ACCIONES.
 LA VENTAJA DEL INTÉRPRETE ES QUE CUALQUIER PROGRAMA PUEDE SER EJECUTADO EN CUALQUIER
PLATAFORMA (SISTEMA OPERATIVO), EN CAMBIO EL ARCHIVO GENERADO POR EL COMPILADOR SOLO
FUNCIONA EN LA PLATAFORMA EN DONDE SE LO HA CREADO.
 PERO, POR OTRO LADO, UN ARCHIVO COMPILADO PUEDE SER DISTRIBUIDO FÁCILMENTE CONOCIENDO LA
PLATAFORMA, MIENTRAS QUE UN ARCHIVO INTERPRETADO NO FUNCIONA SI NO SE TIENE EL INTÉRPRETE
INSTALADO.
 HABLANDO DE LA VELOCIDAD DE EJECUCIÓN, UN ARCHIVO COMPILADO ES DE 10 A 20 VECES MÁS RÁPIDO
QUE UN ARCHIVO INTERPRETADO.
¿QUE ES UN ALGORITMO?
Es una receta para resolver un conjunto de problemas. Es decir
es un conjunto de instrucciones que indican paso a paso que hay que hacer.

• El algoritmo es conceptual.
• Puede ser escrito usando lenguaje natural(diagrama de flujo,
Pseudocódigo).
• Un algoritmo puede implementarse en diferentes lenguajes
de programación.

Definición: es una secuencia de pasos ordenada, finita y general


para alcanzar un objetivo previamente establecido.
¿QUE ES UN PROGRAMA?

Un programa, es la implementación de un algoritmo por lo que esta


escrito en un lenguaje de programación y constituye un conjunto de
instrucciones.

• Propiedades del Programa: Ordenado, Finito y General

Definición: conjunto de pasos lógicos escrito en lenguaje


de programación que nos permite realizar una tarea especifica
Procedimiento del programa

Los programas para poder correr se deben cargar en la memoria, el


responsable de esta tarea es el sistema operativo. Un programa puede diseñarse para
una computadora o para otro tipo de dispositivos pero su programación suele realizar-
se utilizando un entorno de desarrollo
integrado (IDE).

Este programa cuenta con herramientas que permiten convertir


nuestro código en un programa funcional. Estás herramientas son el compilador, el
“linker” y el depurador (debugger).
Algoritmo para definir si un triangulo es escaleno, isoceles o equilátero
Datos de entrada: lado1, lado2, lado3
Datos de salida: tipo

Si lado1=lado2 Y lado1=lado3 entonces


tipo <- equilátero
Sino
si(lado1 = lado2) O (lado1 = lado3) O (lado2=lado3) entonces
tipo <- isósceles
Sino
tipo <- escaleno

// Hello.java
<?php
import javax.swing.JApplet; function triángulos(){
import java.awt.Graphics; $lado1 = 3; $lado2=0; $lado3=3;
if($lado1=$lado2) AND ($lado1=$lado3){
public class Hello extends JApplet { echo “Equilatero”;
}else{
public void paint(Graphics g) { if($lado1=$lado2) OR ($lado1=$lado3) OR ($lado2=$lado3){
g.drawString("Hola, mundo!", 65, 95); echo “ISOSCELES”;
}else{
} echo “ESCALENO”;
} }
}
}
?>
TIPO DE
ALGORITMOS
Secuencial
Selección (decisión)
Repetición (bucle)
Sintaxis: es la estructura de un lenguaje de programación que se organizan los distintos
elementos sintácticos, espacios, identificadores, operadores, etc.

Se evalúa según varios criterios: que sea fácil de leer, de escribir, de verificar (búsqueda de errores), fácil
de traducir y que carezca de ambigüedad.

Ejemplo: ::= {}+ | []+

La sintaxis se refiere a la estructura o gramática del idioma


Semántica: de un lenguaje de programación se refiere al significado que adoptan las distintas sentencias,
expresiones y enunciado de un programa

Los principales elementos son: variables, valores y referencias, expresiones

Se utiliza para averiguar la relación entre la sintaxis y el modelo de cálculo


Variable y constantes
Una constante es un dato numérico o alfanumérico que no cambia durante la ejecución del programa.
Ejemplo: pi = 3.1416

Una variable es un espacio en la memoria de la computadora que permite almacenar temporalmente


un dato durante la ejecución de un proceso, su contenido puede cambiar durante la ejecución del
programa.

Ejemplo: area = pi * radio ^ 2

Clasificación de las Variables


PSEUDOCÓDIGO
Pseudocódigo es un lenguaje artificial e informal que ayuda a los programadores a
desarrollar algoritmos.

Es una descripción de acciones o pasos para resolver un problema que luego será llevado a código.
Elementos del pseudocódigo (Perfil)
Definir un campo/dato Definir <nombre_var> como Entero

Leer ingreso de una variable Leer <nombre_var>

Escribir por salida Escribir <leyenda> <nomb_variable>

Asignar valor a variable <nombre_var> = valor

Operadores de asignación Entero edad = 20

Operadores aritméticos +*-%/

Operadores unitarios ++ -- !

Operadores condicionales Verdadero o Falso (True o False)

Operadores relacionales == != > < >= <=

Operadores lógicos Y O (AND, OR y NOT)


Rutinas (*)

Estructuras de programación
a) secuenciales
b) selectivas o de decisión
c) repetitivas

Estructura secuencial Algoritmo suma

Definir a como Entero;


Definir b como Entero;
Definir s como Entero;

a=3;
b=3;

s=a+b;

Escribir “El resultado es: “ s;


Estructura alternativa
Las estructuras selectivas/alternativas pueden ser:
● Simples
● Dobles
● Múltiples

Alternativa simple (si-entonces/if-then)


Alternativa Doble (si-entonces-sino/if-then-else)

● Si la condición es verdadera, se ejecuta la acción S1


● Si la condición es falsa, se ejecuta la acción S2
Alternativa de Decisión múltiple (según_sea, caso de/case)
DIAGRAMA DE FLUJO
Un diagrama de flujo es una representación gráfica que describe un pro-
ceso, sistema o un algoritmo o de una parte de este.

Los diagramas de flujo ayudan en la comprensión de la operación de


las estructuras de control (Por ejemplo: Si…entonces, Mientras).

La ventaja de utilizar un algoritmo es que se lo puede construir inde-


pendiente de un lenguaje de programación, pues al
momento de llevarlo a código se lo puede hacer en cualquier
lenguaje.
Elementos de los diagrama de flujo

Línea de flujo o indicador de dirección

Almacenamiento
Estructuras Repetitivas o Iterativas

Una instrucción iterativa o repetitiva, también conocida como bucle, tiene la misión de


ejecutar las mismas instrucciones de código una y otra vez mientras que se cumpla
una determinada condición.

El bucle consta de 3 partes: decisión, cuerpo de bucle y salida del bucle

Mientras (while)
Repetir (Repeat)
Hacer Mientras(do-while)
Para (for)
Recursividad
Estructuras de Datos: Pilas, Colas y Listas
Proposiciones Lógicas
Introducción a la lógica
Pensamiento Lógico: tiene como propósito la formación en la construcción de las capacidades técnicas en torno a la
lógica de programación.

¿Que es la lógica?

Es el estudio de los principios y métodos utilizados para distinguir el razonamiento correcto o


Incorrecto.
Proposiciones Lógicas
Las proposiciones son el material de nuestro razonamiento

Una proposición afirma que algo es o no es por lo tanto cualquier proposición puede ser afir-
mada o negada. Es posible que la verdad (o falsedad) de algunas proposiciones

“Existe vida en algún otro planeta de nuestra galaxia”

verdadera falsa

Tipos de proposiciones
(Y) conjunciones
Proposiciones Simples (o) disyunciones
(si…..entonces) implicaciones
(no) negación
Proposiciones Compuestas
Una proposición será compuesta si no es simple. Es decir, si esta afectada por negaciones o términos de en-
lace entre oraciones componentes
Valores de verdad

principio de bivalencia: todo enunciado es o verdadero o falso

Operadores Lógicos

p: “soy mendocino”

~p: “no soy mendocino”


Conjunción (Y) y negación (NO)
Disyunción (o)

P: José Hernandez es escritor o es jardinero


Por ejemplo: Exprese las negaciones de las siguientes proposiciones.

p: "2+2 = 4“

q: "1 = 0“

r: "Los diamantes son el mejor amigo de una perla.“

s: "Todos los políticos en esta ciudad son ladrones. "

Si p: "Esta galaxia, en ultima instancia, terminara en un agujero negro" y q: "2+2 = 4,“. entonces que significa p^q?

Sean p: "El mayordomo lo hizo", q: "El cocinero lo hizo", y r: "El abogado lo hizo".
.Que significa ? .Que significa ( ) ^ (~r)?

volver
Rutinas y Subrutinas
Rutinas y Subrutinas

También llamada procedimiento, función, rutina o método.

La idea, es realizar un subalgoritmo que va a formar parte del algoritmo principal, y permitir resol-
ver una tarea especifica.

volver
Sitios de Interés:

Plataforma FST
utn.edu.ec/reduca/programación

También podría gustarte