Anda di halaman 1dari 9

UNIVERSIDAD DE PANAMÁ

CENTRO REGIONAL DE VERAGUAS


FACULTAD DE INFORMÁTICA, ELECTRÓNICA Y COMUNICACIONES
LICENCIATURA EN INGENIERIA EN INFORMATICA
ESTRUCTURA DE LOS LENGUAJES DE PROGRAMACION

PARCIAL # 1

Presentado por:
Efrain Caballero 9-719-1952

Profesor:
Diego Santimateo

III Año
II Semestre

3 de Septiembre de 2007
Parcial #1
Importancia del estudio de los lenguajes de programación

Para concretar la lectura del capítulo 1: El estudio de los lenguajes de programación del
libro Lenguajes de Programación de Terrence W. Pratt, proponemos la realización del
siguiente ejercicio, el cual debe ser entregado individualmente el 1 de septiembre.

Resumen:
¿Por qué estudiar Los Lenguajes de Programación?

Para entender el diseño e implementación de los lenguajes:


sintaxis - reglas de construcción de los programas
 semántica - significado de los programas
 implementación - cómo se ejecutan
 pragmática - aspectos prácticos de su uso

Para saber qué lenguaje es más apropiado para resolver cierto tipo de problemas:
imperativo: PascaL / C / PHP
 Orientado a Objetos: SMALLTALK / C++ / JAVA
 Funcional: Haskell / LISP/ ML
 Lógico: Prolog / Mercury / Goedel

Para mejorar el conocimiento de los lenguajes que ya utilizamos


Para mejorar nuestras técnicas de programación
Programar = definir nuevas extensiones de un lenguaje
Para saber proyectar nuevos lenguajes
Para poder aprender fácilmente nuevos lenguajes

Aspectos a desarrollar en la tarea:

1.Mejora el conocimiento del lenguaje que está usando


El lenguaje más utilizado por ustedes es el C, no obstante, le invitamos a leer sobre
expresiones regulares y luego hacer uso del scanf(“% [ ]”) para identificar cuál es la
verdadera función del scanf(“% [ ]”). Presente los ejemplos utilizados por usted
con sus respectivas observaciones y comentarios. ¿Cuál es el papel de las
expresiones regulares en el scanf?(10 ptos)

2.Enriquece su vocabulario de construcciones útiles de programación


Elabore un glosario de 10 términos nuevos para usted, que considere de
importancia en el área de programación. Seleccione uno y haga un ejemplo. (10
ptos)

3.Permite una mejor selección del lenguaje de programación


Determine cual de los siguientes lenguajes recomienda para leer una línea de texto
y separarla en palabras: C, Pascal, PHP. Explique, ejemplifique y concluya.(10 ptos)

4.Facilita el diseño de un nuevo lenguaje


Analice la estructura de control conocida como GOTO. Identifique lenguajes que la
incluyen en su diseño y comente sobre nuevas estructuras de control inspiradas en
el uso del GOTO y en qué lenguajes aparecen. Explique, ejemplifique y concluya.
(10 ptos)

Mejora el conocimiento del lenguaje que está usando

Bueno las expresiones regulares es una forma de representar a los lenguajes


regulares (finitos o infinitos) y se construye utilizando caracteres del alfabeto
sobre el cual se define el lenguaje.

Esta función scanf es una función que e utiliza para leer datos que entran por
parte del usuario.
Ahora veremos la función del scanf(“% []”).

Esta función scanf(“%[a-z]”,cadena), esta función del scanf esta diciendo


todos los parámetros que pueden se aceptados por el scanf.

En la función scanf junta con las expresiones regulares se vera todo lo que se
puede hacer con el scanf y la expresión regular.
Dentro de los corchetes del scanf se meten o se agrupan todos los caracteres
que se utilizaran como parámetro en este scanf. Y son muy utiles para
encontrar caracteres.
Enriquece su vocabulario de construcciones útiles de programación
Glosario de Términos

1. programación estructurada: Es una forma de escribir programación de

ordenador de forma clara, para ello utiliza únicamente tres estructuras:


secuencial, selectiva e iterativa; siendo innecesario y no permitiéndose
el uso de la instrucción o instrucciones de transferencia incondicional
( GOTO ).
2. Corrutina: Es la estructura del control de subprogramas y es útil en
muchos programas pero pocos lenguajes brindan directamente una
característica.
3. Lenguaje de alto nivel: se caracterizan por ser más parecidos al lenguaje

y a la lógica humana que otros lenguajes llamados de bajo nivel o


simbólicos que se acercan más a la lógica o lenguaje de los ordenadores.
4. implementación: Es un proceso donde se lleva a cabo un proceso.
5. paradigma: Es un modelo o patrón en cualquier disciplina científica u

otro contexto epistemológico.


6. Interprete: Es un programas q se compila y se ejecuta en la
computadora.
7. lenguaje de autor: son lenguajes de programación de muy alto nivel y solo
son para personas que tiene conocimiento informatico.
8. lenguaje de simulación: s un software de simulación de naturaleza general

9. COBOL: Es un lenguaje común orientado a los negocios y fue

desarrollado en 1959 por un comité de CODASYL


10. lisp: Es el segundo lenguaje de programación, después de Fortran, de

alto nivel. Lisp es de tipo declarativo


Definición de la función:

(defun vacia (l)


(cond ((null l) 1) ; si la lista esta vacia devuelve 1
(t 0))) ; en otro caso (lista llena) devuelve 0

Llamada a la función:

(vacia '(1 3 4)) ; La lista no esta vacia, devolvería 0


(vacia '()) ; La lista esta vacia, devolvería 1
*******************************************************************
(defun último (lista)
(cond( (null (cdr lista)) (car lista))
(t (último (cdr lista)))))

(último '(1 2 3 4 5 6 7)) ; devuelve el último de la lista: 7

*******************************************************************
; ---FACTORIAL----
;Definición matemática
; Factorial(x) = 1 si x=0 caso base
; x*factorial(x-1) si x>0 caso recursivo

;Función factorial hecha con recursividad no final


(defun factorial (n)
(if (= 0 n)
1 ; caso base
(* n (factorial (- n 1))) ; caso recursivo
)
)

(factorial 4) ;esto nos devolvería 24=4*3*2*1

Permite una mejor selección del lenguaje de programación

Bueno para mi los dos muy buenos para leer líneas de texto separarla en
palabras. Porque C como PHP los dos manejan muy bien lo que es las
cadenas, ya que lo que los hacen diferentes es la forma de cómo declaran las
cada cadenas porque C utilizaría un arreglo para almacenar las cadenas.
También son muy parecidos en su forma en su sintaxis ya que PHP es
derivado de C por eso yo creo que los dos son muy buenos para el manejo de
cadenas o en nuestro caso leer una línea de texto y separarla en palabras.
Un ejemplo de leer una linea de texto en PHP

<!-- Manual de PHP de WebEstilo.com -->


<html>
<head>
<title>Ejemplo de PHP</title>
</head>
<body>
<?php
echo strlen("12345"),"<br>";

$palabras=split(" ","Esto es una prueba");


for($i=0;$palabras[$i];$i++)
echo $palabras[$i],"<br>";

$resultado=sprintf("8x5 = %d <br>",8*5);
echo $resultado,"<br>";

echo substr("Devuelve una subcadena de otra",9,3),"<br><br>";

if (chop("Cadena \n\n ") == "Cadena")


echo "Iguales<br><br>";

echo strpos("Busca la palabra dentro de la frase",


"palabra"),"<br><br>";

echo str_replace("verde","rojo","Un pez de color verde, como verde es


la hierba."),"<br>";

?>
</body>
</html>

Facilita el diseño de un nuevo lenguaje


Es una sentencia o instrucción muy común en los lenguajes de programación
con el objetivo de controlar el flujo del programa. El efecto de su versión más
simple es transferir sin condiciones la ejecución del programa a la etiqueta o
número de línea especificada. Es una de las operaciones más primitivas para
transpasar el control de una parte del programa a otra; tal es así que muchos
compiladores traducen algunas sentencias de control como GOTO.
La instrucción goto transfiere el control del programa directamente a una
instrucción identificada por una etiqueta.
Uno de los primeros lenguajes de alto nivel que lo incluyeron fue el
FORTRAN, También se lo encuentra en: Algol, COBOL, SNOBOL, BASIC,
Lisp, C, C++, Pascal y Perl entre otros, especialmente el lenguaje
ensamblador.
Se pueden encontrar también variaciones de la sentencia GOTO. En BASIC, la
sentencia ON GOTO puede seleccionar de una lista de diferentes puntos del
programa a los que saltar. Podría ser interpretado como un antecesor de la
sentencia switch/case. También, en FORTRAN y algunas versiones de BASIC
la línea a la que saltar podía ser indicada mediante una expresión aritmética.

// statements_goto_switch.cs
using System;
class SwitchTest {
static void Main() {
Console.WriteLine("Coffee sizes: 1=Small 2=Medium 3=Large");
Console.Write("Please enter your selection: ");
string s = Console.ReadLine();
int n = int.Parse(s);
int cost = 0;
switch (n)
{ case 1: cost += 25;
break;
case 2: cost += 25;
goto case 1;
case 3: cost += 50; goto case 1;
default:
Console.WriteLine("Invalid selection.");
break; }
if (cost != 0) {
Console.WriteLine("Please insert {0} cents.", cost); }
Console.WriteLine("Thank you for your business.");
}}

Anda mungkin juga menyukai