Tipo de datos de carácter en presentación Pascal. Presentación sobre el tema Cuerdas en Pascal.




Sintaxis: var s: cadena[n]; var s1: cadena; n: longitud máxima de cadena posible: un número entero en el rango. Si se omite este parámetro, de forma predeterminada se establece en 255.


Las constantes de cadena se escriben como secuencias de caracteres delimitados por apóstrofes. S: = "Cadena de texto"


Un carácter en blanco se indica mediante dos apóstrofes consecutivos. Si se incluye un apóstrofo en una línea como carácter, se duplica cuando se escribe. Las variables declaradas como cadenas con diferentes longitudes máximas se pueden asignar entre sí, aunque si intentas asignar una variable corta a una larga, los caracteres adicionales se descartarán. Las expresiones de tipo char se pueden asignar a cualquier variable de cadena.


Pascal proporciona fácil acceso a los caracteres individuales de una variable de cadena: i-ésimo carácter La variable st se escribe como st[i]. Por ejemplo, si st es "String", entonces st es "C", st es "t", st es "p", etc.


Una operación de fusión (concantenación) se define en datos de cadena, indicados por el signo +. Por ejemplo: a:= "Turbo"; b:= "Pascales"; c:= a + b; En este ejemplo, la variable c se convertirá en "TurboPascal".


Procedimientos y funciones para trabajar con cadenas 1)n:= length("Pascal"); (n será igual a 6) 2) s:= "Sistema Turbo Pascal"; s2:= copia(s, 1, 7); (s2 será igual a "Sistema") s3:= copiar(s, 9, 5); (s3 será igual a "Turbo") s4:= copiar(s, 15, 6); (s4 será igual a "Pascal")

Presentación sobre el tema "Cadenas en Pascal" en informática en formato de powerpoint. Esta presentación para escolares de décimo grado analiza material teórico y tareas sobre el tema de datos de cadenas en el lenguaje de programación Pascal. Autor de la presentación: profesor de informática, Yudin A.B.

Fragmentos de la presentación

Teoría

  • Una cadena es una matriz de caracteres, es decir. elementos de tipo char. En Pascal, una cadena tiene un tipo de datos String.
  • Si no se especifica la longitud, se asigna memoria para una cadena de hasta 255 caracteres.
  • Tarea 1. Crea un programa que cuente el número de letras de una palabra.
  • Tarea 2. Compara la longitud de dos líneas ingresadas desde el teclado.

función soru

  • La función Copiar (S, P, N) extrae una subcadena de N caracteres de la cadena S, comenzando en la posición P. Aquí N y P son expresiones enteras.
  • Tarea 3. Crea un programa que corte letras de la palabra INFORMÁTICA para que formen la palabra PASTEL.
  • Tarea 4. Escriba un programa que imprima el primer y último dígito de un número natural ingresado desde el teclado.

procedimiento VAL

El procedimiento val le permite convertir caracteres digitales (la imagen de un número) en un número. EN vista general llamar al procedimiento se ve así:

  • VAL (Cadena, Número, Código);
  • donde Cadena es una constante o variable de cadena que contiene una imagen de un número;
  • Número: una variable de tipo entero o fraccionario a la que se le debe asignar un valor.
  • Código: código de error devuelto por el procedimiento (entero)

Conversión de tipo

PascalABC tiene un arsenal de transformaciones más avanzado como DELPHI:

  • S:=IntToStr(N) - convierte un número entero en una cadena;
  • n:=StrToInt(S) - convierte una cadena en un número entero
  • S:=FloatToStr(r) - convierte un número real en una cadena
  • R:=StrToFloat(s) convierte una cadena en un número real.

Si la conversión no es posible, se produce un error de tiempo de ejecución.

Funciones ORD y CHR

  • Función Ord(S): determina el número ordinal del símbolo.
  • Función Chr(i) – determina el carácter con número de serie i

Tarea 6. Cree un programa que, basándose en un carácter ingresado desde el teclado, muestre su número en la tabla de códigos.

Contar caracteres en una cadena

Problema 7. Dada una cadena de caracteres. Determina cuántas veces aparece la letra A (rusa).

Reemplazo de caracteres en una cadena

Problema 8. Dada una cadena de caracteres. Reemplace todas las letras A con la letra O.

Eliminar caracteres de una cadena

Tarea 9 Elimine todas las letras R (latina, mayúscula) de la cadena ingresada desde el teclado.

Condiciones anidadas

Tarea 10. En el texto dado, en todas partes del texto dado, reemplace la letra "a" con la letra "b" y la letra "b" con la letra "a".

Bucles anidados

Problema 11. Dada una cadena de caracteres que contienen signos de puntuación. Cuente qué y cuántos signos de puntuación contiene una línea.


























Habilitar efectos

1 de 26

Desactivar efectos

Ver similares

Código de inserción

En contacto con

Compañeros de clase

Telegrama

Reseñas

Agrega tu evaluación


Diapositiva 1

Diapositiva 2

Una cadena es una matriz de caracteres, es decir. elementos de tipo char. En Pascal, una cadena tiene un tipo de datos String. varName: cadena [Longitud]; Si no se especifica la longitud, se asigna memoria para una cadena de hasta 255 caracteres. Teoría 1 var s1:cadena; cadena de 255 caracteres var s2:cadena; cadena de 20 caracteres

Diapositiva 3

Reglas: las cadenas son iguales sólo si tienen el mismo conjunto de caracteres y la misma longitud; Por ejemplo: "ABC"="ABC" y "ABC"≠"abc" de lo contrario se produce una comparación elemento por elemento de los caracteres según sus códigos: "0"

Diapositiva 4

Teoría 3 Conectando dos cuerdas. s1:="2011" + "año"; Escribir(s1); s1:="10"; s2:="clase"; s3:=s1+" "+s2; Escribir(s3);

Diapositiva 5

Longitud de la función La función Longitud(S) determina la longitud actual de la cadena S. El resultado es un valor entero. Teoría 4 PROGRAMA Longitud_1; VAR S: CADENA; n:ENTERO; COMENZAR Writeln('ingresar palabra "); Readln(S); n:= Longitud (S); Writeln('ingresar palabra ", n:5, " letras.."); FIN. Escribimos la longitud de la cadena en una variable de tipo entero PROGRAMA Dlina_2; VAR S: CADENA; COMENZAR Writeln('ingrese una palabra'); Leer(S); Writeln('la palabra consta de', Longitud (S),'letras.'); FIN. Mostramos la longitud de la cadena como resultado de ejecutar la función Tarea 1. Cree un programa que cuente el número de letras en una palabra.

Diapositiva 6

Usar scrt; var a,b:cadena; m,n:Entero; Comenzar Clrscr; Writeln("Ingrese la primera línea");Readln(a); Writeln("Ingrese la segunda línea "); Readln(b); m:=Longitud(a); n:=Longitud(b); si (m=n) entonces writeln("Las cadenas son iguales"); si (m>n) entonces writeln("El primero es mayor"); si (m

Diapositiva 7

Función Soru La función Soru (S, P, N) extrae de la cadena S una subcadena de N caracteres de longitud, comenzando desde la posición P. Aquí N y P son expresiones enteras. Teoría 6 En la frase MADRE RAMU JABÓN, la palabra RAMU comienza con la undécima letra y consta de 4 letras COPY(s1,11,4)

Diapositiva 8

Tarea 3. Programa n3_1; Usar scrt; var a,b,c,d:cadena; Comenzar Clrscr; a:="informática"; b:=""; c:=copiar(a,8,1); d:=copiar(a,4,2); b:=c+d+c; escrito(b); Fin. Tarea de composición de cadenas 7 Usamos la función de trabajar con variables simbólicas COPY Segunda opción: Programa n3_2; Usar scrt; var a,b:cadena; Comenzar Clrscr; a:=‘informática"; b:=a+a+a+a; writeln(b); Fin. Usamos la definición de una cadena como una matriz de caracteres

Diapositiva 9

Conversión de tipo 8 La función STR Str(x, S) convierte el número x al formato de cadena. Donde x es cualquier expresión numérica, S es una variable de cadena. Tarea 4. Escriba un programa que imprima el primer y último dígito de un número natural ingresado desde el teclado. PROGRAMA Cartilla; utiliza Crt; VAR S: CADENA; n:ENTERO; COMENZAR Escribir("Ingrese un número ");readln(n); Cadena(n,S); Writeln("Primer dígito -",S); Writeln("El último dígito es ",S); FIN. Convertir un número natural en una cadena

Diapositiva 10

El procedimiento val le permite convertir caracteres digitales (la imagen de un número) en un número. En general, una llamada a un procedimiento tiene este aspecto: VAL (Cadena, Número, Código); donde Cadena es una constante o variable de cadena que contiene una imagen de un número; Número – una variable de tipo entero o fraccionario a la que se le debe asignar un valor Código – código de error devuelto por el procedimiento (entero) Conversión de tipo 9 Procedimiento VAL

Diapositiva 11

Conversión de tipo 10 BEGIN s1:="123456789"; val(s1,n,código); Escribir(n); FIN. COMENZAR s1:="123456789ABCDE"; val(s1,n,código); Escribir(n); FIN.

Diapositiva 12

s1:="ABCDE123456789"; val(s1,n,código); Escribir(n); PascalABC tiene un arsenal de transformaciones más avanzado, como DELPHI: S:=IntToStr(N) - convierte un número entero en una cadena; n:=StrToInt(S) - convierte una cadena en un número entero S:=FloatToStr(r) - convierte un número real en una cadena R:=StrToFloat(s) convierte una cadena en un número real. Si la conversión no es posible, se produce un error en tiempo de ejecución Conversión de tipo 11

Diapositiva 13

Conversión de tipos 12 Problema 5.

Diapositiva 14

Símbolos y sus códigos 13 Funciones ORD y CHR Función Ord(S) – determina el número de serie del símbolo. Función Chr(i): determina el carácter con el número de serie i. Usando el número 255, generamos el carácter de tabla de códigos I

Diapositiva 15

Símbolos y sus códigos 14 Tarea 6. Crear un programa que, basándose en un símbolo ingresado desde el teclado, muestre su número en la tabla de códigos. PROGRAMA Cartilla; utiliza Crt; VAR S: carbón; n,código:ENTERO; BEGIN Write("Ingrese el carácter ");readln(s); Writeln("El símbolo ", s", tiene el código -",ord(s)); FIN. La función ORD solo funciona con tipos de datos de caracteres

Diapositiva 16

Problema 7. Programa n5; UsosCrt; Var s:cadena; i,k:entero; comenzarClrScr; Escribir("IntoLine"); lectura(s); k:=0; para i:=1 a longitud(es), haga if (s[i]="A") entonces k:=k+1; writeln("La letra A aparece = ", k:8," veces"); fin. Iterar desde 1 hasta la última letra Si A está en el i-ésimo lugar, aumentar K en 1 Contando caracteres en la línea 15

Diapositiva 17

Nota 16 para i:=1 a longitud(es) dobegin if (s[i]=…… if (s[i]=…… end; Nota: Si necesita buscar varios caracteres en una línea, adjuntamos las condiciones entre paréntesis del programa COMENZAR ... FINALIZAR

Diapositiva 18

Contando caracteres en la línea 17 Inicio Entrada S i,1,longitud(es) Si ="A" K=K+1 Salida K Fin Sí No Diagrama de flujo para la tarea de contar letras A en la línea K=0

Diapositiva 19

Reemplazo de caracteres en la línea 18 Tarea 8.Programa n6; UsosCrt; Var s:cadena; yo: entero; comenzarClrScr; Escribir("IntoLine"); lectura(s); para i:=1 a longitud(es)hacer si (s[i]="A") entonces s[i]:="O"; escrito(s); fin. Pasamos del 1 a la última letra. Si en el i-ésimo lugar está la A, la ponemos. i-ésimo lugar ACERCA DE.

Diapositiva 20

Reemplazo de caracteres en la línea 19 Inicio Entrada S i,1,longitud(es) Si ="A" Si ="O" Salida S Fin Sí No Diagrama de flujo para el problema de reemplazar la letra A por O

Diapositiva 21

Tarea 9 Elimine todas las letras R (latina, mayúscula) de la cadena ingresada desde el teclado. Programa n7; UsosCrt; var a,b:Cadena; yo: entero; comenzarClrScr; Escribir("InLine = ");readln(a); b:=""; para i:=1 a length(a) doif (a[i]'R") luego b:=b+a[i]; a:=b; writeln(a); end. Iterar desde 1 hasta la última letra Prepare una variable adicional. Si no hay R en el i-ésimo lugar, entonces agregamos esta letra a lo que está en B. Lo que sucedió en B se traslada nuevamente a A. Eliminando caracteres de la cadena 20

Diapositiva 22

Eliminación de caracteres de la cadena 21 Inicio Entrada A i,1,longitud(A) Ai "R" B=B+ Ai Salida A Fin Sí No Diagrama de flujo para el problema de eliminar letras R de la cadena B="" A=B

Diapositiva 23

Condiciones anidadas. 22 comienzan clRscr; Lectura(s); para i:=1 a longitud(es), haga if (s[i]="a") o (s[i]="b") entonces si (s[i]="a") entonces s[i] :="b" más s[i]:="a"; escrito(s); fin. Problema 10. De toda la cadena necesitamos seleccionar solo A y B y solo entonces hacer el reemplazo

Diapositiva 24

Condiciones anidadas 23 Inicio Entrada S i, 1, longitud(S) Si ="a" Si ="b" Si ="a" Salida S Fin Si ="a" o Si ="b" Sí No Sí No Diagrama de bloques para el problema de reemplazar A por B y viceversa

Diapositiva 25

Los bucles anidados 24 comienzan ClrScr; Escribir("IntoLine"); lectura(s); s1:=",.;:"!?-"; para i:=1 a longitud(s1) comience k:=0; para j:=1 a longitud(s) haga if (s[j]=s1 [i]) then k:=k+1; if (k0) then writeln(s1[i]," - ",k:5," end; end. escrito en S1 El cuerpo del bucle externo contiene un bucle responsable para enumerar los caracteres de la cadena ingresada

Diapositiva 26

Bucles anidados 25 Inicio Entrada S i, 1, longitud(S1) s1=",.;:"!?-" K=0 j, 1, longitud(S) Sj = S1i Sí No K=K+1 K0 Salida S1i ,K No Sí Fin Diagrama de flujo para el problema de contar signos de puntuación

Ver todas las diapositivas

Abstracto

�PÁGINA � �PÁGINA �1�

Bloque 1.

Teoría.

Diapositiva 1

Diapositiva 2

Diapositiva 3.

Diapositiva 4

Diapositiva 5. Se ha analizado la solución al problema:

Diapositiva 6.

Diapositiva 7.

Crea un programa que recorte letras de la palabra INFORMÁTICA para que formen la palabra PASTEL.

Bloque 2.

Dada una cadena de caracteres a1+a2=. donde 1<=а1 и а2<=9. Составить программу, вычисляющую это выражение. Измените программу так, что бы вместо знака «+» можно было писать « - », « * », « / ».

Problemas para solución adicional:

<=аi<=9). Составить программу, вычисляющую эту сумму.

<=аi<=9). Составить программу, вычисляющую эту алгебраическую сумму.

Bloque 3.

Bloque 4.

Dada una cadena de caracteres. Determina cuántas veces aparece la letra A (rusa).

Problemas para solución adicional:

Dada una cadena de caracteres. Determina cuántas veces aparece la letra A (rusa).

Bloque 5.

Dada una cadena de caracteres. Reemplace todas las letras A con la letra O.

Problemas para solución adicional:

Bloque 6.

Problemas para solución adicional:

Bloque 7.

En el texto dado, reemplace la letra "a" con la letra "b" en todas partes y la letra "b" con la letra "a".

Dada una cadena de caracteres que contiene signos de puntuación. Cuente qué y cuántos signos de puntuación contiene una línea.

Problemas para solución adicional:

�PÁGINA � �PÁGINA �1�

Descripción de la presentación “Cuerdas en Pascal”

Esta presentación se puede utilizar al estudiar el tema "Cadenas en el lenguaje de programación Pascal" al enseñar programación en el lenguaje Pascal. Analiza la definición y descripción de una variable de cadena, funciones para trabajar con cadenas y también examina varias tareas típicas al trabajar con cadenas. La presentación contiene 24 diapositivas, combinadas en 7 bloques.

Breve navegación por las diapositivas y tareas adicionales para que los estudiantes las resuelvan de forma independiente:

Bloque 1.

Teoría.

Diapositiva 1 . Se proporciona la definición de una variable de cadena, así como el método de descripción en la sección de descripción de la variable.

Diapositiva 2 . Se muestran las reglas para comparar cadenas en el lenguaje Pascal y dos ejemplos que ilustran estas reglas.

Diapositiva 3. Se muestran ejemplos de cómo combinar varias líneas en una.

Diapositiva 4 . Se proporciona la definición de la función Longitud(). Y se analizan dos soluciones al problema:

Escribe un programa para contar el número de letras de una palabra.

El primer método, utilizando la operación de asignación, asigna el número de caracteres de una cadena a una variable de tipo entero y la muestra en la pantalla. En el segundo método, la función Longitud() se inserta directamente en la declaración Writeln.

Diapositiva 5. Se ha analizado la solución al problema:

Compare la longitud de dos cadenas ingresadas desde el teclado.

En él, debe determinar la longitud de dos cadenas y utilizar el operador de rama para comparar las longitudes de estas cadenas.

Diapositiva 6. Se proporciona la definición de la función Copiar(). La captura de pantalla muestra un ejemplo de cómo funciona esta función con los comentarios necesarios.

Diapositiva 7. Se muestran dos formas de resolver el problema:

Crea un programa que recorte letras de la palabra INFORMÁTICA para que formen la palabra PASTEL.

En el primer caso, el corte se realiza mediante la función Copiar, y en el segundo, mediante la representación de la cadena como una matriz de caracteres.

Problemas para solución adicional:

Escriba un programa que solicite el nombre de una persona y lo muestre en la pantalla con un saludo.

Escriba un programa que solicite el nombre y apellido de una persona y los muestre en una línea con el saludo.

Se ingresan dos líneas desde el teclado, se determina cuál es más larga y en cuánto, y se muestra el mensaje correspondiente en la pantalla.

Se ingresa una cadena de caracteres desde el teclado, muestra el carácter en el késimo lugar. k – ingresado desde el teclado.

Se ingresa una palabra desde el teclado, ¿es correcto que comience y termine con la misma letra?

Se dan dos palabras. ¿Es cierto que la primera palabra termina con la misma letra que la segunda?

De la palabra "INTEGRAL" se derivan las palabras "PESAS", "RAYOS X", "TIGRE", "AGENTE".

Cree un programa que verifique la ortografía de los prefijos raz- y ras- en una palabra ingresada desde el teclado y, si es necesario, corrija el error.

Bloque 2.

Funciones de conversión de tipos.

Diapositiva 8. Se proporciona una descripción del procedimiento Srt(). Se analiza la solución al problema:

Escriba un programa que imprima el primer y último dígito de un número natural ingresado desde el teclado.

En él, un número natural se convierte en una cadena mediante el procedimiento Str() y luego el primer y el último carácter se muestran en la pantalla. Aquí es imperativo decirles a los estudiantes que este método no es adecuado para todos los casos, por ejemplo, en los problemas de Olimpiada, a menudo se establece la condición de que no se puede utilizar un tipo de datos de caracteres y/o un número natural contiene más de 255 dígitos, etc. .

Diapositiva 9. Se proporciona la definición del procedimiento Val().

Diapositiva 10. Muestra ejemplos de conversión de varias cadenas que contienen números a un número natural.

Diapositiva 11. Muestra funciones para convertir tipos numéricos y de caracteres en el sistema de programación PascalABC. Esto puede resultar muy útil si planeas pasar a aprender Lázaro o Delfos en el futuro.

Diapositiva 12. Se muestra la solución al problema:

Dada una cadena de caracteres a1+a2=. donde 1<=а1 и а2<=9. Составить программу, вычисляющую это выражение. Измените программу так, что бы вместо знака «+» можно было писать « - », « * », « / ».

Considera el caso más simple, cuando las acciones se realizan con dos números naturales de un solo dígito. En el futuro, dependiendo del nivel de los alumnos, esta tarea puede resultar cada vez más difícil. Sumar números de varios dígitos, números negativos, exponenciación, paréntesis y terminar con, por ejemplo, un cálculo o conversión de notación polaca.

Problemas para solución adicional:

Dada una cadena que representa la notación decimal de un número entero positivo. Imprime una cadena que representa la representación binaria del mismo número.

Dada una cadena que representa un número entero positivo. Encuentra la suma de los dígitos de este número.

Dado un texto de la forma a1+a2 +a3+…+ai. Donde ai son números enteros (0<=аi<=9). Составить программу, вычисляющую эту сумму.

Dado un texto que tiene la forma a1 - a2 + a3 -... + ai. Donde ai son números enteros (0<=аi<=9). Составить программу, вычисляющую эту алгебраическую сумму.

El número se da en el sistema numérico hexadecimal. Imprime una línea que represente la notación decimal del mismo número.

Dada una cadena que representa la representación binaria de un número entero positivo. Imprime una línea que represente la notación decimal del mismo número.

Bloque 3.

Funciones para trabajar con códigos de caracteres.

Diapositiva 13. Se definen las funciones ORD y CHR. Se muestra una captura de pantalla del programa que ilustra el funcionamiento de la función Chr.

Diapositiva 14. Se muestra la solución al problema:

Escriba un programa que, basándose en un carácter ingresado desde el teclado, muestre su número en la tabla de códigos.

Es necesario señalar aquí que la función Ord solo funciona con el tipo de datos de carácter (char). Porque muy a menudo los estudiantes no comprenden la diferencia entre tipos de caracteres y cadenas.

Bloque 4.

Problemas relacionados con contar algo en una línea.

Diapositiva 15. Se muestra la solución al problema:

Dada una cadena de caracteres. Determina cuántas veces aparece la letra A (rusa).

Este problema ilustra una forma de buscar caracteres en una cadena. Cabe señalar que para buscar una cadena dentro de una cadena, es más apropiado utilizar la función Copiar.

Diapositiva 16. Contiene un recordatorio de que si necesita buscar varios caracteres en una línea, encerramos las condiciones entre paréntesis del programa COMIENZO ... FINAL

Diapositiva 17. Se muestra el diagrama de flujo de la tarea de la diapositiva 15.

Problemas para solución adicional:

Dada una cadena de caracteres. Determina cuántas veces aparece la letra A (rusa).

Dada una cadena que representa una expresión algebraica, verifique el emparejamiento de paréntesis en ella. Muestra el resultado en la pantalla.

El texto está dado. Determina cuántas letras vecinas idénticas contiene.

El texto está dado. Determinar el número de palabras en una oración.

El texto está dado. Determina qué letras M o N hay más en ella.

El texto está dado. Determina cuántas palabras de este texto comienzan con la letra A.

Dada una cadena de caracteres que contiene dos puntos (:). Determina cuántos caracteres lo preceden.

Dada una cadena de caracteres. Determina cuántas veces se incluye en él el grupo de letras ABC.

El texto está dado. Contiene al menos dos letras K. Determine los números de serie de la primera y la última letra K.

El texto está dado. Determina cuál de las letras C o T aparece primero.

El texto está dado. Determina el número de letras N que preceden a la primera coma de la oración.

Dado un texto que contiene dos comas. Cuente el número de caracteres ubicados entre estas comas.

Bloque 5.

Tareas para cambiar caracteres en una cadena sin cambiar su longitud.

Diapositiva 18. Se muestra la solución al problema:

Dada una cadena de caracteres. Reemplace todas las letras A con la letra O.

Este problema muestra cómo se puede cambiar una cadena sin cambiar su longitud.

Diapositiva 19. Se muestra el diagrama de flujo de la tarea de la diapositiva 18.

Problemas para solución adicional:

Dada una cadena de caracteres. Reemplace todas las letras en lugares pares con la letra O.

Dada una cadena de caracteres. Reemplace la combinación de letras "min" con "max" en el texto dado.

Dada una cadena de caracteres. Reemplace todos los espacios con el signo "_".

Busque la primera y la última letra K en el texto ingresado desde el teclado. Y reemplácelos con "*".

Cree un programa que corrija la ortografía de “ZHI” y “SHI” en una palabra ingresada desde el teclado.

Bloque 6.

Tareas relacionadas con cambiar la longitud de una línea.

Diapositiva 20. Se muestra la solución al problema:

Elimine todas las letras R (latina, mayúscula) de la cadena ingresada desde el teclado.

Esta tarea muestra cómo cambia una cadena a medida que cambia su longitud.

Diapositiva 21. Se muestra el diagrama de flujo de la tarea de la diapositiva 20.

Problemas para solución adicional:

Elimine todas las letras A (latina, mayúscula) de la cadena ingresada desde el teclado.

La palabra ha sido dada. Comprueba si es un cambio. Es decir, se lee igual desde el final y el principio. (Por ejemplo: ANNA, SHALASH.)

En una palabra determinada, reemplace cada letra "b" con la combinación de letras "ku".

Escribe un programa que elimine cualquier letra de un texto determinado. (Ingrese texto y letra desde el teclado).

Para diseñar títulos y palabras lógicamente importantes, los caracteres del texto se alternan con espacios. Escriba un programa que realice tal operación.

De este texto, elimine todas las letras “C” que preceden a la letra “T”.

Después de cada letra P, inserte tres signos de exclamación “!!!”.

Bloque 7.

Problemas con ramas y bucles anidados.

Diapositiva 22. Se muestra la solución al problema:

En el texto dado, reemplace la letra "a" con la letra "b" en todas partes y la letra "b" con la letra "a".

Una solución directa a este problema “de frente” no produce resultados. Aquí debe seleccionar solo las letras necesarias para que el resto no cambie. Y luego, dependiendo de la letra que se encuentre, realice un reemplazo utilizando la condición completa.

Diapositiva 23. Se muestra el diagrama de flujo de la tarea de la diapositiva 22.

Diapositiva 24. Se muestra la solución al problema:

Dada una cadena de caracteres que contiene signos de puntuación. Cuente qué y cuántos signos de puntuación contiene una línea.

Este problema muestra un ejemplo del uso de bucles anidados para comparar dos cadenas. Es posible resolver este problema utilizando una gran cantidad de condiciones, pero esa solución, en mi opinión, no será racional.

Problemas para solución adicional:

Dada una cadena de caracteres (ruso). Determina el número de vocales en esta línea.

Dada una cadena de caracteres (inglés). Determina cuáles y cuántas vocales contiene la línea.

Dada una cadena de caracteres. Determina qué caracteres tienen más vocales o consonantes.

Dadas dos cadenas A y B. Determine si es posible formar la cadena B a partir de las letras de la cadena A. Además, cada letra se puede usar una vez. Las letras se pueden reorganizar. (Por ejemplo: puedes obtener un AGENTE de INTEGRAL, pero no un GRÁFICO).

El texto está dado. Determina cuál tiene más números o letras.

Se dan dos líneas. Cuente y muestre el número de letras comunes. (Letras que aparecen en la primera y segunda línea).

Del texto dado, seleccione y muestre los caracteres que aparecen en él exactamente una vez.

Para advertir sobre el fracaso de la operación, Eustace ideó el siguiente método de notificación. Envía un telegrama cuyo texto contiene los caracteres “b”, “e”, “d”, “a”, necesariamente en ese orden, pero no necesariamente en fila. Crea un programa que te permita determinar si el texto enviado es una notificación de falla o no.

Para consolidar el tema, es necesario resolver tantos problemas como sea posible. Su número depende directamente de la cantidad de horas asignadas para estudiar un tema determinado y el curso de programación en su conjunto.

En mi opinión, los libros de problemas de programación más exitosos son:

Colección de problemas de programación. 2da edición. Autor D.M. Zlatopolski. Publicado en San Petersburgo "BHV-Petersburg" en 2007.

Versión electrónica del Libro de Tareas de Programación Versión 4.6. Autor M.E.Abramyan. Distribuido con el sistema de programación Pascal ABC.

Presentan tareas sobre todos los temas del curso de programación.

Basándome en estos libros de problemas y algunas otras fuentes, hice mi propio mini libro de problemas dividiendo los problemas en tres grupos de dificultad A, B y C.

http://privples.iv-edu.ru/informatica/1/Mater/SBORNIK_ZADAS.doc

Descargar resumen

Para utilizar vistas previas de presentaciones, cree una cuenta de Google e inicie sesión en ella: https://accounts.google.com


Títulos de diapositivas:

Tipos de datos de texto y caracteres Pascal La presentación fue preparada por la profesora de informática Tatyana Petrovna Kareva Gimnasio MBOU No. 6 de Mezhdurechensk, región de Kemerovo

Las máquinas informáticas se ocupan de algo más que números. Pasan casi más tiempo ocupados procesando texto. Pascal tiene un tipo de datos especial para esto, llamado CHAR (de la palabra carácter). Escriba CHAR (carácter, cadena o literal). Sus significados son caracteres individuales: letras, números, signos. Las constantes de caracteres están entre comillas, por ejemplo, 'A', 'B', 'C', '4', '7', ' '(espacio). Las variables de caracteres se describen en la cláusula Nombre de variable Var: char ;

Los valores de caracteres se pueden ingresar y generar, asignar y comparar. A continuación se muestra un ejemplo donde se realizan todos estos pasos. Var x, y: carbón; Comenzar a escribir('Ingresar carácter'); lectura(x); Y:='A'; si x

Es posible comparar símbolos gracias a que se almacenan en la memoria de la computadora como números enteros (códigos de caracteres). De dos símbolos, se considera mayor aquel cuyo código es mayor. Los caracteres están ordenados de la siguiente manera: ‘A’=,.

Funciones simbólicas estándar. Pascal tiene funciones simbólicas estándar: CHR (N) – devuelve el símbolo con código N al programa, ORD (S) – devuelve el código del símbolo S, PRED (S) – devuelve el símbolo anterior SUCC (S) – devuelve el siguiente símbolo EJEMPLOS: CHR ( 128) = B ORD (':') = 58 PRED(' B ') = A SUCC(' G ') = D

Cada carácter tiene su propio código binario único. Los códigos de todos los símbolos se resumen en una tabla. La primera mitad de la tabla se ha convertido en un estándar internacional llamado ASCII - American Standard Code Information Interchange (léase "código de consulta"), entre otras cosas contiene el alfabeto latino, la segunda tiene diferentes opciones para diferentes idiomas. El alfabeto cirílico (alfabeto ruso) tiene varios estándares. Pascal utiliza el estándar KOI-8.

EJEMPLO de uso de una variable de tipo carácter. Cree un programa en el que la computadora calcule repetidamente la suma A + B para diferentes valores de A y B. Al final de cada etapa, aparece una solicitud para continuar o detener los cálculos: “¿Finalizar el programa (Y/N? ).” Var A, B: reales; C: carbón; Comenzar a repetir Escribir('Ingrese dos números'); Readln(a,b); Escribir(a + b:0:2); Writeln('¿Finalizar programa?(S/N)'); Leer(c); Hasta c='D'; (El programa saldrá si se ingresa D) Readln End.

Tareas de formación. 1 . ¿Qué devolverá la función CHR(ORD(X))? 2. Determine los valores de las siguientes funciones: CHR(68) ORD('d') PRED(1) SUCC(' I ') 3. Cree un programa en el que la computadora encuentre el producto de números impares, comenzando desde uno, y hasta la pregunta que se hace después de cada paso de cálculo: “¿Continuar con los cálculos? (S/N)”, responda ‘S’.

Para manejar unidades de texto más grandes (cadenas), se ha introducido un tipo de datos llamado STRING. Los valores de este tipo son cadenas de caracteres de hasta 255 de longitud. Las variables de cadena deben describirse mediante la cláusula: Nombre VAR: STRING Las cadenas se pueden asignar, comparar, ingresar, generar y concatenar. La conexión se indica con un signo "+". A continuación se muestran ejemplos de algunas operaciones de comparación en cadenas: "tabla"

Entre todos los valores de cadena posibles hay una cadena vacía. Está representado por dos apóstrofes (comillas simples) sin nada entre ellos. Para ingresar este carácter en una cadena, debes repetirlo dos veces. Por ejemplo, el operador de escritura ("acerca de""fenómeno") mostrará: "declaración". El programador tiene acceso a los caracteres individuales de una variable de cadena para esto, además del nombre de la variable, se debe indicar el número de serie; número del carácter en la línea Por ejemplo, si se describe la variable X:STRING, entonces X es el primer carácter de la cadena, X es el segundo, etc. X tiene una función especial: almacenar la longitud de la cadena. El valor de X es el carácter cuyo código es igual al número de caracteres de la cadena. Pero para determinar la longitud de una variable de cadena se suele utilizar la función LENGTH(variable de cadena). =LENGTH(x); - A N se le asignará un valor igual al número de caracteres de la línea.

Al describir una variable de cadena, podemos limitar la longitud de la cadena especificando su tamaño máximo posible, luego solo se almacenará la cantidad especificada de caracteres en la cadena. Var a,b:cadena; comenzar a escribir("ingrese una palabra"); leerln(a); escribe un); leer Si ingresa la palabra MAÍZ mientras ejecuta este programa, el programa imprimirá COCINAR.

RECORDAR. Si durante la ejecución del programa necesita ingresar un valor para varias variables de cadena, cada una de ellas debe tener su propia declaración de entrada READLN. Por ejemplo, Var a,b,c:cadena; comenzar readln(a); leer(b); leer(c); escribir(a+b+c); leer Comprueba qué sucede si escribes READLN(a,b,c); o LEER(a,b,c).

Ejemplo 1. Cree un programa que determine cuál de dos apellidos es más largo. Los apellidos tienen diferentes longitudes. Var a,b:cadena; comenzar readln(a); leer(b); si longitud(a)>longitud(b) entonces escriba(a) en caso contrario escriba(b); leer

Ejemplo 2. Se dan dos palabras. Escriba un programa para determinar si es cierto que la primera palabra comienza con la misma letra que termina la segunda. Varx,y:byte; a,b:cadena; comenzar readln(a); leer(b); x:=longitud(b); (determinamos la longitud de la palabra b para averiguar el número del último carácter) si a=b[x] entonces escribe ("verdadero") en caso contrario escribe ("incorrecto"); fin de lectura.

Tareas de formación. 1. Se da el nombre de la ciudad. Determina si el número de caracteres que contiene es par o impar. 2. Se da la palabra. Muestra su tercer carácter y su último carácter dos veces. 3. Se da la palabra. ¿Es cierto que empieza y termina con la misma letra? 4. Se da la palabra. Recibe y muestra una combinación de letras formada por su tercer y último carácter. 5. Crea un programa que solicite el nombre de un equipo de fútbol y lo repita en pantalla con las palabras: “¡Este es el campeón!”

Para trabajar con variables de cadena en Pascal, existe un conjunto de procedimientos y funciones estándar. Su uso simplifica la resolución de problemas. Me gustaría recordarles que el resultado de ejecutar una función debe almacenarse en una variable del tipo apropiado, a menos que, por supuesto, la función sea un elemento de la expresión. Función para copiar una cadena o parte de ella. S:=COPIAR(cadena, posición, N); La función de copiar también se llama "cortar". El resultado de ejecutar la función será parte de la cadena a partir de la posición especificada de longitud N.

Ejemplo: Se da una propuesta. Determine el número de serie de la primera letra "k" encontrada. Si no existe tal carta, por favor repórtelo. Var x: número entero; una cuerda; comenzar a escribir("Ingrese una oración"); leerln(a); x:=pos(" a ",a); si x=0 entonces writeln ("No existe tal letra") si no, writeln (x); leer

Procedimiento para eliminar parte de una cadena DELETE(cadena, número inicial, número de caracteres) Elimina el número especificado de caracteres de la cadena de origen. Ejemplo: Dada una palabra que consta de un número par de letras. Muestra su primera mitad. Vari,x:byte; a,p:cadena; comenzar a repetir escritura ("Ingrese una palabra con un número par de letras"); leerln(a); x:=longitud(a); (determinamos la longitud de la palabra) hasta (x mod 2 = 0); x:= x div 2; (use división de números enteros) elimine (a,x+1,x); escribe un); fin de lectura.

Procedimiento para insertar una subcadena en una cadena INSERT(línea1, línea2, posición); La línea1 se inserta en la línea2 comenzando en la posición especificada. Tareas de formación. 1. Se da una propuesta. Determinar el número de apariciones de un determinado símbolo. 2. Se da una propuesta. Reemplace todas las apariciones de la combinación de letras "ah" por "uh". 3. Se da la palabra. Compruebe si se trata de una “reversión”, es decir Se lee de la misma manera desde el principio hasta el final. 4. La palabra se da: a. eliminar la primera letra "o", si existe tal letra; b. elimine la última letra "t", si existe tal letra. 5. Se da una propuesta. Elimina todas las letras "s".


Diapositiva 1

Diapositiva 2

Una cadena es una matriz de caracteres, es decir. elementos de tipo char. En Pascal, una cadena tiene un tipo de datos String. var Nombre: cadena [Longitud]; Si no se especifica la longitud, se asigna memoria para una cadena de hasta 255 caracteres. Teoría 1 var s1:cadena; cadena de 255 caracteres var s2:cadena; cadena de 20 caracteres

Diapositiva 3

Reglas: las cadenas son iguales sólo si tienen el mismo conjunto de caracteres y la misma longitud; Por ejemplo: "ABC"="ABC" y "ABC"≠"abc" en caso contrario se realiza una comparación elemento por elemento de los caracteres según sus códigos: "0"

Diapositiva 4

Teoría 3 Conectando dos cuerdas. s1:="2011" + "año"; Escribir(s1); s1:="10"; s2:="clase"; s3:=s1+" "+s2; Escribir(s3);

Diapositiva 5

Función de longitud La función Longitud (S) determina la longitud actual de la cadena S. El resultado es un valor entero. Teoría 4 PROGRAMA Longitud_1; VAR S: CADENA; n:ENTERO; BEGIN Writeln('ingrese la palabra "); Readln(S); n:= Longitud (S); Writeln('ingrese la palabra ", n:5, " lit.."); FIN. Escribimos la longitud de la cadena en una variable de tipo entero PROGRAMA Dlina_2; VAR S: CADENA; BEGIN Writeln('ingrese una palabra'); Leer(S); Writeln('la palabra consta de ', Longitud (S),'letras.'); FIN. Mostramos la longitud de la cadena como resultado de ejecutar la función Tarea 1. Cree un programa que cuente el número de letras en una palabra.

Diapositiva 6

Usar scrt; var a,b:cadena; m,n:Entero; Comenzar Clrscr; Writeln("Ingrese la primera línea");Readln(a); Writeln("Ingrese la segunda línea "); Readln(b); m:=Longitud(a); n:=Longitud(b); si (m=n) entonces writeln("Las líneas son iguales"); si (m>n) entonces writeln("El primero es mayor"); si (m

Diapositiva 7

Función Soru La función Soru (S, P, N) extrae de la cadena S una subcadena de N caracteres de longitud, comenzando desde la posición P. Aquí N y P son expresiones enteras. Teoría 6 En la frase MADRE RAMU JABÓN, la palabra RAMU comienza con la undécima letra y consta de 4 letras COPY(s1,11,4)

Diapositiva 8

Tarea 3. Crea un programa que corte letras de la palabra INFORMÁTICA para que formen la palabra PASTEL. Programa n3_1; Usar scrt; var a,b,c,d:cadena; Comenzar Clrscr; a:="informática"; b:=""; c:=copiar(a,8,1); d:=copiar(a,4,2); b:=c+d+c; escrito(b); Fin. Tarea de composición de cadenas 7 Usamos la función de trabajar con variables simbólicas COPY Segunda opción: Programa n3_2; Usar scrt; var a,b:cadena; Comenzar Clrscr; a:=‘informática"; b:=a+a+a+a; writeln(b); Fin. Usamos la definición de una cadena como una matriz de caracteres

Diapositiva 9

Conversión de tipo 8 La función STR Str(x, S) convierte el número x al formato de cadena. Donde x es cualquier expresión numérica, S es una variable de cadena. Tarea 4. Escriba un programa que imprima el primer y último dígito de un número natural ingresado desde el teclado. PROGRAMA Cartilla; utiliza Crt; VAR S: CADENA; n:ENTERO; COMENZAR Escribir("Ingrese un número ");readln(n); Cadena(n,S); Writeln("Primer dígito -",S); Writeln("El último dígito es ",S); FIN. Convertir un número natural en una cadena

Diapositiva 10

El procedimiento val le permite convertir caracteres digitales (la imagen de un número) en un número. En general, una llamada a un procedimiento tiene este aspecto: VAL (Cadena, Número, Código); donde Cadena es una constante o variable de cadena que contiene una imagen de un número; Número – una variable de tipo entero o fraccionario a la que se le debe asignar un valor Código – código de error devuelto por el procedimiento (entero) Conversión de tipo 9 Procedimiento VAL

Diapositiva 11

Conversión de tipo 10 BEGIN s1:="123456789"; val(s1,n,código); Escribir(n); FIN. COMENZAR s1:="123456789ABCDE"; val(s1,n,código); Escribir(n); FIN.

Diapositiva 12

s1:="ABCDE123456789"; val(s1,n,código); Escribir(n); PascalABC tiene un arsenal más desarrollado de transformaciones como DELPHI: S:=IntToStr(N) - convierte un número entero en una cadena; n:=StrToInt(S) - convierte una cadena en un número entero S:=FloatToStr(r) - convierte un número real en una cadena R:=StrToFloat(s) convierte una cadena en un número real. Si la conversión no es posible, se produce un error en tiempo de ejecución Conversión de tipo 11

Diapositiva 13

Diapositiva 14

Símbolos y sus códigos 13 Funciones ORD y CHR Función Ord(S) – determina el número de serie del símbolo. Función Chr(i): determina el carácter con el número de serie i. Usando el número 255, derivamos el carácter de la tabla de códigos I.

Diapositiva 15

Símbolos y sus códigos 14 Tarea 6. Crear un programa que, basándose en un símbolo ingresado desde el teclado, muestre su número en la tabla de códigos. PROGRAMA Cartilla; utiliza Crt; VAR S: carbón; n,código:ENTERO; BEGIN Write("Ingrese el carácter ");readln(s); Writeln("El símbolo ", s", tiene el código -",ord(s)); FIN. La función ORD solo funciona con tipos de datos de caracteres

Diapositiva 16

Problema 7. Dada una cadena de caracteres. Determina cuántas veces aparece la letra A (rusa). Programa n5; UsosCrt; Var s:cadena; i,k:entero; comenzarClrScr; Escribir("Ingrese una cadena"); lectura(s); k:=0; para i:=1 a longitud(es), haga if (s[i]="A") entonces k:=k+1; writeln("La letra A aparece = ", k:8," veces"); fin. Iterar desde 1 hasta la última letra Si A está en el i-ésimo lugar, aumentar K en 1 Contando caracteres en la línea 15

Diapositiva 17

Nota 16 para i:=1 a longitud(es) comience if (s[i]=…… if (s[i]=…… end; Nota: Si necesita buscar varios caracteres en una línea, entonces incluya las condiciones entre corchetes del programa COMIENZO...FIN

Diapositiva 18

Contando caracteres en la línea 17 Inicio Entrada S i,1,longitud(es) Si ="A" K=K+1 Salida K Fin Sí No Diagrama de flujo para la tarea de contar letras A en la línea K=0

Diapositiva 19

Reemplazo de caracteres en la línea 18 Problema 8. Dada una cadena de caracteres. Reemplace todas las letras A con la letra O. Programa n6; UsosCrt; Var s:cadena; yo: entero; comenzarClrScr; Escribir("Ingrese una cadena"); lectura(s); para i:=1 a longitud(es), haga if (s[i]="A") entonces s[i]:="O"; escrito(s); fin. Pasamos del 1 a la última letra. Si A está en el i-ésimo lugar, coloque O en el i-ésimo lugar.

Diapositiva 20

Reemplazo de caracteres en la línea 19 Inicio Entrada S i,1,longitud(es) Si ="A" Si ="O" Salida S Fin Sí No Diagrama de flujo para el problema de reemplazar la letra A por O

Diapositiva 21

Tarea 9 Elimine todas las letras R (latina, mayúscula) de la cadena ingresada desde el teclado. Programa n7; UsosCrt; var a,b:Cadena; yo: entero; comenzarClrScr; Write("Ingrese cadena = "); readln(a); b:=""; para i:=1 a longitud(a) hazlo si (a[i]'R") entonces b:=b+a[i]; a:=b; writeln(a); end. Iterar desde 1 hasta el último letra Preparamos una variable adicional Si no hay R en el i-ésimo lugar, entonces agregamos esta letra a lo que está en B. Movemos lo que sucedió en B nuevamente a A. Eliminando caracteres de la línea 20.

Publicaciones sobre el tema.