Introducción a la programación

Documentos relacionados
Objetivo específico: Maneja los elementos básicos de algoritmos utilizados para resolver un problema por computadora.

Constante: Una constante es un dato numérico o alfanumérico que no cambia durante la ejecución del programa.

Tipos De Datos. Numéricos. Alfanuméricos (string) Arreglos (Vectores, Matrices) Estructurados Registros (Def. Por el Archivos Usuario) Apuntadores

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo

Conceptos. Generales ALGORITMOS

INSTITUTO NACIONAL SUPERIOR DEL PROFESORADO TÉCNICO - TÉCNICO SUPERIOR EN INFORMÁTICA APLICADA - PROGRAMACIÓN I

Este método de diseño de algoritmos en etapas, yendo de los conceptos generales a los de detalle, se conoce como método descendente (top-down).

El pseudocódigo es una herramienta de programación en la que las instrucciones se escriben en palabras similares al inglés o español, que facilitan

DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE

La resolución de un problema

Área: INFORMÁTICA. Saber- Saber: Identificar DFD como herramienta para escribir los algoritmos de forma lógica.

Proceso de información en la computadora

Programación Estructurada

ESTRUCTURA DE ASIGNACIÓN

Un algoritmo es una serie de pasos lógicos y organizados que describe el proceso que se debe seguir, para dar solución a un problema específico.

Introducción a la Algorítmica Transparencias correspondientes a las clases impartidas por los profesores: Lourdes Miró Amarante Ignacio García Vargas

TEMA 1. PROGRAMACIÓN DE UN COMPUTADOR

[TEMA #2. ETAPAS Y TÉCNICAS PARA EL DESARROLLO DE PROBLEMAS CON AYUDA DEL COMPUTADOR.]

Lenguaje de Diseño. Primera Parte. Resolución de Problemas y Algoritmos. Primer Cuatrimestre Ing. En Informática e Ing.

Introducción a la programación: Algoritmos

Y alternativamente se presentarán soluciones de problemas donde se utilicen:

ETAPA Cómo se llaman los profesionales que escriben el código de los programas? Programadores.

Tema 2. Concepto de Algoritmo

ALGORITMOS y DIAGRAMAS DE FLUJO Programa Desarrolladoras de Software. ING. CIP EDGAR CRUZ

PRESENTACIÓN DEL ALGORITMO

Iniciación a La Programación Prof. Carolina Cols

Lenguaje de Diseño. Primera Parte. Segundo Cuatrimestre 2017

2.1 METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS

Una clasificación de los tipos de datos existentes en los diferentes lenguajes de programación se presenta a continuación:

La forma general que tiene un condicional (una pregunta) es la siguiente:

TEMA2:LAS HERRAMIENTAS DE PROGRAMACION

Titulo de hoy 25/09/2017 COLEGIO SAN ANTONIO MARIA CLARET 1

Las expresiones son combinaciones de constantes, variables, símbolos de operación, paréntesis y nombres de funciones especiales.

CIENCIA DE LA COMPUTACION

ALUMNA: GRADO: MODALIDAD-10. PROFESOR: Hugo Nelson Ramírez Cárdenas

Dpto. de ATC, Universidad de Sevilla - Página 1 de 16

El diseño de un programa Jhon Jairo Padilla Aguilar, PhD.

Conceptos Básicos Programación I (Plan 1999) Algoritmos y Estructuras de Datos II (Plan 2009) Mgter. Oscar Adolfo Vallejos FaCENA - UNNE

ESCUELA NACIONAL AUXILIARES DE ENFERMERÍA Manizales TECNOLOGÍA E INFORMÁTICA

Algoritmos y solución de problemas. Fundamentos de Programación Otoño 2008 Mtro. Luis Eduardo Pérez Bernal

INSTITUTO POLITECNICO NACIONAL UNIDAD PROFESIONAL INTERDISCIPLINARIA DE BIOTECNOLOGIA DEPARTAMENTO DE CIENCIAS BASICAS

ALGORÍTMICA. Dpto. Ingeniería de Sistemas y Automática Facultad de Ciencias Universidad de Valladolid.

Unidad 3. Estructuras de control en diagrama de Flujo y pseudocódigo Tema Iteración o Repetitivas (mientras)

Principios de Algoritmia

Tipos de datos y Operadores Básicos

Estructuras de Control

Tema 01: Algoritmia y diagramas de flujo. Estructuras de datos (Prof. Edgardo A. Franco)

INTRODUCCIÓN A LA ALGORITMIA

Conocimientos previos

7/1/18. Algoritmos RESOLVIENDO PROBLEMAS. Libro en línea. Cuál es el objetivo del libro? Ing. Roberto Martínez Román -

Informática General 2016 Cátedra: Valeria Drelichman, Pedro Paleo, Leonardo Nadel, Norma Morales

TEMA 1: Algoritmos y programas

Conjunto de Unidades que colaboran entre si para realizar una función general y donde cada unidad efectúa un trabajo específico.

Introducción a la Computación

Control de Flujo. Estructuras de Control! Experiencia Educativa de Algorítmica CONTROL DE FLUJO

PRÁCTICA FUNDAMENTOS DE ALGORITMOS I. Objetivos

Diagramas de flujo. ISCT. Luis Antonio Mancilla Aguilar

Control de Flujo. Estructuras de Control! Experiencia Educativa de Algorítmica CONTROL DE FLUJO

Codificación de Estructuras Repetitivas

Programa Nacional de Formación de Informática Material Educativo Computarizado de Algorítmica y Programación

Prof. María Alejandra Quintero. Informática Año

UNIVERSIDAD MODULAR ABIERTA FACULTAD DE CIENCIAS ECONOMICAS

Tema 2 Conceptos básicos de programación. Fundamentos de Informática

Departamento de Informática Universidad Técnica Federico Santa María. Tema 1: Algoritmos

ALGORITMO, ESTRUCTURAS Y PROGRAMACIÓN I. Prof.

Introducción a la programación: Contenido. Introducción

INFOTECH. CURSO Excel Advanced Macros MÓDULO 2. Fundamentos de programación

5. ESTRUCTURAS DE REPETICIÓN

TEMÁTICA DE LAS UNIDADES DE LOGICA COMPUTACIONAL

ALGORITMOS II PSEUDOCODIGOS INTRODUCCION AL PSEINT CORPODICES VICTOR ANDRES OCHOA CORREA

Fundamentos de programación. Organización de una computadora

Unidad 3. Estructuras de control en diagrama de Flujo y pseudocódigo Tema Iteración o Repetitivas (repite - mientras) Juan Pablo Cobá Juárez Pegueros

Métodos para escribir algoritmos: Diagramas de Flujo y pseudocódigo

RECORDAR TIPOS DE DATOS

Pseudocódigo. La forma en que se escribe un pseudocódigo es la siguiente:

Algoritmos. Libro en línea 3/8/18. Ing. Roberto Martínez Román - 1 RESOLVIENDO PROBLEMAS. Cuál es el objetivo del libro?


INTRODUCCIÓN A LA PROGRAMACIÓN. 1º Bachillerato

UNIVERSIDAD AUTÓNOMA DEL ESTADO DE HIDALGO

Tema: Entorno a C# y Estructuras Secuenciales.

Tecnologías en la Educación Matemática

Diseño estructurado de algoritmos. Sesión 8: Estructuras Algorítmicas

Práctico Nº 5 Tema: Lenguaje de Diseño (1 parte)

ESTRUCTURAS DE REPETICIÓN AREA PROGRAMACIÓN 1

INSTITUTO POLITECNICO NACIONAL CENTRO DE ESTUDIOS CIENTIFICOS Y TECNOLOGICOS " GONZALO VAZQUEZ VELA "

Computación 1. Programación, Constantes, Variables y Condiciones

Algoritmo. Programa. Lenguaje algorítmico

INSTITUTO SUPERIOR DE EDUCACION RURAL ISER FUNDAMENTOS DE PROGRAMACION

M.S.C. Elvia Cristina Márquez Salgado. Unidad 1 METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS

Dra. Jessica Andrea Carballido

Universidad Autónoma del Estado de México Facultad de Medicina

INSTITUTO TECNOLÓGICO

Algoritmos. Definiciones básicas y componentes de un algoritmo. Contenido

Programación - Algorítmica

Ejercicios resueltos

Transcripción:

Introducción a la programación Resolución de Problemas El objetivo principal para que las personas aprendan a programar en algún lenguaje de programación en particular es utilizar el computador como una herramienta para la resolución de problemas. Así, la resolución de un problema se puede dividir en tres etapas: 1. Un primer nivel de refinamiento Análisis del problema Que dará como resultado un diagrama en bloques Entrada, Proceso, alida. Requiere que el problema sea definido y comprendido claramente para que pueda ser analizado con todo detalle. Para poder definir con precisión el problema se requiere que las especificaciones de entrada y salida sean descriptas en detalle. El análisis debe responder a dos preguntas: Primero para definir el bloque de Entrada Que datos se necesitan para resolver el problema? egundo Para definir el bloque de alida Qué información debe proporcionar la resolución del problema? y Tercero para el bloque de Proceso cuales son las operaciones o procesos que debo aplicar para convertir esos datos en esa información? Bloque de Entrada Bloque de Proceso Bloque de alida Aquí están las preguntas para cada bloque de manera de determinar que va en cada uno: Qué datos necesita mos? Qué operacio nes o proceso? Qué mostram os como alida? 2. Un segundo nivel de refinamiento Diseño o desarrollo del algoritmo Este es un procedimiento paso a paso para solucionar el problema dado utilizando estructuras de programación a través de herramientas tales como el diagrama de flujo y el pseudocódigo. 3. Un tercer nivel de refinamiento Resolución del algoritmo en el computador e necesita codificar el algoritmo en un lenguaje de programación (en este caso se usará el lenguaje C). Es decir, se convertirá el algoritmo en programa, luego ejecutarlo y comprobar que el programa soluciona verdaderamente el problema. PAGINA 1 DE 8

Ejemplo: Leer el radio de un círculo y calcular e imprimir su superficie y circunferencia. Análisis: Las entradas de datos en este problema se concentran en el radio del círculo. Dado que el radio puede tomar cualquier valor dentro del rango de los números reales, el tipo de datos radio debe ser real. Las salidas serán dos variables: superficie y circunferencia que también serán de tipo real Entrada Proceso alida (Radio) Calcular Área Calcular perímetro (Área) (Perímetro) El algoritmo sería así: Mas refinado sería así: Leer radio Calcular Área Calcular Circunferencia Escribir resultados Leer radio área = 3.141592 * radio * radio circunferencia = 2 * 3.141592 * radio escribir área, circunferencia Como vemos en este algoritmo mas refinado hemos utilizado algunas palabras tales como, radio área y circunferencia para denominar a las variables que van a contener los datos numéricos o que van a ser ingresados procesados y mostrados. Estos nombres, que hacen referencia a una posición de memoria del computador donde se encuentran almacenados estos datos, se denominan Identificadores. Identificadores Representan los nombres de los objetos de un algoritmo o programa (constantes, variables, tipos de datos, procedimientos, funciones, etc.). Es una secuencia de caracteres que puede ser de cualquier longitud, aunque tiene ciertas reglas que hay que seguir, las cuales son: Debe comenzar con una letra, luego una sucesión de letras, números y caracteres subrayados ("_") y no puede contener espacios en blanco. Esta sucesión elegida no debe ser demasiado extensa no mas de 8 o a lo sumo 10 caracteres y debe dar idea de la función y el tipo de dato que va a almacenar para mejorar la legibilidad del algoritmo en revisiones posteriores. En síntesis un identificador es un método para nombrar a las celdas de memoria en la computadora, en lugar de memorizarnos una dirección de memoria. e utilizan para nombrar variables, constantes, procedimientos y funciones que vamos a aprender mas adelante. Constantes: Las constantes son valores que no pueden cambiar en la ejecución del algoritmo o (prueba de escritorio) programa. Variables: Las variables son valores que se pueden modificar durante la ejecución de un algoritmo (prueba de escritorio) o programa. Al contrario de las constantes estos reciben un valor, pero este valor puede ser modificado durante la ejecución. PAGINA 2 DE 8

DIAGRAMA EN BLOQUE PROCEO DE ENTRADA ALIDA Trabajo Práctico numero 1 Actividad 1: Rellene la tabla siguiente de entrada/proceso/salida Entrada Proceso alida Actividad 2: Calcular área de un triángulo rectángulo Calcular área de un cilindro Calcular volumen de un cilindro Calcular el espacio recorrido por un móvil que se mueve con mru Calcular el espacio recorrido por un móvil que se mueve con mruv Calcular volumen de un cubo Calcular área de un triangulo dando solo sus lados Cómo seria el algoritmo para cada fila de la tabla? describa cada una mediante un diagrama en bloques y luego por una sucesión de acciones refinando el algoritmo Ahora estamos en condiciones de hacernos la pregunta QUÉ E UN ALGORITMO? y poder definirlo más precisamente: La palabra algoritmo se deriva de la traducción al latín de la palabra árabe Al'Khwarizmi o Al'Khorezmi, nombre de un matemático y astrónomo árabe que escribió un tratado sobre manipulación de números y ecuaciones en el siglo IX. Un algoritmo es un conjunto finito de instrucciones o pasos organizados que describe el proceso que se debe seguir, para dar solución a un problema específico. De un modo más formal, un algoritmo es una secuencia finita de operaciones realizables, no ambiguas, cuya ejecución da una solución de un problema. istema por el cual se llega a una solución, teniendo en cuenta que debe de ser: definido, finito y preciso. Por preciso entendemos que cada paso a seguir tiene un orden; finito implica que tiene un determinado número de pasos, o sea que tiene un fin; y definido que si se sigue el mismo proceso más de un vez llegaremos al mismo resultado. Lenguajes Algorítmicos Un Lenguaje algorítmico es una serie de símbolos y reglas que se utilizan para describir de manera explícita un proceso. Tipos de Lenguajes No Gráficos: Representa en forma descriptiva las operaciones que debe realizar un algoritmo PAGINA 3 DE 8

Pseudocódigo INICIO Imp Progr. que calcula el área de un triangulo ; /*Así se aclara( también en C)*/ Imp Ingrese la base y la altura del triangulo ; /*esta es una salida */ Leer Base, h; /*esta es una entrada */ up=base*h/2; /* expresión matemática */ Imp La superficie calculada es:,up; /*esta es una salida */ Fin En la línea señalada hay una expresión matemática que es un conjunto de datos o funciones unidos por operadores aritméticos, que podemos utilizar en nuestros algoritmos (son los mismos en lenguaje C) y los cuales se muestran en la siguiente tabla: Operadores Aritmèticos Operador Descripcion Ejemplo de aplicacion = Asignación: copia el var1=var2 contenido de var2 en var1 + uma var1+var2 - Resta var2-var3 * Multiplicacion var3*var4 / Division var3/var4 ++ incremento ++var3 -- Decremento --var3 En esta tabla los operadores están ordenados de menor a mayor orden de predececion y todos salvo los monarios como el incremento y el decremento se ejecutan de izquierda a derecha como en matemáticas. alvo el primero la asignación. Gráficos: Es la representación gráfica de las operaciones que realiza un algoritmo mediante una secuencia de ordinogramas o símbolos gráficos dada por las líneas que los unen representando entradas salidas y procesos,todos los ordinogramas mas usados se encuentran la tabla que presentamos a continuación del ejemplo. PAGINA 4 DE 8

Diagrama de flujo ejemplo INICIO Prog.que calcula el área de triangulo ; E Ingrese la base y la altura ; Base, h; up=base*h/2; La superficie calculada es:,up; FIN ímbolo diagrama de flujo Codificación pseudocódigo Inicio Descripción Inicio y declaración de variables Acción Acción a realizar i Decisión Leer / Imp Para (Inic; Cond; Inc) egún sea (Var) igual a caso 1 caso 2 ot Etc Entrada / alida Datos Bucle Repetitivo For cuando se conoce la cant de veces a repetir Decisiones múltiples en donde la Cond es una variable que se compara con constantes PAGINA 5 DE 8

Estructura selectiva simple En muchas ocasiones para poder resolver un problema debemos evaluar expresiones lógicas que tienen un valor de verdad que puede ser verdadero o falso. i solo se desea ejecutar una o mas acciones si una expresión es verdadera, se debe utilizar esta estructura ya que cumple esta función. La forma en que se grafica y se escribe en los dos lenguajes algorítmicos es la siguiente: Diagrama de Flujo Codificación Pseudocódigo F Única i (Condición) Entrada { Acción 1; Acción n; V } Condición Acción 1; Acción n; i es una sola la acción a ejecutar no hace falta poner las llaves para marcar el bloque. Unica salida Ejemplo: Diagrama de flujo Pseudocòdigo INICIO Este programa dice si sos mayor ; E cual es tu edad ; Edad; Edad>=18 Eres mayor ; INICIO Imp Este programa dice si sos mayor de Edad ; Imp cual es tu edad? ; Leer Edad ; I (Edad >=18) Imp Eres mayor de Edad ; Imp fin del algoritmo ; FIN fin del algoritmo ; FIN PAGINA 6 DE 8

Operadores Lógicos Como dijimos se necesitan realizar a menudo comparaciones entre distintos valores como en el algoritmo anterior (Edad >=18), esto se realiza utilizando los operadores relaciones, los cuales se listan a continuación: Operador Descripcion Ejemplo de aplicacion > Mayor Da verdadero i el contenido de var1 es mayor que el de var2 >= Mayor o igual: Da verdadero si el contenido de var1 es mayor o igual que el de var2 < Menor Da verdadero si el contenido de var2 es menor que el de var3 <= Menor o igual Da verdadero si el contenido de var3 es menor o igual que el de var4 == Igual Da verdadero si el contenido de var3 es igual que el de var4!= Distinto Da verdadero si el contenido de var3 es distinto que el de var4! NOT var1>var2 var1>=var2 var2<var3 var3<=var4 var3==var4 var3!=var4!var3 && Niega el valor de verdad de la variable And Da verdadero si ambas proposiciones son verdaderas (var1==var2)&&( var1==var3) Or (var1==var2) ( var1==var3) Da verdadero si alguna es verdadera PAGINA 7 DE 8

Estructura selectiva doble En otras ocasiones para poder resolver un problema debemos evaluar expresiones lógicas que tienen un valor de verdad que puede ser verdadero o falso y realizar procesos diferentes en cada caso. i se desea ejecutar una o mas acciones si una expresión es verdadera, y otro conjunto de acciones distintas si es falsa, se debe utilizar esta estructura ya que cumple esta función. La forma en que se grafica y se escribe en los dos lenguajes algorítmicos es la siguiente: Diagrama de Flujo Codificación Pseudocódigo Única i (Condición) entrada { Acción 1; Acción n; F V } Condición ino { Acción 2; Acción m; } Acción 2; Acción 1; Acción n; Acción m; Unica salida i es una sola la acción a ejecutar no hace falta poner las llaves para marcar el bloque. Actividad 1: Trabajo Práctico numero 2 Diseñar un programa en diagrama de flujo y pseudocòdigo, por cada fila de la tabla del trabajo práctico anterior Actividad 2: Diseñar un programa en diagrama de flujo y pseudocòdigo, que determine el mayor de dos números distintos (Usar estructura selectiva simple). Actividad 3: Diseñar un programa en diagrama de flujo y pseudocòdigo que determine el menor de dos números y si son iguales indicarlo (Usar estructura selectiva simple) Actividad 4: Diseñar un programa en diagrama de flujo y pseudocòdigo que determine el mayor de tres números (Usar estructura selectiva doble) Actividad 5: Diseñar un programa en diagrama de flujo y pseudocòdigo que determine el mayor y el menor de cuatro números (Usar estructura selectiva doble) PAGINA 8 DE 8