0% encontró este documento útil (0 votos)
21 vistas12 páginas

6220 F 6 Ddaf 63 F

El documento es una guía de estudio sobre los principios básicos de programación en el contexto de la Licenciatura en Ingeniería en Sistemas Computacionales. Se abordan conceptos fundamentales como la definición de un programa, tipos de software, lenguajes de programación, algoritmos, y paradigmas de programación. Además, se detalla el proceso de transformación de un programa desde su edición hasta su ejecución.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Temas abordados

  • sistemas operativos,
  • Google Chrome,
  • software de sistema,
  • tareas específicas,
  • pseudocódigo,
  • Photoshop,
  • lenguaje máquina,
  • software de aplicación,
  • AutoCAD,
  • edición de código
0% encontró este documento útil (0 votos)
21 vistas12 páginas

6220 F 6 Ddaf 63 F

El documento es una guía de estudio sobre los principios básicos de programación en el contexto de la Licenciatura en Ingeniería en Sistemas Computacionales. Se abordan conceptos fundamentales como la definición de un programa, tipos de software, lenguajes de programación, algoritmos, y paradigmas de programación. Además, se detalla el proceso de transformación de un programa desde su edición hasta su ejecución.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Temas abordados

  • sistemas operativos,
  • Google Chrome,
  • software de sistema,
  • tareas específicas,
  • pseudocódigo,
  • Photoshop,
  • lenguaje máquina,
  • software de aplicación,
  • AutoCAD,
  • edición de código

Licenciatura en Ingeniería en Sistemas Computacionales

Principios de Programación
Conceptos Básicos de Programación
Guía de estudio
Bloque I

Licenciatura en Ingeniería en Sistemas Computacionales

P á g i n a 1 | 11
Licenciatura en Ingeniería en Sistemas Computacionales

Organizador gráfico

P á g i n a 1 | 11
Licenciatura en Ingeniería en Sistemas Computacionales

Índice

Organizador gráfico ............................................................................................................................................................................. 1

Índice ......................................................................................................................................................................................................... 2

Conceptos Básicos de Programación ........................................................................................................................................... 3

Programar .......................................................................................................................................................................................... 3

Lenguaje ............................................................................................................................................................................................. 4

Algoritmo: análisis y comprensión de un problema........................................................................................................... 7

Programas y paradigmas de un lenguaje .............................................................................................................................. 8

Transformación de un programa ........................................................................................................................................... 10

P á g i n a 2 | 11
Licenciatura en Ingeniería en Sistemas Computacionales

Conceptos Básicos de Programación

Programar

Un programa informático se define como un conjunto de instrucciones

que, una vez ejecutado, realiza una o varias tareas en una computadora.
💡
De esta forma, sin programas, una computadora no puede realizar las

actividades para las que fue diseñada y creada.


Los software de
desarrollo muchas
El conjunto general de programas que posee una computadora se veces se clasifican
dentro del software
denomina software, término que se utiliza para definir al equipamiento de aplicaciones, ya
que dependen de un
o soporte lógico de una computadora. sistema operativo
para funcionar.

El software se puede clasificar en tres tipos:

 Software de sistema: Está integrado por un conjunto de programas y rutinas que

controlan la operación y funcionamiento del hardware y otras aplicaciones. Estos

P á g i n a 3 | 11
Licenciatura en Ingeniería en Sistemas Computacionales

son los que conocemos como Sistemas Operativos como Windows, MacOS y

Linux.

 Software de aplicación: Es el conjunto de aplicaciones que permiten explotar el

poder de la computadora y ayudan a las personas, grupos de trabajo y a toda la

organización, a resolver problemas y realizar tareas específicas o comunes;

Tenemos como ejemplo Office, Google Chrome, AutoCAD, Photoshop, etc.

 Software de desarrollo: Todos los sistemas de software están escritos mediante

un esquema de codificación o lenguaje de programación, que permite construir

paquetes de instrucciones (programas) que le indican al sistema de cómputo lo

que debe hacer.

Lenguaje

En términos generales, un lenguaje de programación es una herramienta que permite

desarrollar software o programas para computadora.

Los lenguajes de programación son empleados para diseñar e implementar programas

encargados de definir y administrar el comportamiento de los dispositivos físicos y

lógicos de una computadora.

Un lenguaje de programación es un caso particular del lenguaje informático; este último

permite hacer programas, pero también describir datos, configuraciones físicas y

protocolos de comunicación entre equipos y programas.

P á g i n a 4 | 11
Licenciatura en Ingeniería en Sistemas Computacionales

Un ejemplo de lenguaje informático es el XML (Extensible Markup

Language). Este lenguaje de marcado por etiquetas permite realizar 💡


almacenar información en un archivo estructurado de una manera

sencilla. Sin embargo, este archivo no genera ningún tipo de Los lenguajes de
alto nivel facilitan el
instrucción.
desarrollo de
sistemas, ya que al
Existen varios tipos de lenguajes de programación, dependiendo si las ser su estructura
muy similar a los
instrucciones son más parecidas a palabras comunes que a claves o lenguajes naturales
permiten enfocarse
abreviaturas simples. Esto se le conoce como nivel de abstracción. en la lógica más
que en el propio
lenguaje.

P á g i n a 5 | 11
Licenciatura en Ingeniería en Sistemas Computacionales

Dependiendo del nivel de abstracción, se clasifican en:

 Lenguaje máquina: Es el sistema de códigos interpretable directamente por un

circuito microprogramable, como el microprocesador de una computadora. Este

lenguaje se compone de un conjunto de instrucciones que determinan acciones

que serán realizadas por la máquina. En este lenguaje, todas las instrucciones se

construyen usando unos y ceros por lo que también se le conoce como lenguaje

binario.

 Lenguajes de bajo Nivel: son aquellos que proporcionan poca o ninguna

abstracción del microprocesador de una computadora. Consecuentemente, su

traslado al lenguaje máquina es fácil. Estas son palabras claves que representan

código máquina, lo que facilita la lectura y el desarrollo. Estos tipos de lenguajes

están muy relacionados con la arquitectura del hardware.

 Lenguajes de alto nivel: se caracterizan porque su estructura semántica es muy

similar a la forma como escriben los humanos, lo que permite codificar los

algoritmos de manera más natural, en lugar de codificarlos en el lenguaje binario

de las máquinas, o a nivel de lenguaje ensamblador.

P á g i n a 6 | 11
Licenciatura en Ingeniería en Sistemas Computacionales

Algoritmo: análisis y comprensión de un problema

Un algoritmo constituye una lista bien definida, ordenada y finita de

operaciones, que permite encontrar la solución a un problema


💡
determinado. Dado un estado inicial y una entrada, es a través de pasos

sucesivos y bien definidos que se llega a un estado final, en el que se


Muchas veces este
obtiene una solución (si hay varias) o la solución (si es única). proceso es
subestimado, sin
embargo es uno de
Un algoritmo puede ser expresado en: los más importantes
en el desarrollo de
sistemas y
 Lenguaje natural (a veces, este no resulta muy claro, pero es aplicaciones, ya que
permite entender
muy útil para problemas simples) claramente el
problema.
 Pseudocódigo

 Diagramas de flujo

Las etapas de desarrollo de un algoritmo, con base en la lógica, son las siguientes:

1. Definición. En esta etapa se especifica el propósito del algoritmo y se ofrece una

definición clara del problema por resolver. Además, aquí también se establece lo

que se pretende lograr con su solución.

2. Análisis. En este punto se analiza el problema y sus características, y se

determinan las entradas y salidas del problema. De igual modo, también se realiza

una investigación sobre si ya se conoce alguna o varias soluciones de este. En el

caso de que ya se conozcan varias soluciones, entonces se determina cuál es la

más conveniente para el problema que estamos tratando. Si no se conoce

ninguna, o no nos satisfacen las soluciones existentes, se propone una nueva.

P á g i n a 7 | 11
Licenciatura en Ingeniería en Sistemas Computacionales

3. Diseño. Aquí es donde se plasma la solución del problema. Con ese fin, se emplea

una herramienta de diseño, que consiste en el diagrama de flujo y el

pseudocódigo.

4. Implementación. En este último paso es donde se realiza o se ve concretado el

programa y, por ende, se hacen varias pruebas.

Programas y paradigmas de un lenguaje

Un programa informático se define como un conjunto de instrucciones que, una vez

ejecutado, realiza una o varias tareas en una computadora. De esta forma, sin programas,

una computadora no puede realizar las actividades para las que fue diseñada y creada.

El conjunto general de programas que posee una computadora se denomina software,

término que se utiliza para definir al equipamiento o soporte lógico de una computadora.

Un programa se escribe con instrucciones en un lenguaje de programación, el cual, a su

vez, está defi nido por su sintaxis, que establece e indica las reglas de escritura (la

gramática), y por la semántica de los tipos de datos, instrucciones, definiciones, y todos

los otros elementos que constituyen un programa.

A su vez, un paradigma de programación provee (y determina) la visión y los métodos de

un programador en la construcción de un programa o subprograma. Existen diferentes

P á g i n a 8 | 11
Licenciatura en Ingeniería en Sistemas Computacionales

paradigmas que derivan en múltiples y variados estilos de programación y en diferentes

formas de solución de problemas:

 PARADIGMA IMPERATIVO: En este paradigma se impone que 💡


cualquier programa es una secuencia de instrucciones o

comandos que se ejecutan siguiendo un orden de arriba hacia Cada lenguaje ofrece
ventajas sobre otros
abajo; este único enlace del programa se interrumpe dependiendo del
problema a resolver.
exclusivamente para ejecutar otros subprogramas o Es importante
evaluarlos antes de
funciones, después de lo cual se regresa al punto de elegir con cual
trabajar.
interrupción.

 PARADIGMA ESTRUCTURADO: Este paradigma es un caso particular de

paradigma imperativo, por lo que se imponen únicamente algunas estructuras de

código, prohibiendo una continuación del cálculo de manera caótica. Por ejemplo,

se impone que las instrucciones sean agrupadas en bloques (procedimientos y

funciones) que comunican; por tanto, el código que se repite tiene la forma de un

ciclo (loop, en inglés), gobernado por una condición lógica.

 PARADIGMA DECLARATIVO: Un programa describe el problema a solucionar y la

manera de resolverlo, pero no indica el orden de las acciones u operaciones que

se deben seguir. En este caso, hay dos paradigmas principales: Funcionales y

Lógicos.

P á g i n a 9 | 11
Licenciatura en Ingeniería en Sistemas Computacionales

Transformación de un programa

Un programa de usuario recorre el siguiente camino hasta su ejecución:

 Edición: Con un editor de texto se escribe el programa en el lenguaje elegido.

 Compilación: En lenguaje de alto nivel, el código fuente se transforma en

instrucciones para la máquina (código objeto o código ejecutable).

 Enlazado: Un ejecutable se construye con códigos objeto (uno o más) y librerías de

funciones, entre otros.

P á g i n a 10 | 11
Licenciatura en Ingeniería en Sistemas Computacionales

El código fuente es el conjunto de archivos que conforman el programa que se está

desarrollando, y esta codificación en algún lenguaje de programación. Estos pasan por un

compilador que es un programa que tiene todas las reglas del lenguaje y verifica que

cumpla con todas ellas: por medio de análisis sintáctico revisa que las instrucciones

están escritas en el formato adecuado. El análisis léxico verifica que se estén usando las

palabras propias del lenguaje, y aquellas que hayamos creado nosotros están definidas;

y el análisis semántico se centra en que las instrucciones tengan sentido entre ellas.

Una vez hecho esto, el compilador empieza a generar un código intermedio el cual es

similar al código máquina pero sin ninguna optimización, el cual es una siguiente etapa

cuyo fin es pulir el código, evitando conversiones innecesarias o ajustando el orden de

ejecución conforme al sistema operativo objetivo. Al final de este paso, se obtiene un

código objeto el cual ya está listo para ser convertido a un programa.

Es muy probable que un programa que se compila y se ejecuta por primera vez tenga

errores de compilación. También es probable que, después de un tiempo de ejecución, el

programa tenga errores lógicos de ejecución; en este caso, se regresa a la edición del

código fuente inicial, con el fin de corregir los errores, y luego se desarrollan las otras

etapas, hasta la construcción del ejecutable

P á g i n a 11 | 11

Common questions

Con tecnología de IA

The compilation process verifies and converts high-level code to machine-executable form through stages including syntax, lexical, and semantic analyses. It ensures code correctness against language rules and transforms it into an intermediary form for optimization. This process is essential for creating runnable executables, handles error checking, and streamlines program performance, crucial for reliable software operation .

Software of system refers to the set of programs and routines that control the operation of hardware and other applications, such as operating systems like Windows, MacOS, and Linux. Software of application comprises applications that exploit the computer's power to help individuals and organizations solve specific tasks, like Office or AutoCAD. Software of development involves coding schemes or programming languages used to write software, allowing computers to understand instructions. These distinctions highlight how system software facilitates fundamental operations, application software addresses user tasks, and development tools enable software creation .

Programming paradigms define the approach to solving problems, influencing program structure and logic. Imperative paradigms focus on sequential commands; structured paradigms refine this by grouping instructions into blocks and controlling flow via conditions. Declarative paradigms, including functional and logical styles, assert "what" instead of "how," specifying desired outcomes rather than execution steps. These paradigms impact program design, readability, and suitability for tasks, illustrating diverse methods of logic application .

High-level languages simplify concept translation into code due to their resemblance to human language, enhancing readability and logic focus. They abstract intricate machine processes into more comprehensible commands, facilitating simpler debugging and faster prototyping. Low-level languages, although efficient close to hardware, require detailed, time-consuming coding for each operation, increasing complexity and potential for errors .

The abstraction level impacts development significantly. High-level languages, similar to natural human languages, focus on logic instead of syntax, enhancing understandability and easing complex problem-solving. Conversely, low-level languages are closer to machine code, offering less abstraction, which suits hardware-specific tasks but requires intricate programming. Abstraction affects readability, ease of debugging, and development speed, making high-level languages preferable for broader application .

Transforming code involves editing, compiling, and linking. Editing writes code per language syntax; compilation translates it into machine code, utilizing syntax, lexical, and semantic checks; linking combines code objects with libraries into an executable. Errors can arise due to syntax mistakes during editing, semantic faults in compilation, or unresolved links causing runtime issues. Each step plays a critical role in producing a functioning program .

Algorithm development ensures clear problem understanding and solution structuring through defined stages: definition, analysis, design, and implementation. Definition sets clear goals; analysis assesses characteristics, inputs, and existing solutions; design translates solutions into pseudocode or flowcharts; and implementation finalizes programming and testing. These steps aid in clarity, correct functionality, and efficiency, forming a foundation for robust programs .

Evaluating paradigms is essential due to their varied strengths and suitability for specific problems. Imperative helps with procedural tasks, structured aids organization, while declarative, functional or logical paradigms simplify problems needing complex data relations or calculations. Choosing improperly may hinder problem resolution efficiency, so understanding each paradigm’s capabilities ensures optimal methodology adoption .

During analysis, understanding problem characteristics and identifying appropriate inputs/outputs pose challenges, as does investigating multiple existing solutions. The solution requires thorough examination and comparison to select or innovate the most effective method. Overlooking this phase may lead to inaccurate problem-solving without clear insight into requirements or boundaries, thus compromising algorithm effectiveness .

Paradigms shape programming styles through their core philosophies. Imperative paradigms offer direct command execution for linear tasks. Structured paradigms embed precise control structures, improving code organization and error handling. Declarative paradigms emphasize solution description over steps, fostering easier logic expression and application in domains like AI. Differing paradigms promote specialized, context-specific problem-solving approaches, each with unique advantages in clarity and efficiency .

También podría gustarte