Resolución de problemas y algoritmos

Slides:



Advertisements
Presentaciones similares
Análisis Sintáctico Capítulo 4.
Advertisements

Diseño y análisis de algoritmos
Programación de Computadores
Sesión 13 Tipos de datos Estruturados Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
Programación de Computadores
SENTENCIAS SECUENCIALES
LENGUAJES DE DESCRIPCION DE HARDWARE (HDL)
Estructura selectiva anidada
Iteración La iteración permite modelar problemas en los cuales una secuencia de instrucciones debe ejecutarse varias veces. La cantidad de iteraciones.
Type tipo_bf = ; tipo_dato = word; tipo_puntero = ^tipo_nodo; tipo_nodo = record dato: tipo_dato; izquierdo, derecho: tipo_puntero; bf: tipo_bf;
Ingresar dos valores correspondientes a la edad de una persona. Informar "La primera persona es mayor", "La segunda persona es mayor". C E1 E2 E1>E2 Si.
Juana Barbero 1 año B - VDS. Ingresar un número cualquiera e informar si es positivo, negativo o nulo.
TRABAJO PRÁCTICO 2 Florencia Glasbauer y Luciana Pierangeli 1ºB.
Resolución de Problemas y Algoritmos Buffer - Read & Readln
Seminario de Actualización - Excel Avanzado y Macros
1.5 Algoritmos, Pseudocódigo y Diagramas de Flujo
1.5 Algoritmos, Pseudocódigo y Diagramas de Flujo
Curso de Programación 1 Plan 97
ESTRUCTURA DEL LENGUAJE C
Principios y Herramientas de Programación
Trabajo practico Nº2 Rodrigo Diaz. EJERCICIO Nº1 Ingresar un número cualquiera e informar si es Positivo. Negativo o nulo C NUMER O Numero =0 NULO Numero>o.
Programación visual basic 2do año B Sofía Di Buccio Computadora número 36.
Franco Caviglia Catenazzi. Ejercicio nº1  Ingresar un número cualquiera e informar si es positivo, negativo o nulo. C Negativo Positivo Nulo A A>0 0
Programación Visual Basic
Programación Visual Basic Pedro Boualy y Fran B 2ºB PC:28.
C lase 10 COMPUTACION /17/2014Computacion - Fac. Ingeniería2  Ademas de los ya vistos (tipos simples), puede usarse como parámetros variables.
Trabajo práctico Programación y Análisis de datos. Alumnas: María Agustina Macchi y María Sol Pérez Fernández. Año: 1B Fecha de entrega: 14 de Noviembre.
 Ingresar dos valores correspondientes a la edad de una persona. Informar "La primera persona es mayor", "La segunda persona es mayor". C E 1 E 2 E1>E2.
Trabajo Practico 2 Nombre: Indira Diana. Ejercicio numero 1 C C Numero = 0 Numero > 0 numero positivo nulo negativo F F Verdadero Ingresar un número cualquiera.
Ejercicio N°4 Ingresar dos números enteros cualesquiera. Informar "el primero es mayor que el segundo", "el segundo es mayor que el primero" o "son iguales"
1 Concurrencia Procesos y Programas. 2 Establecer Comunicación entre procesos (memoria común)
Resolución de Problemas y Algoritmos Uso de iteración con secuencias
Sesión 5 Sentencias de Selección y repetición Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
Trabajo Práctico 2 Agustin Arias 1ºB. Ejercicio 1 Ingresar un número cualquiera e informar si es positivo, negativo o nulo.
Forma de Trabajo 1- Comprender el problema 2- Estudiar todas las posibles situaciones 3- Plantear todas las estrategias posibles 4- Seleccionar la más.
Teoría – Alejandro Gonzalez
Pilas Una Pila es una colección de elementos del mismo tipo organizada como una superposición ordenada de los mismos. Por ejemplo Pila de platos, Pila.
Programación I Arreglos. Los elementos de un arreglo son todos del mismo tipo de dato (todos integer o real o char o registros o aún arreglos)
Conjuntos  Tipo estructurado  Es una lista encerrada entre corchetes  Deben ser elementos de igual tipo y Ordinales. Pueden especificarse subrangos.
TRABAJO PRACTICO Nº2 Nombre: Ignacio D. Roca. Ejercicio Nº 1 TP 2 C numero numero= 0 Numero> 0 negativo f nulo verdadero positivo falso.
Recursividad Un objeto se dice que es recursivo si él mismo forma parte de su definición. Ejemplos de objetos recursivos: Una locomotora es un tren Un.
Camila Rodríguez 1º B. DIAGRAMA: PANTALLA: PROGRAMACION Private Sub CommandButton1_Click() Dim NumeroA As Integer Label1 = "ingrese un numero" NumeroA.
Práctico Mercedes Alonso. Ejercicio 0 C Numero A Numero A>5 “No” F “Sí” (textbox) Salida (label) IF Verdadero Falso Ingresar un número cualquiera e informar.
Camila Rodríguez 1º B. DIAGRAMA: PANTALLA: PROGRAMACION Private Sub CommandButton1_Click() Dim NumeroA As Integer Label1 = "ingrese un numero" NumeroA.
Programación Visual Basic ‍2º año B ‍Nombre: javier vasaquez ‍Computadora Número:25.
Práctico Mercedes Alonso. Ejercicio 0 C Numero A Numero A>5 “No” F “Sí” (textbox) Salida (label) IF Verdadero Falso Ingresar un número cualquiera e informar.
Por: Sebastián Guozden. c Número Número = 0 F Nulo Positivo Negativo Número > 0 Ingrese un Número cualquiera e informar si es positivo, negativo o nulo.
Gianfranco Barbalace 1 año “B”.  Ingresar un número cualquiera e informar si es positivo, negativo o nulo. C C Número = 0 Número Número > 0 Nulo Verdadero.
GESTOR DE BASE DE DATOS CARRERA: COMPUTACIÓN E INFORMÁTICA CURSO: TALLER DE SISTEMAS I DOCENTE: ING. JOSÉ EDUARDO QUISPE TAIPE CICLO: QUINTO.
Control, adquisición y monitoreo con Arduino y Visual Basic .net
Resolución de problemas y algoritmos
Resolución de problemas y algoritmos
Paso por Referencia v/s Paso por Valor
Estructuras de control Resolución de problemas y algoritmos
Diego Hernández R Pascal Variables Diego Hernández R
Estructuras de Control Ciclos
Estructuras de Control
Análisis y resolución de problemas
Paso por Referencia v/s Paso por Valor
Estructuras Dinámicas
Estructuras de Control 2 Ciclos
Diego Hernández R Pascal Variables Diego Hernández R
Procedimientos y Funciones
String, arreglos y arreglos bidimensionales
ProcesadorNumero PROBLEMA 1 (Laboratorio N°1)
Estructuras de control
Diego Hernández R. Archivos Diego Hernández R.
String, arreglos y arreglos bidimensionales
Procedimientos y Funciones
END.
Transcripción de la presentación:

Resolución de problemas y algoritmos Dra. Jessica Andrea Carballido jac@cs.uns.edu.ar Dpto. de Ciencias e Ingeniería de la Computación UNIVERSIDAD NACIONAL DEL SUR

Problema: A partir de una secuencia de números enteros ingresada por teclado, computar la suma de los pares y la suma de los impares. La longitud es dato de entrada. Suma pares y Suma impares de S Caso trivial: Si S está vacía, Suma pares es 0 y Suma impares es 0. Caso recursivo: Si S tiene al menos un elemento, y el 1er elemento de S es par, Suma pares de S es Suma pares de S’+ el 1er elemento de S. Suma impares de S es Suma impares de S’. Si el 1er elemento de S es impar, Suma impares de S es Suma impares de S’+ el 1er elemento de S. Suma pares de S es Suma pares de S’. Donde S’ es S sin su 1er elemento.

procedure sumaSecuencia(N: integer; var spa, sim: integer); var elem: integer; sumPsub, sumIsub: integer; begin if (n = 0) then begin spa:= 0; sim:= 0; end else read(elem); sumaSecuencia(N-1, sumPsub, sumIsub); if (odd(elem)) begin sim := sumIsub + elem; spa:= sumPsub; end begin sim:= sumIsub; spa := sumPsub + elem; end; end;

Ingrese la long de la sec 3 Secuencia: 12 5 6 program p; var long, sp,si: integer; procedure sumaSecuencia(…. … begin writeln(‘Ingrese la long de la sec’); readln(long); writeln(‘Secuencia: ‘); sumaSecuencia(long, sp, si); writeln(‘La suma de pares es: ‘,sp); writeln(‘La suma de impares es: ‘,si); end. Ingrese la long de la sec 3 Secuencia: 12 5 6 Long 3 Sp Si N 3 Spa Sim Elem sumPsub sumIsub 12 5 6 procedure sumaSecuencia(N: integer; var spa, sim: integer); var elem: integer; sumPsub, sumIsub: integer; begin if (n = 0) then begin spa:= 0; sim:= 0; end else read(elem); sumaSecuencia(n-1, sumPsub, sumIsub); if (odd(elem)) then begin sim := sumIsub + elem; spa:= sumPsub; end else begin sim:= sumIsub; spa := sumPsub + elem; end; end;

12 5 6 5 6 Long 3 Sp Si N 3 Spa Sim Elem 12 N 2 Spa Sim Elem 5 6 12 5 6 Long 3 Sp Si procedure sumaSecuencia(N: integer; var spa, sim: integer); var elem: integer; sumPsub, sumIsub: integer; begin if (n = 0) then begin spa:= 0; sim:= 0; end else read(elem); sumaSecuencia(n-1, sumPsub, sumIsub); if (odd(elem)) then begin sim := sumIsub + elem; spa:= sumPsub; end else begin sim:= sumIsub; spa := sumPsub + elem; end; end; N 3 Spa Sim Elem 12 sumPsub sumIsub 5 6 N 2 Spa Sim Elem sumPsub sumIsub 5 6 procedure sumaSecuencia(N: integer; var spa, sim: integer); var elem: integer; sumPsub, sumIsub: integer; begin if (n = 0) then begin spa:= 0; sim:= 0; end else read(elem); sumaSecuencia(n-1, sumPsub, sumIsub); if (odd(elem)) then begin sim := sumIsub + elem; spa:= sumPsub; end else begin sim:= sumIsub; spa := sumPsub + elem; end; end;

5 6 procedure sumaSecuencia(N: integer; var spa, sim: integer); var elem: integer; sumPsub, sumIsub: integer; begin if (n = 0) then begin spa:= 0; sim:= 0; end else read(elem); sumaSecuencia(n-1, sumPsub, sumIsub); if (odd(elem)) then begin sim := sumIsub + elem; spa:= sumPsub; end else begin sim:= sumIsub; spa := sumPsub + elem; end; end; 6 6 procedure sumaSecuencia(N: integer; var spa, sim: integer); var elem: integer; sumPsub, sumIsub: integer; begin if (n = 0) then begin spa:= 0; sim:= 0; end else read(elem); sumaSecuencia(n-1, sumPsub, sumIsub); if (odd(elem)) then begin sim := sumIsub + elem; spa:= sumPsub; end else begin sim:= sumIsub; spa := sumPsub + elem; end; end; N 1 Spa Sim Elem sumPsub sumIsub

6 N 1 Spa Sim Elem 6 N Spa Sim Elem procedure sumaSecuencia(N: integer; var spa, sim: integer); var elem: integer; sumPsub, sumIsub: integer; begin if (n = 0) then begin spa:= 0; sim:= 0; end else read(elem); sumaSecuencia(n-1, sumPsub, sumIsub); if (odd(elem)) then begin sim := sumIsub + elem; spa:= sumPsub; end else begin sim:= sumIsub; spa := sumPsub + elem; end; end; N 1 Spa Sim Elem 6 sumPsub sumIsub procedure sumaSecuencia(N: integer; var spa, sim: integer); var elem: integer; sumPsub, sumIsub: integer; begin if (n = 0) then begin spa:= 0; sim:= 0; end else read(elem); sumaSecuencia(n-1, sumPsub, sumIsub); if (odd(elem)) then begin sim := sumIsub + elem; spa:= sumPsub; end else begin sim:= sumIsub; spa := sumPsub + elem; end; end; N Spa Sim Elem sumPsub sumIsub

6 N 1 Spa Sim Elem 6 N Spa Sim Elem procedure sumaSecuencia(N: integer; var spa, sim: integer); var elem: integer; sumPsub, sumIsub: integer; begin if (n = 0) then begin spa:= 0; sim:= 0; end else read(elem); sumaSecuencia(n-1, sumPsub, sumIsub); if (odd(elem)) then begin sim := sumIsub + elem; spa:= sumPsub; end else begin sim:= sumIsub; spa := sumPsub + elem; end; end; N 1 Spa Sim Elem 6 sumPsub sumIsub procedure sumaSecuencia(N: integer; var spa, sim: integer); var elem: integer; sumPsub, sumIsub: integer; begin if (n = 0) then begin spa:= 0; sim:= 0; end else read(elem); sumaSecuencia(n-1, sumPsub, sumIsub); if (odd(elem)) then begin sim := sumIsub + elem; spa:= sumPsub; end else begin sim:= sumIsub; spa := sumPsub + elem; end; end; N Spa Sim Elem sumPsub sumIsub

6 procedure sumaSecuencia(N: integer; var spa, sim: integer); var elem: integer; sumPsub, sumIsub: integer; begin if (n = 0) then begin spa:= 0; sim:= 0; end else read(elem); sumaSecuencia(n-1, sumPsub, sumIsub); if (odd(elem)) then begin sim := sumIsub + elem; spa:= sumPsub; end else begin sim:= sumIsub; spa := sumPsub + elem; end; end; N 1 Spa Sim Elem 6 sumPsub sumIsub

5 6 procedure sumaSecuencia(N: integer; var spa, sim: integer); var elem: integer; sumPsub, sumIsub: integer; begin if (n = 0) then begin spa:= 0; sim:= 0; end else read(elem); sumaSecuencia(n-1, sumPsub, sumIsub); if (odd(elem)) then begin sim := sumIsub + elem; spa:= sumPsub; end else begin sim:= sumIsub; spa := sumPsub + elem; end; end; 6 procedure sumaSecuencia(N: integer; var spa, sim: integer); var elem: integer; sumPsub, sumIsub: integer; begin if (n = 0) then begin spa:= 0; sim:= 0; end else read(elem); sumaSecuencia(n-1, sumPsub, sumIsub); if (odd(elem)) then begin sim := sumIsub + elem; spa:= sumPsub; end else begin sim:= sumIsub; spa := sumPsub + elem; end; end; 6 N 1 Spa Sim Elem 6 sumPsub sumIsub

5 6 6 procedure sumaSecuencia(N: integer; var spa, sim: integer); 5 6 procedure sumaSecuencia(N: integer; var spa, sim: integer); var elem: integer; sumPsub, sumIsub: integer; begin if (n = 0) then begin spa:= 0; sim:= 0; end else read(elem); sumaSecuencia(n-1, sumPsub, sumIsub); if (odd(elem)) then begin sim := sumIsub + elem; spa:= sumPsub; end else begin sim:= sumIsub; spa := sumPsub + elem; end; end; 6

12 5 6 5 6 Long 3 Sp Si N 3 Spa Sim Elem 12 6 5 N 2 Spa Sim Elem 5 6 12 5 6 Long 3 Sp Si procedure sumaSecuencia(N: integer; var spa, sim: integer); var elem: integer; sumPsub, sumIsub: integer; begin if (n = 0) then begin spa:= 0; sim:= 0; end else read(elem); sumaSecuencia(n-1, sumPsub, sumIsub); if (odd(elem)) then begin sim := sumIsub + elem; spa:= sumPsub; end else begin sim:= sumIsub; spa := sumPsub + elem; end; end; N 3 Spa Sim Elem 12 sumPsub sumIsub 6 5 N 2 Spa Sim Elem 5 sumPsub sumIsub 5 6 procedure sumaSecuencia(N: integer; var spa, sim: integer); var elem: integer; sumPsub, sumIsub: integer; begin if (n = 0) then begin spa:= 0; sim:= 0; end else read(elem); sumaSecuencia(n-1, sumPsub, sumIsub); if (odd(elem)) then begin sim := sumIsub + elem; spa:= sumPsub; end else begin sim:= sumIsub; spa := sumPsub + elem; end; end; 6

12 5 6 Long 3 Sp Si procedure sumaSecuencia(N: integer; var spa, sim: integer); var elem: integer; sumPsub, sumIsub: integer; begin if (n = 0) then begin spa:= 0; sim:= 0; end else read(elem); sumaSecuencia(n-1, sumPsub, sumIsub); if (odd(elem)) then begin sim := sumIsub + elem; spa:= sumPsub; end else begin sim:= sumIsub; spa := sumPsub + elem; end; end; N 3 Spa Sim Elem 12 sumPsub sumIsub 6 5

Ingrese la long de la sec 3 Secuencia: 12 5 6 program p; var long, sp,si: integer; procedure sumaSecuencia(…. … begin writeln(‘Ingrese la long de la sec’); readln(long); writeln(‘Secuencia: ‘); sumaSecuencia(long, sp, si); writeln(‘La suma de pares es: ‘,sp); writeln(‘La suma de impares es: ‘,si); end. Ingrese la long de la sec 3 Secuencia: 12 5 6 Long 3 Sp Si 18 5 N 3 Spa Sim Elem 12 sumPsub 6 sumIsub 5 12 5 6 procedure sumaSecuencia(N: integer; var spa, sim: integer); var elem: integer; sumPsub, sumIsub: integer; begin if (n = 0) then begin spa:= 0; sim:= 0; end else read(elem); sumaSecuencia(n-1, sumPsub, sumIsub); if (odd(elem)) then begin sim := sumIsub + elem; spa:= sumPsub; end else begin sim:= sumIsub; spa := sumPsub + elem; end; end;

Ingrese la long de la sec 3 Secuencia: 12 5 6 program p; var long, sp,si: integer; procedure sumaSecuencia(…. … begin writeln(‘Ingrese la long de la sec’); readln(long); writeln(‘Secuencia: ‘); sumaSecuencia(long, sp, si); writeln(‘La suma de pares es: ‘,sp); writeln(‘La suma de impares es: ‘,si); end. Ingrese la long de la sec 3 Secuencia: 12 5 6 Long 3 Sp Si 18 5