Date post: | 30-Dec-2015 |
Category: |
Documents |
Upload: | gavin-gregory |
View: | 39 times |
Download: | 4 times |
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 HolaMundoEscribir “Hola Mundo";
FinProceso
Solución en java
public class Main {
public static void main(String[] args) { System.out.println ("Hola Mundo"); }}
Solución en delphi
program Holamundo;
{$APPTYPE CONSOLE}
uses SysUtils;
begin Writeln('Hola Mundo'); readln;end.
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
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
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
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
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
¿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
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
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
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
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?
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;
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)); }}
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
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
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”;
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
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
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