Практика программирования (Бейсик, Си, Паскаль)


Задачи, советы и ответы - часть 3


CASE "a" TO "n": MID$(A$,j,l)=CHR$(ASC(MID$(A$,j,l))-32)

CASE "p" TO "я": MID$(A$,j,1)=CHR$(ASC(MID$(A$,j,1))-90)

CASE "e": MID$(A$,j,l)="E"

END SELECT

NEXT j

END SUB

Программа 3_02a.bas

RЕМ Замена малых русских букв большими

DECLARE FUNCTION UP$(A$)

PRINT "Введите строку, содержащую малые и большие буквы"

INPUT "",A$

B$=UP$(A$)

PRINT A$

PRINT B$

END

FUNCTION UP$(A$)

'Чтобы не испортить аргумент А$, введена локальная переменная

DIM В AS STRING

В=А$

FOR J=l TO LEN(A$)

SELECT CASE MID$(В,J,1)

CASE "a" TO "z": MID$ (B, J, 1) =CHR$ (ASC (MID$ (B, J, 1) )-32)

CASE "a" TO "n": MID$ (B, J, 1)=CHR$ (ASC (MID$ (B, J, 1) ) -32)

CASE "p" TO "я": MID$(B,J,1)=CHR$(ASC(MID$(B,J,1))-80)

CASE "e": MID$(B,J,1)="E"

END SELECT

NEXT J

UP$=B

END FUNCTION

Программа 3_02.с

/* Замена малых русских букв большими */

# include <stdio.h>

#include <conio.h>

#include <string.h>

char *up(char *a);

void main() {

char a[80],*b;

printf("\n Введите строку, содержащую малые и большие буквы\n");

gets(a);

b=up(а);

printf("\na=%s",a);

printf("\nb=%s",b);

getch (); }

char *up(char *a) {

unsigned char b[80]; int j ;

strcpy(b,a);

for(j=0; j<strlen(a); j++) {

if ( 97<=b[j] && b[j]<=122) b[j]-=32;

if (160<=b[j] && b[j]<=175) b[j]-=32;

if (224<=b[j] && b[j]<=239) b[j]-=80;

if (241==b[j]) b[j]— ; }

return b; }

Программа 3_02.pas

program UperCase;

{ Замена малых русских букв большими }

var

a,b>:string[80] ; function up(a:string):string; var

j:integer;

begin

for j:=1 to length(a) do

case a[j] of

'a1..'z': a[j] :=chr (ord (a [ j ] )-32) ;

'a'.,'n'; a[j]:=chr(ord(a[j])-32);

'р'.'я': a[j]:=chr(ord(a[j])-80);

'ё': a[j]:='Ё'; end;

up:=a; end; begin

writeln('Введите строку, содержащую малые и большие буквы ');




Начало  Назад  Вперед