Acasă / Ştiri / Variabile simbolice în prezentarea Pascal. Coarde în pascal. Un șir în Pascal este o secvență de un anumit număr de caractere. se numește numărul de caractere din secvență. Funcții de conversie a tipului

Variabile simbolice în prezentarea Pascal. Coarde în pascal. Un șir în Pascal este o secvență de un anumit număr de caractere. se numește numărul de caractere din secvență. Funcții de conversie a tipului

Pentru a utiliza previzualizările prezentării, creați-vă un cont ( cont) Google și conectați-vă: https://accounts.google.com


Subtitrările diapozitivelor:

Tipuri de date text și caractere Pascal Prezentarea a fost pregătită de profesoara de informatică Tatyana Petrovna Kareva MBOU Gimnaziul nr. 6 din Mezhdurechensk, regiunea Kemerovo

Mașinile de calcul se ocupă cu mai mult decât cu numere. Ei petrec aproape mai mult timp ocupați cu procesarea textului. Pascal are un tip de date special pentru aceasta, numit CHAR (din cuvântul caracter). Tastați CHAR (caracter sau șir sau literal). Semnificațiile sale sunt caractere individuale: litere, cifre, semne. Constantele caracterelor sunt cuprinse între ghilimele, de exemplu, „A”, „B”, „C”, „4”, „7”, „(spațiu). Variabilele de caractere sunt descrise de clauza Var nume variabilă: char ;

Valorile caracterelor pot fi introduse și scoase, atribuite și comparate. Mai jos este un exemplu în care se efectuează toți acești pași. Var x, y: char; Begin Write(‘Introduceți caracterul’); readln(x); Y:=’A’; Dacă x

Caracterele pot fi comparate datorită faptului că sunt stocate în memoria computerului ca numere întregi (coduri de caractere). Dintre două simboluri, cel al cărui cod este mai mare este considerat mai mare. Caracterele sunt ordonate după cum urmează: ‘ A ’=,.

Funcții simbolice standard. Pascal are funcții simbolice standard: CHR (N) – returnează simbolul cu codul N în program, ORD (S) – returnează codul simbolului S, PRED (S) – returnează simbolul anterior SUCC (S) – returnează simbolul următor EXEMPLE: CHR ( 128) = B ORD (':') = 58 PRED(' B ') = A SUCC(' G ') = D

Fiecare caracter are propriul său cod binar unic. Codurile tuturor simbolurilor sunt rezumate într-un tabel. Prima jumătate a tabelului a devenit un standard internațional, care se numește ASCII - American Standard Code Information Interchange (a se citi „Codul Aski”), printre altele conține alfabetul latin, a doua are opțiuni diferite pentru diferite limbi. Alfabetul chirilic (alfabetul rus) are mai multe standarde. Pascal folosește standardul KOI-8.

EXEMPLU de utilizare a unei variabile de tip caracter. Creați un program în care computerul calculează în mod repetat suma A + B pentru diferite valori ale lui A și B. La sfârșitul fiecărei etape, apare o solicitare pentru a continua sau opri calculele: „Încheierea programului? ).” Var A, B: real; C: char; Începeți repetați Scrieți(‘Introduceți două numere’); Readln(a,b); Scrie (a + b:0:2); Writeln(‘Încheierea programului?(D/N)’); Readln(c); Până la c='D'; (programul se va ieși dacă se introduce D) Readln End.

Sarcini de instruire. 1. Ce va returna funcția CHR(ORD(X))? 2. Determinați valorile următoarelor funcții: CHR(68) ORD('d') PRED(1) SUCC('I ') 3. Creați un program în care computerul găsește produsul numerelor impare, începând de la unul, și până la întrebarea pusă după fiecare pas de calcul: „Continuați calculele? (D/N)”, răspunde „D”.

Pentru a gestiona unități de text mai mari - șiruri - a fost introdus un tip de date numit STRING. Valorile de acest tip sunt șiruri de caractere de până la 255 de caractere. Variabilele de tip șir trebuie descrise prin clauza: Nume VAR: șiruri de caractere pot fi atribuite, comparate, de intrare, de ieșire și concatenate. Conexiunea este indicată printr-un semn „+”. Iată câteva exemple de operații de comparare pe șiruri: „table”

Printre toate valorile șirurilor posibile există un șir gol. Este reprezentat de două apostrofe (ghilimele simple) fără nimic între ele. Pentru a introduce acest caracter într-un șir, trebuie să îl repetați de două ori. De exemplu, operatorul de scriere ("ob""fenomen") va afișa: declarația Programatorul are acces la caracterele individuale ale unei variabile șir pentru aceasta, pe lângă numele variabilei, trebuie să indicați numărul de serie al simbolul din linie De exemplu, dacă este descrisă variabila X:STRING, atunci X este primul caracter al șirului, X este al doilea etc. X are un rol special - pentru a stoca lungimea șirului valoarea X este caracterul al cărui cod este egal cu numărul de caractere din șir Dar pentru a determina lungimea unei variabile șir, se folosește de obicei funcția LUNGIME (variabilă șir). (x) - N i se va atribui o valoare egală cu numărul de caractere din rând.

Când descriem o variabilă șir, putem limita lungimea șirului specificând dimensiunea maximă posibilă a acestuia, atunci doar numărul specificat de caractere va fi stocat în șir. Var a,b:string ; începe să scrie ("introduceți un cuvânt"); readln(a); scrie(a); readlnend. Dacă introduceți cuvântul CORN în timp ce executați acest program, programul va tipări COOK.

ȚINE minte. Dacă, în timpul execuției programului, trebuie să introduceți o valoare pentru mai multe variabile șir, fiecare dintre ele trebuie să aibă propria instrucțiune de intrare READLN. De exemplu, Var a,b,c:string ; începe readln(a); readln(b); readln(c); scrie (a+b+c); readlnend. Verificați ce se întâmplă dacă scrieți READLN(a,b,c); sau READ(a,b,c).

Exemplu 1. Creați un program care determină care dintre două nume de familie este mai lung. Numele de familie au lungimi diferite. Var a,b:string ; începe readln(a); readln(b); daca lungime(a)>lungime(b) atunci scrie(a) altfel scrie(b); readlnend.

Exemplul 2. Sunt date două cuvinte. Scrieți un program pentru a determina dacă este adevărat că primul cuvânt începe cu aceeași literă cu care se termină al doilea cuvânt. Var x,y:octet ; a,b:șir ; începe readln(a); readln(b); x:=lungime(b); (determinăm lungimea cuvântului b pentru a afla numărul ultimului caracter) dacă a=b[x] atunci scrieți ("adevărat") altfel scrie ("incorect"); readln sfârşitul .

Sarcini de instruire. 1. Se dă numele orașului. Determinați dacă numărul de caractere din acesta este par sau impar. 2. Cuvântul este dat. Afișați al treilea caracter și ultimul său caracter de două ori. 3. Cuvântul este dat. Este adevărat că începe și se termină cu aceeași literă? 4. Cuvântul este dat. Primiți și afișați o combinație de litere constând din al treilea și ultimul său caracter. 5. Creați un program care solicită numele unei echipe de fotbal și îl repetă pe ecran cu cuvintele: „Acesta este campionul!”

Pentru a lucra cu variabile șir în Pascal, există un set de proceduri și funcții standard. Utilizarea lor simplifică rezolvarea problemelor. Aș dori să vă reamintesc că rezultatul executării unei funcții trebuie stocat într-o variabilă de tipul adecvat, cu excepția cazului în care, desigur, funcția este un element al expresiei. Funcție de copiere a unui șir sau a unei părți din acesta. S:=COPIE(șir, poziție, N); Funcția de copiere este numită și „tăiere”. Rezultatul executării funcției va fi o parte a șirului pornind de la poziția specificată de lungime N.

Exemplu: Se face o propunere. Determinați numărul de serie al primei litere „k” întâlnită. Dacă nu există o astfel de scrisoare, vă rugăm să o raportați. Var x: întreg; a:șir; begin write("Introduceți o propoziție"); readln(a); x:=pos("la ",a); if x=0 then writeln ("Nu există o astfel de literă") else writeln (x); readlnend.

Procedura de ștergere a unei părți a unui șir DELETE(șir, număr de început, număr de caractere) Îndepărtează numărul specificat de caractere din șirul sursă. Exemplu: dat un cuvânt format dintr-un număr par de litere. Afișați prima jumătate a acestuia. Var i,x:byte ; a,p:șir ; începe repetarea scrierii ("Introduceți un cuvânt cu un număr par de litere"); readln(a); x:=lungime(a); (determinăm lungimea cuvântului) până la (x mod 2 = 0); x:= x div 2; (utilizați diviziunea întregi) ștergeți (a,x+1,x); scrie(a); readln sfârşitul .

Procedura de inserare a unui subșir într-un șir INSERT(line1, line2, position); Linia 1 este inserată în linia 2 începând de la poziția specificată. Sarcini de instruire. 1. Se face o propunere. Determinați numărul de apariții ale unui anumit simbol. 2. Se face o propunere. Înlocuiți toate aparițiile combinației de litere „ah” cu „uh”. 3. Cuvântul este dat. Verificați dacă este o „inversare”, adică se citește la fel de la început până la sfârșit. 4. Cuvântul este dat: a. eliminați prima literă „o” din ea, dacă există o astfel de literă; b. eliminați ultima literă „t” din ea, dacă există o astfel de literă. 5. Se face o propunere. Scoateți toate literele „s” din el.


Prezentare pe tema „Șiruri în Pascal” în informatică în format powerpoint. Această prezentare pentru școlari de clasa a 10-a discută materiale teoretice și sarcini pe tema șir de date în limbă Programare Pascal. Autorul prezentării: profesor de informatică, Yudin A.B.

Fragmente din prezentare

Teorie

  • Un șir este o matrice de caractere, adică elemente de tip char. În Pascal, un șir are un tip de date String.
  • Dacă lungimea nu este specificată, memoria este alocată pentru un șir de până la 255 de caractere.
  • Sarcina 1. Creați un program care numără numărul de litere dintr-un cuvânt.
  • Sarcina 2. Comparați lungimea a două linii introduse de la tastatură.

Funcția Soru

  • Funcția Copy(S, P, N) extrage un subșir de N caractere din șirul S, începând de la poziția P. Aici N și P sunt expresii întregi.
  • Sarcina 3. Creați un program care să taie literele din cuvântul COMPUTER SCIENCE, astfel încât să facă cuvântul CAKE.
  • Sarcina 4. Scrieți un program care imprimă prima și ultima cifră a unui număr natural introdus de la tastatură.

Procedura VAL

Procedura val vă permite să convertiți caracterele digitale (imaginea unui număr) într-un număr. În general, apelul la procedură arată astfel:

  • VAL (șir, număr, cod);
  • unde String este o constantă sau variabilă șir care conține o imagine a unui număr;
  • Număr – o variabilă de tip întreg sau fracționar căreia trebuie să i se atribuie o valoare
  • Cod – cod de eroare returnat de procedură (întreg)

Conversie tip

PascalABC are un arsenal mai avansat de transformări precum DELPHI:

  • S:=IntToStr(N) - convertește un număr întreg într-un șir;
  • n:=StrToInt(S) - convertește un șir într-un număr întreg
  • S:=FloatToStr(r) - convertește un număr real într-un șir
  • R:=StrToFloat(s) convertește un șir într-un număr real.

Dacă conversia nu este posibilă, apare o eroare de rulare

Funcțiile ORD și CHR

  • Funcția Ord(S) – determină numărul ordinal al simbolului.
  • Funcția Chr(i) – determină caracterul cu numărul de serie i

Sarcina 6. Creați un program care, pe baza unui caracter introdus de la tastatură, își afișează numărul în tabelul de coduri.

Numărarea caracterelor dintr-un șir

Problema 7. Dat un șir de caractere. Determinați de câte ori apare litera A (rusă) în ea.

Înlocuirea caracterelor dintr-un șir

Problema 8. Dat un șir de caractere. Înlocuiți toate literele A din el cu litera O.

Eliminarea caracterelor dintr-un șir

Sarcina 9 Eliminați toate literele R (latină, majuscule) din șirul introdus de la tastatură.

Condiții imbricate

Sarcina 10. În textul dat, înlocuiți peste tot litera „a” cu litera „b”, iar litera „b” cu litera „a”.

Bucle imbricate

Problema 11. Dat un șir de caractere care conțin semne de punctuație. Numărați ce și câte semne de punctuație conține o linie.

Slide 1

2012 Coarde în Pascal

Slide 2

Un șir este o matrice de caractere, adică elemente de tip char. În Pascal, un șir are un tip de date String.

var Nume: șir [Lungime];

Dacă lungimea nu este specificată, memoria este alocată pentru un șir de până la 255 de caractere.

Teoria 1 var s1:string;

șir de 255 de caractere

var s2:șir; șir de 20 de caractere

Slide 3

Reguli: șirurile sunt egale numai dacă au același set de caractere și aceeași lungime; De exemplu: "ABC"="ABC" și "ABC"≠"abc" în caz contrar, există o comparație element cu element a caracterelor după codurile lor: "0"

Comparând două șiruri

Suma codurilor de linie S1

Suma codurilor de linie S1>S2,

Slide 4

Concatenarea a două șiruri.

s1:="2011" + "an"; Writeln(s1);

s1:="10"; s2:="clasa"; s3:=s1+" "+s2; Writeln(s3);

Slide 5

Funcția de lungime

Funcția Length(S) determină lungimea curentă a șirului S. Rezultatul este o valoare întreagă.

PROGRAM Lungime_1; VAR S: ȘIR; n:INTEGER; BEGIN Writeln('introduceți cuvântul "); Readln(S); n:= Lungime (S) ; Writeln('introduceți cuvântul ", n:5, "lit.."); SFÂRŞIT.

Scriem lungimea șirului într-o variabilă de tip întreg

PROGRAM Lungime_2; VAR S: ȘIR; BEGIN Writeln('introduceți un cuvânt') ; Readln(S); Writeln('cuvântul este format din ', Lungimea (S) ,'litere.'); SFÂRŞIT.

Afișează lungimea șirului ca rezultat al executării funcției

Sarcina 1. Creați un program care numără numărul de litere dintr-un cuvânt.

Slide 6

Useescrt; var a,b:string; m,n:Număr întreg; Începeți Clrscr; Writeln("Introduceți prima linie");Readln(a); Writeln("Introduceți a doua linie"); Readln(b); m:=Lungimea(a); n:=Lungimea(b); if (m=n) then writeln("Liniile sunt egale"); if (m>n) then writeln("Primul este mai mare"); dacă (m

Sarcina 2. Comparați lungimea a două linii introduse de la tastatură.

Calculați lungimea șirurilor

Comparăm lungimile și afișăm explicațiile corespunzătoare

Problemă de comparare a șirurilor 5

Slide 8

Sarcina 3. Creați un program care să taie literele din cuvântul COMPUTER SCIENCE, astfel încât să facă cuvântul CAKE.

Programul n3_1; Useescrt; var a,b,c,d:string; Începeți Clrscr; a:="informatica"; b:=""; c:=copie(a,8,1); d:=copie(a,4,2); b:=c+d+c; scrieln(b); Sfârşit.

Sarcina de linie 7

Folosim funcția COPIE pentru a lucra cu variabile simbolice

A doua opțiune: Programul n3_2; Useescrt; var a,b:string; Începeți Clrscr; a:=‘informatica”; b:=a+a+a+a; writeln(b); Sfârșit.

Folosim definiția unui șir ca o matrice de caractere

Slide 9

Conversie de tip 8

Funcția STR

Str(x, S) convertește numărul x în format șir. Unde x este orice expresie numerică, S este o variabilă șir.

Sarcina 4. Scrieți un program care imprimă prima și ultima cifră a unui număr natural introdus de la tastatură.

PROGRAM Primer; foloseste Crt; VAR S: ȘIR; n:INTEGER; BEGIN Write("Introduceți un număr ");readln(n); Str(n,S); Writeln("Prima cifră -",S); Writeln("Ultima cifră este ",S); SFÂRŞIT.

Să ne transformăm număr natural a alinia

Slide 10

Procedura val vă permite să convertiți caracterele digitale (imaginea unui număr) într-un număr. În general, un apel la o procedură arată astfel: VAL (String, Number, Code) ; unde String este o constantă sau variabilă șir care conține o imagine a unui număr; Număr – o variabilă de tip întreg sau fracționar căreia trebuie să i se atribuie o valoare Cod – cod de eroare returnat de procedură (întreg)

Conversie de tip 9

Procedura VAL

Slide 11

Conversie tip 10

BEGIN s1:="123456789"; val(s1,n,code); Writeln(n); SFÂRŞIT.

BEGIN s1:="123456789ABCDE"; val(s1,n,code); Writeln(n); SFÂRŞIT.

Slide 12

s1:="ABCDE123456789"; val(s1,n,code); Writeln(n);

PascalABC are un arsenal mai dezvoltat de transformări precum DELPHI: S:=IntToStr(N) - convertește un întreg într-un șir; n:=StrToInt(S) - convertește un șir într-un număr întreg S:=FloatToStr(r) - convertește un număr real într-un șir R:=StrToFloat(s) convertește un șir într-un număr real. Dacă conversia nu este posibilă, apare o eroare de rulare

Conversie de tip 11

Slide 13

Conversie de tip 12

Problema 5. Având în vedere un șir de caractere a1+a2=. Unde 1

VAR S: ȘIR; a,b,c:real; cod:INTEGER; BEGIN Write('Introduceți expresia = "); citiți(s); val(s,a,code); val(s,b,code); dacă (s="+") atunci c:=a+b; dacă (s="-") atunci c:=a-b dacă (s="*") atunci c:=a*b (s="/") atunci c:=a/b;

Luăm primul și al treilea caracter din șir și le convertim într-un număr

Slide 14

Simboluri și codurile acestora 13

Funcțiile ORD și CHR

Funcția Ord(S) – determină numărul ordinal al simbolului.

Funcția Chr(i) – determină caracterul cu numărul de serie i

Prin numărul 255 derivăm simbolul din tabelul de coduri I

Slide 15

Simboluri și codurile acestora 14

Sarcina 6. Creați un program care, pe baza unui caracter introdus de la tastatură, își afișează numărul în tabelul de coduri.

PROGRAM Primer; foloseste Crt; VAR S: char; n,cod:INTEGER; BEGIN Write("Introduceți caracterul ");readln(s); Writeln("Simbolul ", s," are codul -",ord(s)); SFÂRŞIT.

Funcția ORD funcționează numai cu tipul de date caracter

Slide 16

Problema 7. Dat un șir de caractere. Determinați de câte ori apare litera A (rusă) în ea.

Programul n5; UsesCrt; Var s:șir; i,k:întreg; beginClrScr; Write("Introduceți un șir"); readln(e); k:=0; pentru i:=1 la lungime(s) do if (s[i]="A") atunci k:=k+1; writeln("Litera A apare = ", k:8," ori"); Sfârşit.

Repetați de la 1 la ultima literă

Dacă A se află pe locul i, creșteți K cu 1

Numărarea caracterelor din rândul 15

Slide 17

Nota 16

pentru i:=1 până la lungimea(e) începe dacă (s[i]=…… dacă (s[i]=…… sfârșit);

Comentariu. Dacă trebuie să căutați mai multe caractere într-o linie, atunci includem condițiile între paranteze ale programului ÎNCEPE ... Sfârșit

Slide 18

Numărarea caracterelor din rândul 17

Start Intrare S i,1,lungime(i) Si ="A" K=K+1 Ieșire K Sfârșit Da Nu

Organigramă pentru problema numărării literelor A într-o linie

Slide 19

Înlocuirea caracterelor din rândul 18

Problema 8. Dat un șir de caractere. Înlocuiți toate literele A din el cu litera O.

Programul n6; UsesCrt; Var s:șir; i:întreg; beginClrScr; Write("Introduceți un șir"); readln(e); for i:=1 to length(s) do if (s[i]="A") atunci s[i]:="O"; scrie(e); Sfârşit.

Dacă A este pe locul i, puneți-l locul i DESPRE.

Slide 20

Înlocuirea caracterelor din rândul 19

Si = "O" Ieșire S

Diagramă pentru problema înlocuirii literei A cu O