Está en la página 1de 53

Programación en C Ángel Delgado Herrador

PROGRAMACIÓN EN C
TEMA 1.-. INTRODUCCIÓN A LA PROGRAMACIÓN
a) CONCEPTO DE ALGORITMO.

• Metodología de la Programación para resolver problemas mediante


programas.
• Algoritmo. Es el método para resolver problemas. Proviene de
Mohammed al.Khowârizmi (apellido que en latín es Algoritmos).

b) Pasos en la resolución de un problema:

• Diseño del Algoritmo: Análisis del problema y desarrollo del


Algoritmo.
• Fase de codificación.
• Ejecución y validación por la computadora.

c) Características de los Algoritmos:

• Preciso: Orden de realización cada paso.


• Definido: Siempre obtiene el mismo resultado.
• Finito: Nº de pasos finito.

d) El Algoritmo describe tres partes:

• Entrada
• Proceso Programa (Receta de Cocina)
• Salida Pág. 16 y 17.- 1.1 y 1.3

SOFTWARE
El software se divide en:

• Software de Sistemas. Ej. Sistemas Operativos.


• Software de Aplicaciones. Ej. Word, Excel.
• Lenguajes de Programación. Permite la comunicación usuario/máquina.

Lenguajes de Programación
Los lenguajes son utilizados para escribir programas entendibles por la máquina.
Los programadores son los diseñadores de programas

Tipos de lenguajes:

• Lenguajes Máquina: 0 y 1.
• Lenguajes de Bajo Nivel (ensamblador): Con letras como SUM, MOV, Etc.
• Lenguajes de Alto Nivel: C, VisualBasic, Fortran, etc.

Página 1 de 53
Programación en C Ángel Delgado Herrador

Las Instrucciones de la computadora son:

• Instrucciones de entrada/sallida.
• Instrucciones aritmético-lógicas.
• Instrucciones selectivas.
• Instrucciones repetitivas.

Lenguaje Máquina.

• Son lenguajes en lenguaje directamente inteligibles por la máquina.


• Son cadenas binarias: 0 y 1.
• Código binario indica la operación y posiciones (direcciones en memoria).

Ventajas:

Posibilidad de cargar el programa a la memoria sin traducción posterior.

Inconvenientes:
- Dificultad y lentitud.
- Poca fiabilidad.
- Dificultad verificar y poner a punto programas.
- Programas sólo ejecutables en el mismo procesador.

Lenguaje de Bajo Nivel

• Depende de la máquina en particular.


• Por excelencia es el Ensamblador.
ƒ Instrucciones: Son nemotécnicos ADD, SUB, DIV, Etc.

• Necesita Fase de Traducción al lenguaje máquina:

Programa - Programa Original--Æ Programa Fuente


Ensamblador
Traductor - Lenguaje Máquina Æ Programa Objeto

Ventajas:

Facilidad de Codificación.

Inconvenientes:
- Depende de la máquina.
- Formación Programas compleja; Necesita el conocimiento de técnicas de
programación y el interior de la máquina.

Página 2 de 53
Programación en C Ángel Delgado Herrador

Lenguaje de Alto Nivel.

• Son los lenguajes más utilizados por los programadores.


• Son portables o transportables.

Ventajas:

- Tiempo de Formación de los Programadores es relativamente corto.


- Escritura: Regles sintácticas similares a los lenguajes humanos. Ej.: read,
write, print, etc.
- Modificaciones o puesta a punto fáciles.
- Reducción costes de los programas.
- Transportabilidad.

Inconvenientes:
- Incremento del tiempo (tº) de la puesta a punto.
- No aprovechan los recursos internos de la máquina.
- Aumento de la ocupación de la memoria.
- El tiempo (tº) de ejecución es mayor.

Traductores de Lenguaje.
Son programas que traducen programas fuente escritos en lenguajes de alto nivel
a código máquina.

Se dividen en:
- Intérpretes.
- Compiladores.

Intérpretes.

Es un traductor de programa fuente y lo ejecuta (tº real). Ej. Basic, etc. Ej.:
Internet Explorer.

Programa Fuente

Intérprete

Traducción y Ejecución
Línea a Línea

Página 3 de 53
Programación en C Ángel Delgado Herrador

Compiladores.

Traduce los programas fuentes escritos en lenguajes de alto nivel a lenguajes


máquina (programa objeto). Ej.: C, Fortran, etc. Ej. Crea un fichero EXE.

Programa Fuente

Compilador

Programa
Objeto

Fases de Compilación:
(Pág. 24)

Programa
Programa Compilador Programa Ejecutable
Montador
Fuente Traductor Objeto en
Lenguaje
Máquina

Proceso de Ejecución:

- Escritura del programa fuente con un editor.


- Introducir el programa fuente en memoria (guardar en disco).
- Compilar el programa con el compilador C.
- Verificar y corregir errores de compilación.
- Obtención programa objeto.
- El enlazador (linker) obtiene el programa ejecutable.
- Se ejecuta, y si no tiene errores, se tendrá la salida del programa.

Página 4 de 53
Programación en C Ángel Delgado Herrador

Lenguaje C: Historia y Características.

- Es el lenguaje de Programación de sistemas, por excelencia.


- Asociado al Sistema Operativo UNIX.
- C nació en 1978 por Brian Kernighan y Dennos Ritchie.
- En 1983 aparece un estándar de C, el ANSI (Ej. Tornillo , hacen
estándares, normas).
- C es un lenguaje de alto nivel. (lenguaje estructurado y el más utilizado).

Versiones actuales de C.

- ANSI C .- 83.
- C++ (Orientado a objetos, VisualBasic) sobre los 80 y 90.
- C# (para Internet (JAVA) . Año 2000.

Página 5 de 53
Programación en C Ángel Delgado Herrador

TEMA 2.-. FUNDAMENTOS DE PROGRAMACIÓN

Fases en la Resolución de Problemas.

Las fases de resolución de un problema son:

- Análisis del problema.


- Diseño del Algoritmo.
- Codificación.
- Compilación y ejecución.
- Verificación.
- Depuración.
- Mantenimiento.
- Documentación.

A esto se le conoce como “ciclo de vida” del software.

* Características de un algoritmo:

- Preciso: debe indicar el orden de realización en cada paso.


- Definido: si se sigue dos veces, obtiene el mismo resultado.
- Finito: tiene fin, un nº determinado de pasos.

Análisis del Problema.


Es lo que debe hacer el programa y el resultado o solución deseada.

Diseño de un algoritmo.
- Concepto de divide y venceras: dividir tu problema en módulos, en
partes, para la resolución de un problema complejo.
- Diseño descendente ó modular (top-down).
- Consta de un programa principal que llama a subprograma/s,… y así
sucesivamente (esto es para cualquier programa bien diseñado).

Herramientas de Programación.
1. Diagramas de Flujo (flowchart) : Es la representación gráfica de un algoritmo.
Existen símbolos Normalizados por ANSI.

2. Pseudocódigo: Es una herramienta de programación en la que las instrucciones


se escriben en palabras similares al inglés o español.

Ejemplos: Pág. 34 y 35 (Ver ejemplos).

Página 6 de 53
Programación en C Ángel Delgado Herrador

Pág. 34.- Paga Neta (Ejemplo 2.1)

Inicio

Escribir horas,
Tarifa, tasa

PagaBruta Horas*Tarifa
Impuestos PagaBruta*Tasa
PagaNeta PagaBruta-Impuestos

Visualizar:
PagaBruta
Impuestos
PagaNeta

FIN

A partir del punto 2.5 ---ÆNO

Página 7 de 53
Programación en C Ángel Delgado Herrador

Inicio

Contados 1
Suma 0

no
Contador<=100

si
Suma Suma+Contador

FIN

Contador Contador+1

Suma

Página 8 de 53
Programación en C Ángel Delgado Herrador

Codificación de un Programa.
Escritura en lenguaje de Programación de la representación de un algoritmo.

Documentación Interna.

- Interna: Es la que se incluye dentro del Código. Ej. * Æ son comentarios


de un programa

- Externa: Es los manuales de usuario, pseudocódigos, diagramas de flujo,


etc.

Compilación y ejecución de un programa.

traducido
El programa fuente lenguaje máquina (lo realiza el compilador)

Si hay errores (se corrigen los errores y se compila de nuevo)

obteniendo

programa objeto

(link) montaje ó enlace

programa ejecutable

Verificación y Depuración de un Programa.


Es el testeo de errores:

1. Errores de compilación: errores de sintaxis.


2. Errores de ejecución: Ej. División por cero, etc.
3. Errores lógicos: Ej. Bucle infinito y no lo detecta, etc.

Documentación y mantenimiento.
Son los descriptores de los pasos a dar en el proceso de resolución de n
problema.

Página 9 de 53
Programación en C Ángel Delgado Herrador

Programa modular.
- Método Flexible y potente.
- El programa lo divide en módulos.

Ej. Pág. 39 de Módulos.

Programación Estructurada.
- Programa con diseño Modular.
- Los módulos son diseñados de modo descendente.
- Cada módulo se codifica utilizando las tres estructuras de control
básicas: secuencias, selección y repetición.

Incorpora técnicas de:

- Recursos Abstractos: Descomponer acciones complejas en acciones más


sencillas entendibles por el ordenador.
- Diseño descendente: Top-Down.
- Estructuras básicas de control:

- Secuencial
- Selección Æ Crea Programas sólo con estos tipos de
- Repetición estructura de control.

Representación Gráfica de los Algoritmos.


Existen distintos métodos, pero los más utilizados son los Diagramas de flujos
(flowchart).

Diagramas de flujos (flowchart).


Son cajas unidas con flechas.
Ir a pág 43, 44 Æ explico símbolos.
Seguir pág 44, 45, 46, 47, 48, 49, 50 y 51.

Página 10 de 53
Programación en C Ángel Delgado Herrador

Ejercicios.(Pág. 65 verlos detenidamente).


1.- Diseñar un algoritmo que lea tres números y encuentre si uno de ellos es la suma de
los otros dos.

Solución:

a) Pseudocódigo:

Programa: Suma
Inicio
Leer n1, n2, n3
Si n1=n2+n3
Escribir “n1 es la suma de los otros dos”
Sino
Si n2=n1+n3
Escribir “n2 es la suma de los otros dos”
Sino
Si n3=n1+n2
Escribir “n3 es la suma de los otros dos”
Finsi
Finsi
Finsi
Fin

Página 11 de 53
Programación en C Ángel Delgado Herrador

b) Diagrama de flujo:

Inicio

Leer n1, n2, n3

si no
n1=n2+n3

si no
n1 es la suma n2=n1+n3
n2+n3

n2 es la suma si no
n3=n1+n2
n1+n3

n3 es la suma Ninguno es
n1+n2 la suma

FIN

Página 12 de 53
Programación en C Ángel Delgado Herrador

2.- Realizar el algoritmo para calcular el área de un rectángulo. Introducir base y altura.

Solución:

a) Pseudocódigo:

Programa: Area
Entorno
base y altura son numéricas
Inicio
Escribir “Introducir la base y la altura”
Leer base, altura
Calcular area Å base*altura
Escribir “el area del rectángulo es el siguiente área”
Fin

b) Diagrama de flujo:

Inicio

Leer base, altura

area Å base*altura

Visualiza area

FIN

Página 13 de 53
Programación en C Ángel Delgado Herrador

3.- Ir al cine

Solución:

a) Pseudocódigo:

Programa: Cine
Inicio
Mirar la cartelera
Si el cine es apto para niños entonces
Comprar la entrada
Sino
Ahorrar la propina
finsi
fin

4.- Realizar en pseudocódigo que representa un algoritmo que reciba como dato de
entrada el valor de una temperatura expresada en grados centígrados y nos calcule y
escriba sus equivalentes en grados Reamhur, grados Fahrenheit y grados Kelvin.

100º Centígrados=80º Reamhur=212º Fahrenheit=373º kelvil


0º Centígrados=0º Reamhur=32º Fahrenheit=273º kelvil

Programa: Grados

Inicio
Declarar Celsius, kelvin, reamhur, Fahrenheit (son numéricas enteras)

Escribir “Introduzca la temperatura en grados Celsius”


Leer Celsius

reamhur Å celsius*0,8
fahrenheit Å Celsius *1,8+32
kelvin Å Celsius+273

escribir reamhur, Fahrenheit, kelvin


Fin

Página 14 de 53
Programación en C Ángel Delgado Herrador

5.- Realizar el pseudocódigo que permita saber si un número es mayor, menor ó igual a
cero.

Programa: Números

Inicio
numero Å 0
leer numero
si numero >0 entonces
escribir “El número introducido es positivo”
sino si numero<0 entonces
escribir “El número introducido es negativo”
sino
escribir “El número introducido es cero”
finsi
finsi
finsi

6.- Realiza un algoritmo en pseudocódigo y ordinograma para obtener el factorial de un


número cualquiera.

Por ejemplo el factorial se consigue:


N!=N*(N-1)*(N-2)…..*1
6!=6*(6-1)*(6-2)*(6-3)….=6*5*4*3*2*1=720
Solución

Programa: Factorial de un número.

Inicio
Leer numero
factorial=1
mientras número<>0 hacer
factorial Åfactorial*numero
numero Å numero-1
finmientras
escribir factorial
Fin

Página 15 de 53
Programación en C Ángel Delgado Herrador

Inicio

Leer numero

factorial=1

no
numero>=1

si

factorial=factorial*numero
numero=numero-1

Escribir factorial

FIN

Página 16 de 53
Programación en C Ángel Delgado Herrador

7.- Realiza el pseudocódigo que permita al usuario introducir por teclado 2 notas,
calculando la suma y el producto de las notas.

Programa: Cálculo

Inicio
suma, producto, nota1, nota2 son números enteros
escribir “Introducir las 2 notas”
leer nota1, nota2
suma Å nota1+nota2
producto Å nota1*nota2
visualizar “la suma y el producto son:” suma, producto
Fin

Diagrama de flujo:

Inicio

Leer
Leernota1, nota2
base, altra

Suma Å nota1+nota2
producto Å nota1*nota2

Visualiza suma,
producto

FIN

Página 17 de 53
Programación en C Ángel Delgado Herrador

8.- Nos encontramos en la sesión de evaluación en el ciclo de Marketing y Sistemas


Informáticos. Se pide realizar el pseudocódigo que calcula cuantas notas están
aprobadas de una lista de 50 notas.

Programa: Aprobados

Inicio
Numero (contador de repetición) numérica entera
Aprob (contador de aprobados) numérica entera
Nota numérica entera

Aprob=0
Numero=0
Mientras Numero <> 50 hacer
Numero Å Numero+1
Leer nota
Si nota >=5 entonces
Aprob Å Aprob+1
Finsi
FinMientras
Escribir “El número de aprobados es” Aprob
Fin

9.- Realizar el pseudocódigo que sume los 1.000 primeros números.

Programa: Primeros

Inicio

Suma Å 0
Contador Å 1
Mientras contador <=1000 hacer
Suma Å Suma+Contador
Contador Å Contador+1
FinMientras
Escribir “La suma es:”, Suma
Fin

Página 18 de 53
Programación en C Ángel Delgado Herrador

10.- Realizar el pseudocódigo que visualiza los 25 primeros nombres introducidos por
teclado.

Programa: Nombres

Inicio
Numero Å 0
Mientras Numero < 25 hacer
Escribir “Introducir el nombre:”
Leer Nombre
Escribir “El nombre es:” Nombre
Numero Å Numero+1
FinMientras
Fin

11.-Realizar un pseudocódigo que suma los números pares entre 1 y50.

Programa: Pares

Numero Æ Entero
Suma Æ Entero

Inicio

Suma Å 0
Numero Å 2

Mientras (Numero <=50) hacer


Suma Å Suma + Número
Numero Å Numero+2
FinMientras
Escribir “La suma es:” Suma
Fin

Página 19 de 53
Programación en C Ángel Delgado Herrador

12.- Introducir un número de mes y visualizar la estación del año al que pertenecer.
Realizar el pseudocódigo y diagrama de flujo.

a) Pseudocódigo

Programa: Estación

Inicio

Leer mes
Si (mes>=4 y mes <=6)
Visualiza “Primavera”
Sino si (mes>=7 y mes <=9)
Visualiza “Verano”
Sino si (mes>=10 y mes <=12)
Visualiza “Otoño”
Sino si (mes>=1 y mes <=3)
Visualiza “Invierno”
Sino
Visualiza “Mes Incorrecto”
Finsi
Finsi
Finsi
Finsi
Fin

Página 20 de 53
Programación en C Ángel Delgado Herrador

Inicio

Leer mes

si
mes>=4 y mes <=6

no
Visualizar
Primavera
si
mes>=7 y mes <=9

no
Visualizar
si Verano
mes>=10 y mes <=12

no
Visualizar
si Otoño
mes>=1 y mes <=3

no
Visualizar
Visualizar Invierno
Mes Erroneo

FIN

Página 21 de 53
Programación en C Ángel Delgado Herrador

13.- Realizar un pseudocódigo que permita visualizar un mensaje dependiendo de la


tecla que pulsemos.

MENU PRINCIPAL
1.- Procesador de Textos
2- Hoja de Cálculo
3.- Base de Datos

Programa: Menú

Inicio

Leer opcion
Si opcion=1
Escribir “ Procesador de Textos”
Sino si opcion=2
Escribir “Hoja de Cálculo”
Sino si opcion=3
Escribir “Base de Datos”
Sino
Escribir “Pulsación Erronea”
Finsi
Finsi
Finsi
Fin

Página 22 de 53
Programación en C Ángel Delgado Herrador

Inicio

Leer opcion

si
Opcion=1

no
Visualizar
Procesador
si Textos

Opcion=2

no Visualizar
Hoja de Cálculo
si
Opcion=3

no Visualizar
Base de Datos

Visualizar
Opción Erronea

Fin

Página 23 de 53
Programación en C Ángel Delgado Herrador

14.- Determine si un número es par o impar. Realiza el Pseudocódigo.

Programa:ParImpar

Inicio
Declara variable flotante numero

Escribir “Introduzca un número Entero”


Leer numero
Si numero/2=entero(numero/2) entonces
Escribir “El numero es par”
Sino
Escribir “El numero es impar”
Finsi
Fin

15.-Calcula el promedio de notas de una clase de 8 personas. (También calcula la media


de aprobados y la media de suspensos).

Programa: Promedio

Inicio
Declara variable flotante nota
Declara variable flotante promedio
Declara variable flotante suma

suma Å 0
AlumnoÅ0
Para Alumno=1 hasta 8 hacer
Escribir “Alumno nº” Alumno
Escribir “Digame su nota:”
Leer nota
Suma Å suma+nota
FinPara
Escribir “El promedio es:”, suma/8
Fin

Página 24 de 53
Programación en C Ángel Delgado Herrador

16.-Calcula en pseudocódigo el área y volumen de la circunferencia.

Programa: Circunferencia

Inicio
Declarar, area, volumen, circunferencia
∏ Å 3,1416
rÅ0
area Å 0
volumen Å 0
circunferencia Å 0
leer r

circunferencia Å 2* ∏ * r
area Å ∏* sqrt(r)
volumen Å 4/3*∏*(r*r*r)
visualizar circunferencia, area, volumen
fin

17.- Realizar el pseudocódigo que nos permita saber el mayor de los números
introducidos

Programa: Mayor

Inicio

Leer numa,numb
Si numa > numb entonces
Escribir “numa es al mayor”
Sino si numb > numa entonces
Escribir “numb es el mayor”
Sino
Escribir “numa y numb son iguales”
Finsi
Finsi
Fin

Página 25 de 53
Programación en C Ángel Delgado Herrador

Inicio

Leer numa,numb

si
numa>numb

no Visualizar
Visualizar
numb es el
numa es el
mayor
si mayor
numb>numa

no Visualizar
numb es el
mayor

Visualizar
Numa y numb
son iguales

FIN

Página 26 de 53
Programación en C Ángel Delgado Herrador

18.- En nuestro centro de enseñanza tenemos almacenados los profesores que impartirán
clase en el curso académico 2003-2004. Se pide saber cuántos son los profesores
masculinos y los femeninos mayores de 45 años para realizar un cursillo.

Programa: Profesores

Entorno:
hombre numérico entera
mujer numérico entera
contador, nprofe,sexo, edad numérico entera

Inicio
hombre Å 0
mujer Å 0
contador Å 0
leer nptofe
mientras (nprofe >= contador) hacer
leer sexo, edad
contador Å contador+1
si edad >45
si sexo =1 entonces
mujer Å mujer+1
sino
hombre Å hombre+1
finsi
finsi
escribir hombre, mujer
finmientras
fin

Página 27 de 53
Programación en C Ángel Delgado Herrador

19.- Pedir 5 números y calcular la media.

Programa: Media

Inicio
numero Å 0
suma Å 0
media Å0
i Å0
mientras i<5 hacer
i Å i+1
leer numero
suma Å suma+numero
finmientras
media Å suma/5
visualizar media
Inicio
fin

numero=0, suma=0
media=0, i=0

i<5 no

si
i=i+1

leer numero

Suma=suma+numero

media=suma/5

Visualizar media

Página 28 de 53
Programación en C Ángel Delgado Herrador

20.- Realiza un programa en pseudocódigo en el cual lea 10 números y nos devuelva el


mayor y el menor. Realiza también su ordinograma (diagrama de flujo).

Programa: Mayor-Menor

Inicio
menor Å 0
mayor Å 0
iÅ0
numero Å0
leer numero
mayor Å numero
menor Å numero
mientras i < 9
leer numero
i=i+1
si (menor > numero)
menor Å numero
finsi
si (mayor < numero)
mayor Å numero
finsi
finmientras
visualizar menor y mayor
Fin

Página 29 de 53
Programación en C Ángel Delgado Herrador

Inicio
Inicio

menor=0, mayor=0
numero=0, i=0

leer numero

mayor Å numero
menor Å numero

no
i<9

i=i+1

leer numero

si menor >numero

mayor=numero
no

si mayor >numero

mayor=numero

FIN

Página 30 de 53
Programación en C Ángel Delgado Herrador

21.- Realiza el pseudocódigo y diagrama de flujo de los números primos del 0 al 99.

Programa: Primos

Inicio
primo Å 1 (verdadero)
iÅ0
jÅ0
mientras i < 100
i Å i+1
j=2
mientras j < i/2
j Å j+1
si i modulo j = 0
primo Å 0 (falso)
finsi
finmientras
si (primo=1) entonces
visualiza i
sino
primo Å1
finsi
finmientras
Fin

Página 31 de 53
Programación en C Ángel Delgado Herrador

Inicio

primo=1
i=0, j=0

i < 100

iÅ i+1
jÅ2

j < i/2

si i modulo j=0
primo = 0
no

j=j+1

si primo=1

Visualiza i
primo=1

FIN

Página 32 de 53
Programación en C Ángel Delgado Herrador

22.- Realiza la serie de Fibonacci, tanto en pseudocódigo como su diagrama de flujo.

Programa: Fibonaci

Inicio
i Å 2 (pq tiene 2 términos)
n1 Å 0
n2 Å 1
n3 Å 0
terminos=0
leer terminos
si terminos > 2
visualiza n1, n2
mientras i < terminos hacer
i Å i+1
n3 Å n1+n2
visualiza n3
n1 Å n2
n2 Å n3
finmientras
sino
visualiza “terminos < 2”
finsi
Fin

Página 33 de 53
Programación en C Ángel Delgado Herrador

Inicio

terminos=0,i=2
n1=0, n2=1, n3=0

Leer terminos

no
terminos>2

si Visualiza terminos<2

Visualiza n1,n2

no
i < terminos

si

i=i+1

n3=n1+n2

Visualiza n3

n1=n2
n2=n3

FIN

Página 34 de 53
Programación en C Ángel Delgado Herrador

23.- m/s 1500 metros(m,s)

(m,s) y velocidad media. Hacer pseudocódigo y diagrama de flujos.

Programa: Velocidad

Inicio
segundos Å 0
minutos Å 0
velocidad Å0
leer minutos y segundos
mientras minutos <> 0 ó segundos <> 0 hacer
velocidad Å (1500)/(minutos*60+segundos) (m/s)
visualiza minutos, segundos, velocidad
leer minutos y segundos
finmientras
Fin Inicio

segundos=0, minutos=0,
velocidad=0

Leer minutos, segundos

no
minutos<>0 ó segundos<>0

si

Velocidad=(1500)/(minutos*60+segundos)

Visualiza minutos, segundos y velocidad

Leer minutos, segundos

Fin

Página 35 de 53
Programación en C Ángel Delgado Herrador

24.- Realiza un programa para saber si un número (n) es primo. Hazlo en Pseudocódigo.

Programa: Primo

Inicio
primo Å 1 (verdadero)
iÅ2
leer n
mientras i < (n/2) hacer
si n modulo i = 0
primo Å 0 (falso)
finsi
i Å i+1
finmientras
si (primo=1)
visualiza “El nº es primo”
sino
visualiza “El nº no es primo”
finsi
Fin

Página 36 de 53
Programación en C Ángel Delgado Herrador

25.- Progresión aritmética de n elementos. VI, R, num. Realiza el pseudocódigo y el


diagrama de flujo.

Programa: Progresión aritmética

Inicio
iÅ0
leer VI, R, num
mientras i < num
visualiza VI
i Å i+1
VI Å VI+R
Finmientras
Fin

Inicio

i=0

Leer VI, R, num

no
i < num

Visualiza VI

VI= VI+R

Fin

Página 37 de 53
Programación en C Ángel Delgado Herrador

26.- Progresión geométrica de n elementos. VI, R, num. Realiza el pseudocódigo y el


diagrama de flujo.

Programa: Progresión aritmética

Inicio
iÅ0
leer VI, R, num
mientras i < num
visualiza VI
i Å i+1
VI Å VI*R
Finmientras
Fin

Inicio

i=0

Leer VI, R, num

no
i < num

Visualiza VI

VI= VI*R

Fin

Página 38 de 53
Programación en C Ángel Delgado Herrador

27.- Hace un programa que calcule la media de edades entre 10 y 70 años. Realiza el
pseudocódigo y el diagrama de flujo.

Programa: Media Edades

Inicio
suma Å 0
media Å 0
iÅ0
leer edad
mientras edad <> 0 hacer Inicio
si edad >= 10 y edad <= 70
suma Å suma +edad
Suma=0, media=0
i Å i+1 i=0

finsi
leer edad
Leer edad
finmientras
media Å suma/i
visualiza media no
edad<>0
Fin
si

no
edad>=10 y edad<=70

si

suma=suma+edad
i=i+1

Leer edad

media=suma/i

Visualiza media

FIN

Página 39 de 53
Programación en C Ángel Delgado Herrador

28.-Visualiza los múltiplos de 3 entre 1 y 100 de forma descendente. Hazlo en


pseudocódigo y diagrama de flujo.

Programa: Multiplo de 3

Inicio
i Å 100
mientras i > 0 hacer
si i modulo 3=0 entonces
visualiza i
finsi
i Å i-1
finmientras
Fin

Inicio

i Å 100

no
i>0

si

si
i modulo 3=0

no
Visualizar i

i = i-1

FIN

Página 40 de 53
Programación en C Ángel Delgado Herrador

29.- Escribir los múltiplos de 4 hasta N, donde N es un valor introducido por teclado.
Realiza el pseudocódigo.

Programa: Multiplo 4

Variables entero: N, multiplo, i

Inicio
iÅ0
leer N
mientras i < N hacer
multiplo Å 4*i
i Å i+1
visualizar multiplo
finmientras
Fin

Página 41 de 53
Programación en C Ángel Delgado Herrador

30.-Se desea obtener la nómina semanal – Salario neto de los empleados de una
empresa cuyo trabajo se paga por horas del modo siguiente:

• Las horas inferiores ó iguales a 35 horas/semanales (normales) se pagan a


una tarifa determinada que se debe introducir por teclado al igual que el
número de horas y el nombre del trabajador.
• Las horas superiores a 35 horas/semanales se pagarán como extras al precio
de 1,5 horas semanales (normales).
• Los impuestos a deducir a los trabajadores varían en función de su sueldo
semanal:
ƒ Sueldo <= 20.000, libre de impuestos.
ƒ Las siguientes 15.000, al 20%.
ƒ El resto al 30%.

Algoritmo: Nómina

Var cadena: nombre


Var real: horas, salario_semanal, salario_hora, sueldo_final

Inicio
Leer (nombre, horas, salario_hora)
Si hora > 35 entonces
salario_semanal Å 35*salario_hora+(horas-35)*1,5*salario_hora
Sino
salario_semanal Å salario_hora* horas
Finsi
Si salario_semanal <= 20.000 entonces
sueldo_final Å salario_semanal
Visualizar sueldo_final
Sino
Si salario_semanal > 20.000 entonces
Si salario_semanal <= 35.000 entonces
sueldo_final Å salario_semanal-salario_semanal*0,2
Sino
sueldo_final Å salario_semanal-salario_semanal*0,3
finsi
finsi
finsi
escribir nombre, sueldo_final
Fin

Página 42 de 53
Programación en C Ángel Delgado Herrador

31.- Diseñar un algoritmo que escriba el nombre de los días de la semana según el valor
de los días: 1.- lunes, 2.- martes, etc.

32.- En una empresa de construcción los salarios van a aumentar según el contrato
actual:

Contrato Aumento %

0 a 9.000 € 20
9.001 a 15.000 € 10
15.001 a 20.000 € 5
más de 20.000 € 0

Algoritmo: Salario

Variables SA, SN

Inicio
Leer salario actual SA

33.- De una serie de N números cuenta cuales son < 5, > 5 ó iguales a 5.

34.- Realiza un programa que cuente las vocales de una frase.

35.- Realiza el algoritmo:


- Clase 1 Æ 30 alumnos Æ ¿Cuántas son niñas?
- Clase 2 Æ 35 alumnos Æ ¿Cuántos son niños?

Página 43 de 53
Programación en C Ángel Delgado Herrador

Ejercicios de Paraninfo.-

1.- Diseño del algoritmo de un programa que lee M números y determinar cuáles son
pares y positivos

Programa: Positivo_y_Par

Variables entero: C, M, N
Variables real: R

Inicio
Leer M Inicio
CÅ0
Repetir
C=C+1 Leer M

Leer N
C=0
R Å N/2
Si N=int(R) *2
C=C+1
Si N>0
Escribir N, “es Positivo y Par”
Finsi Leer N

Finsi
Mientras C<M R=N/2

Fin

si no
N=int(R)*2

si no
N>0

Escribir N es
Positivo y Par

si
N>0

no

FIN

Página 44 de 53
Programación en C Ángel Delgado Herrador

2.- Algoritmo que multiplica los 20 primeros números impares y muestra el resultado
por pantalla.

Programa: Producto_Impar

Variables entero:C, Ac

Inicio
Ac Å0
C Å -1
Mientras C < 39
C Å C+2
Ac Å Ac *C
FinMientras
Escribir “El total es:” Ac
Fin

Inicio

Ac=1

C=-1

no C<39

si

C=C+2

Ac=Ac*C

Escribir Ac

FIN

Página 45 de 53
Programación en C Ángel Delgado Herrador

3.- Diseñar un algoritmo correspondiente a un programa, que calcule la suma de los 20


primeros números pares y el producto de los 20 primeros números impares
simultáneamente.

Programa: Suma_Par_Impar

Variables entero: SP, PI, C, SW

Inicio
SP Å p
PI Å 1
CÅ0
SW Å 0
Repetir
C Å C+1
Si SW=0
PIÅ PI*C
SW Å 1
Sino
SP Å SP+C
SW Å 0
Finsi
Mientras C<=40
Escribir SP, PI
FIN

FALTA DIAGRAMA DE FLUJO

Página 46 de 53
Programación en C Ángel Delgado Herrador

3.- Escribir un programa (expresando su algoritmo mediante ordinograma y


pseudocódigo) que lea el valor correspondiente a una distancia en millas marinas y las
escriba expresadas en metros, sabiendo que 1 milla marina equivale a 1.852 metros.

Programa: Millas_y_Metros

Variables enteras: Dmillas, Dmetros

Inicio
Escribir “Distania en millas:”
Leer Dmillas
Dmetros=Dmillas*1852
Escribir “Distancia en metros:”, Dmetros
Fin

FALTA DIAGRAMA DE FLUJO

Página 47 de 53
Programación en C Ángel Delgado Herrador

4.- Diseñar el algoritmo (pseudocódigo y ordinograma) correspondiente a un programa


que escribe el porcentaje descontado en una compra, introduciendo por teclado el precio
de la tarifa y el precio pagado.

Programa: Descuento

Variables enteras: tarifa, precio, dto, pd

Inicio
Leer tarifa, precio
dto = tarifa-precio
pd = dto*100/tarifa
Escribir “Porcentaje de descuento:”, pd
Fin

FALTA DIAGRAMA DE FLUJO

Página 48 de 53
Programación en C Ángel Delgado Herrador

5.- Algoritmo que lee dos valores numéricos X e Y, determina si son iguales y, en caso
de no serlo, indica cual de ellos es el mayor.

Programa: Iguales_o_Mayor

Variales Numerico Real: X, Y

Inicio
Leer X, Y
Si X > Y
Escribir “ El mayor es:”, X
Sino
Si X = Y
Escribir “ Son Iguales”
Sino
Escribir “ El mayor es:”, Y
Finsi
fin

FALTA DIAGRAMA DE FLUJO

Página 49 de 53
Programación en C Ángel Delgado Herrador

6.- Diseño del algoritmo correspondiente a un programa que lee un número entero
positivo y determina el número de dígitos decimales necesarios para la representación
de dicho valor.

Programa: Cuenta_Digitos

Variables entero: ndigitos, pot, n

Inicio
Nigitos Å 1
pot Å 10
Leer n
Mientras pot <= n
ndigitos Å ndigitos+1
pot Å pot*10
finmientras
escribir “Se necesitan”, ndigitos
Fin

FALTA DIAGRAMA DE FLUJO

Página 50 de 53
Programación en C Ángel Delgado Herrador

7.- Diseño del algoritmo correspondiente a un programa que suma todos aquellos
números leídos mientras no sean negativos.

Programa: Suma

Variables entero: suma, num

Inicio
suma Å 0
Leer num
Mientras num >= 0
suma Å suma +num
leer num
Finmientras
Escribir “La suma es:”, suma
Fin

FALTA DIAGRAMA DE FLUJO

Página 51 de 53
Programación en C Ángel Delgado Herrador

8.- Diseño del algoritmo correspondiente a un programa que calcula la potencia de un


número dada la base y el exponente.

Programa: Potencia

Variables entero: pot, c, base, exp

Inicio
pot Å 1
cÅ1
Leer base, exp
Mientras c <= exp
pot Å pot*base
c Å c+1
finmientras
Escribir “La potencia es:”, pot
Fin

FALTA DIAGRAMA DE FLUJO

Página 52 de 53
Programación en C Ángel Delgado Herrador

9.- Algoritmo que lee cinco valores numéricos y calcula su producto.

Programa: Producto

Variables entero: p, c, n

Inicio
pÅ1
para c de 1 a 5 con Inc=1 hacer
Leer n
p Å p*n
finpara
Escribir “Producto=”, p
Fin

Página 53 de 53

También podría gustarte