23
ING102 Introducción a la Computación Erwin Fischer

ING102 Introducción a la Computación

Embed Size (px)

DESCRIPTION

ING102 Introducción a la Computación. Erwin Fischer. Problema. Escribir un programa para que el computador presente por pantalla la frase “Hola Mundo” Solución: en Pseudo código ( PSeInt ) Proceso HolaMundo Escribir “Hola Mundo"; FinProceso. Solución en java. public class Main { - PowerPoint PPT Presentation

Citation preview

Page 1: ING102  Introducción  a la  Computación

ING102 Introducción a la Computación

Erwin Fischer

Page 2: ING102  Introducción  a la  Computación

Problema

• Escribir un programa para que el computador presente por pantalla la frase “Hola Mundo”

Solución: en Pseudo código (PSeInt)

Proceso HolaMundoEscribir “Hola Mundo";

FinProceso

Page 3: ING102  Introducción  a la  Computación

Solución en java

public class Main {

public static void main(String[] args) { System.out.println ("Hola Mundo"); }}

Page 4: ING102  Introducción  a la  Computación

Solución en delphi

program Holamundo;

{$APPTYPE CONSOLE}

uses SysUtils;

begin Writeln('Hola Mundo'); readln;end.

Page 5: ING102  Introducción  a la  Computación

Problema. Escribir un programa para que el computador calcule los porcentajes de hombres y mujeres de acuerdo al siguiente diálogo con una persona (usuario): nº de hombres? 649 persona nº de mujeres? 125 persona % de hombres = 83.8 % de mujeres = 16.2

Page 6: ING102  Introducción  a la  Computación

Algoritmo. Etapas (pasos, instrucciones) que debe realizar (ejecutar) el computador para resolver el problema. Ejemplo: 1. escribir (mostrar) en la pantalla la frase “nº de hombres?” 2. leer (obtener) el n° ingresado por la persona usando el teclado 3. escribir (mostrar) en la pantalla “nº de mujeres?” 4. leer el n° ingresado por la persona 5. calcular el %(p) de hombres c/r a suma de hombres(h) y mujeres(m) como h x 100 h+m 6. escribir una línea con la frase “% de hombres = ” y el nº p

7. escribir una línea con “% de mujeres = ” y el nº 100-p

Page 7: ING102  Introducción  a la  Computación

Programa: Algoritmo expresado en un lenguaje de programación

Proceso CalculaPorcentajesEscribir "N° de Hombres?";Leer h;Escribir "N° de Mujeres?";Leer m;p<-h/(h+m)*100;Escribir "% de hombres = ", p;Escribir "% de mujeres = ", 100 - p;

FinProceso

En PSeInt

Page 8: ING102  Introducción  a la  Computación

PSeInt en detalle

Proceso CalculaPorcentajesacción 1;acción 2;…acción n;

FinProceso

Escribir "N° de Hombres?";

Sintaxis

Escribir lista_de_expresiones;Semántica

Escribe el (parámetro) lista_de_expresiones, en la pantalla del computador

Nombre del

programa

Page 9: ING102  Introducción  a la  Computación

Explicación en detalle

Leer h; // lee por pantalla la cantidad de hombres• lee un número desde el teclado y lo guarda en

la variable h• Nota.

//frase– es un comentario que contiene observaciones de

utilidad para el programador, pero que es ignorado por el computador al ejecutar las instrucciones del programa

Page 10: ING102  Introducción  a la  Computación

¿variable?• representación simbólica de un valor (número)• representa una ubicación (celda) en la memoria

del computador• capacidad: un valor/número• puede variar (cambiar) su valor

Page 11: ING102  Introducción  a la  Computación

Leer h

• Semántica:• 1º método (función) Leer

1.espera que el usuario ingrese un número (dígitos y enter)

2.lee (obtiene) el número

3.entrega el número como resultado

• 2º número se guarda en (asigna a ) la variable h

Page 12: ING102  Introducción  a la  Computación

p<-h/(h+m)*100;

calcula h/(h+m) * 100 y guarda el resultado en la variable p

Instrucción de asignación

 

sintaxis:

variable<-expresión; 

semántica

1º evaluar expresión (calcular resultado)

2º asignar(guardar) resultado a(en) la variable 

Page 13: ING102  Introducción  a la  Computación

Expresión 

Sintaxis

se escribe en una línea (hacia el lado) y no en varios niveles

componentes: variables, constantes, operadores, funciones

 

Semántica • se calcula el resultado de la expresión de acuerdo a la siguiente prioridad de

los operadores:

 1º operadores unarios: +, -

2º operadores “multiplicativos”: *, /

3º operadores “aditivos”: +, -

 

Ej: -a+b*c es (-a)+(b*c), similar a álgebra

Page 14: ING102  Introducción  a la  Computación

Expresión: semántica

 

a igual prioridad, se evalúa de izquierda a derecha.

Ej: a*b/c es (a*b)/c

 

paréntesis modifican o confirman orden de evaluación.

ejs: (a+b)*c modifica, a+(b*c) confirma

 

¿tipo del resultado? (en java)tipo común. Ej: 1 / 2 es 0 (entero), 1.0 / 2.0 es 0.5 (real)

real si operandos son de tipos distintos. Ej: 1.0/2 es 0.5

¿resultado de h/(h+m)*100.0?

Page 15: ING102  Introducción  a la  Computación

Escribir "% de mujeres = ", 100 - p;

• Escribe el texto % de mujeres = , el valor de la expresión 100 - p y “salta” a la siguiente línea

SintaxisEscribir lista_de_expresiones;

SemánticaEscribe el (parámetro) lista_de_expresiones, en la pantalla del computador

 1º evaluar expresión (ejs: p, 100-p)

2º escribir resultado

3º posicionar el cursor al comienzo de la siguiente línea en la pantalla

 

Notas.

Expresión puede ser una frase. Ej: escribe “chao”;

escribe también admite expresiones. Ej: escribe 100-p;

Page 16: ING102  Introducción  a la  Computación

El mismo programa en Java

import java.util.Scanner;public class calculaporcentajes {

public static void main(String[] args){ int h, m; double p; Scanner s = new Scanner(System.in); System.out.println ("N° de Hombres?"); h=s.nextInt(); System.out.println ("N° de Mujeres?"); m=s.nextInt(); p = 100.0 * h /(h+m); System.out.println ("% de Hombres = " + p); System.out.println("% de mujeres = " + (100 - p)); }}

Page 17: ING102  Introducción  a la  Computación

Lenguaje Java: características generales

• inspirado en idioma inglés – palabras int, print, read,...

• uso de notación matemática – expresiones: 100.0*h/(h+m), p-100– funciones: print(...), readInt()

• sintaxis (gramática, escritura) reglamentada– instrucciones terminan con ;– palabras con significados especiales (int, double, print)– uso de minúsculas (salvo casos especiales)

• semántica (interpretación) precisa (sin ambigüedades)– instrucciones con significado/efecto bien definido

Page 18: ING102  Introducción  a la  Computación

Ejercicio Escribir las instrucciones que establezcan el diálogo indicado en el siguiente ejemplo: Calcular velocidad de un móvil distancia(metros)? 100.0 tiempo(segundos)? 9.78 velocidad=36.81 km/hora

Page 19: ING102  Introducción  a la  Computación

escribir “Calcular velocidad de un móvil”; escribir “distancia(metros)?”; leer d; escribir “tiempo(segundos)?”; leer t escribir “velocidad= ”; escribir (d/1000)/(t/3600);// 3.6*d/t escribir “ km/hora”; es casi equivalente a escribir “velocidad= ”,(d/1000)/(t/3600),“ km/hora”; o a escribir “velocidad= ”, 3.6*d/t, “ km/hora”;

Page 20: ING102  Introducción  a la  Computación

Programa completo en PSeInt Proceso CalculaVelocidad … //instrucciones FinProceso Notas todo programa en PSeInt, debe estar contenido en un proceso con Nombre y grabarse en archivo Nombre.psc

Las características de este pseudolenguaje fueron propuestas en 2001 por el

Horacio Loyarte, de la carrera de Ingeniería Informática de la FICH-UNL.

Las premisas son:

• Sintaxis sencilla • Manejo de las estructuras básicas de control • Solo 3 tipos de datos básicos: numérico, caracter /cadenas de caracteres y

lógico (verdadero-falso). • Estructuras de datos: arreglos

Page 21: ING102  Introducción  a la  Computación
Page 22: ING102  Introducción  a la  Computación

Ejercicios en PseInt

• Desarrolle un programa que calcule el área de un cuadrado, de acuerdo al dialogo indicado en el ejemplo:– Calcular el área de un cuadrado– Lado del cuadrado (en centímetros) : ? 15– El área del cuadrado es : 225

Page 23: ING102  Introducción  a la  Computación

Problema Nº 1: (tiempo estimado: 5 minutos)Ingresa un nº: 123124 te gané

Problema Nº 2: (tiempo estimado: 10 minutos)Calcular área y perímetro de rectánguloLargo? …Ancho? …

Area=nº Perímetro=nº

Problema Nº 3: (tiempo estimado: 20 minutos)Suma de fracciones: a/b + c/da ? 1b ? 2c ? 3d ? 4

suma = 10/8 = 1 2/8 = 1.25