Меню
Разработки
Разработки  /  Информатика  /  Презентации  /  10 класс  /  Символьные массивы

Символьные массивы

Презентация содержит теоретическую часть, разбор задач и задачи для самостоятельного выполнения

04.04.2018

Содержимое разработки

СИМВОЛЬНЫЕ МАССИВЫ

СИМВОЛЬНЫЕ МАССИВЫ

Примером одномерного массива служит список класса, где фамилия и имя ученика – элементы массива, а размер массива – число учеников в классе. После того, как данные введены в массив, ими можно оперативно распоряжаться. Доступен любой элемент массива. Достаточно только указать его индекс.
  • Примером одномерного массива служит список класса, где фамилия и имя ученика – элементы массива, а размер массива – число учеников в классе.
  • После того, как данные введены в массив, ими можно оперативно распоряжаться. Доступен любой элемент массива. Достаточно только указать его индекс.
Задача 1: Введите массив строк из N элементов, напечатайте элементы массива в прямом и обратном порядке.

Задача 1:

  • Введите массив строк из N элементов, напечатайте элементы массива в прямом и обратном порядке.
Program prim1;  uses crt;  const n=3;  var a: array[1..n] of string;    i: integer;  begin   clrscr;   for i:=1 to n do begin    write (i,’ ‘); readln (a[i])   end;   writeln;   for i:=1 to n do begin    write (a[i],’ ‘,a[n+1-i])   end;   readln  end.
  • Program prim1;

uses crt;

const n=3;

var a: array[1..n] of string;

i: integer;

begin

clrscr;

for i:=1 to n do begin

write (i,’ ‘); readln (a[i])

end;

writeln;

for i:=1 to n do begin

write (a[i],’ ‘,a[n+1-i])

end;

readln

end.

Задача 2:

Задача 2:

a[j] then begin r:=a[i]; a[i]:=a[j]; a[j]:=r end; end; for i:=1 to n do writeln (a[i]); readkey end. " width="640"
  • Program prim2;

uses crt;

const n=3;

var a: array[1..n] of string; r: string; i,j: integer;

begin

clrscr;

for i:=1 to n do begin

write (i,’ ‘); readln (a[i])

end;

for i:=1 to n-1 do begin

for j:=i+1 to n do

if a[i]a[j] then begin

r:=a[i]; a[i]:=a[j]; a[j]:=r

end;

end;

for i:=1 to n do

writeln (a[i]);

readkey

end.

Задача 3 : Ввести массив слов A(N) и найти в нем максимальную по длине строку.

Задача 3 :

  • Ввести массив слов A(N) и найти в нем максимальную по длине строку.
Program prim3;  uses crt;  const n=3;  var a: array[1..n] of string;   r: string; i,j: integer;  begin   clrscr;   for i:=1 to n do begin   write (i,’ ‘); readln (a[i]);   end;   max:=length(a[1]);   for i:=1 to n do begin   if max  r:=a[i]   end;   writeln (max, ‘ ‘,r)   readkey  end.
  • Program prim3;

uses crt;

const n=3;

var a: array[1..n] of string;

r: string; i,j: integer;

begin

clrscr;

for i:=1 to n do begin

write (i,’ ‘); readln (a[i]);

end;

max:=length(a[1]);

for i:=1 to n do begin

if max

r:=a[i]

end;

writeln (max, ‘ ‘,r)

readkey

end.

length (a[j]) then begin r:=a[i]; a[i]:=a[j]; a[j]:=r end; " width="640"

Задача 4 (самостоятельно)

  • Ввести массив строк A(N) и упорядочить его по возрастанию длин строк.
  • Решение: в программе примера 2 заменить строку 10 на :

if length (a[i])length (a[j]) then

begin

r:=a[i]; a[i]:=a[j]; a[j]:=r

end;

Задача 5 : Перепишите фамилии учащихся в случайном порядке. Решение:  Зададим массив B(N) фамилиями учащихся. Затем найдем N целых чисел в пределах от 1 до N и занесем их в массив A . Далее распечатаем последовательно элементы массива B(A(I)) .

Задача 5 :

  • Перепишите фамилии учащихся в случайном порядке.
  • Решение: Зададим массив B(N) фамилиями учащихся. Затем найдем N целых чисел в пределах от 1 до N и занесем их в массив A . Далее распечатаем последовательно элементы массива B(A(I)) .
Program prim5;  uses crt;  const n=3;  var a: array[1..n] of integer;    b: array[1..n] of string;    i,k,x: integer;  labal 50;  begin   clrscr;   randomize;   for i:=1 to n do begin    write (i,’ ‘); readln (b[i])   end;   writeln;   a[1]:=trunc(random(n))+1; k:=1;   50: x:=trunc(random(n))+1;   for i:=1 to k do    if x=a[i] then goto 50;   k:=k+1; a[k]:=x;   if k  for i:=1 to n do    writeln (i,’ ‘,b[a[i]]);   readkey  end.
  • Program prim5;

uses crt;

const n=3;

var a: array[1..n] of integer;

b: array[1..n] of string;

i,k,x: integer;

labal 50;

begin

clrscr;

randomize;

for i:=1 to n do begin

write (i,’ ‘); readln (b[i])

end;

writeln;

a[1]:=trunc(random(n))+1; k:=1;

50: x:=trunc(random(n))+1;

for i:=1 to k do

if x=a[i] then goto 50;

k:=k+1; a[k]:=x;

if k

for i:=1 to n do

writeln (i,’ ‘,b[a[i]]);

readkey

end.

Задача 6 : Дана строка, состоящая из нескольких слов, между словами стоит один пробел, в конце предложения – точка. Подсчитать количество слов и вывести на экран только те из них, которые начинаются с буквы «а» (слов не больше 30). Решение:  разобьем предложение на отдельные слова, и каждое будем хранить как элемент массива.

Задача 6 :

  • Дана строка, состоящая из нескольких слов, между словами стоит один пробел, в конце предложения – точка. Подсчитать количество слов и вывести на экран только те из них, которые начинаются с буквы «а» (слов не больше 30).
  • Решение: разобьем предложение на отдельные слова, и каждое будем хранить как элемент массива.
Program prim6;  uses crt;  const n=30;  var b: array[1..n] of string;    st: string[255]; k,i: integer;  begin   clrscr;   write (‘st=‘); readln (st);   k:=1; { Пока не встретится пробел, формируем очередное слово k , прибавляя по одной букве }   for i:=1 to length(st) do    if st[i]’ ‘ then b[k]:=b[k]+st[i] else { Если это не последний символ, то увеличиваем счетчик слов и начинаем формировать соответствующий элемент массива }   if ilength(str) then begin    k:=k+1; b[k]:= ‘’   end;   writeln (‘k=‘,k); { Просматриваем все слова, если первый символ очередного слова равен букве «а», то выводим его }   for i:=1 to k do    if copy(b[i],1,1)=‘a’ then write (i,’-‘,b[i],’ ‘)   readln  end.
  • Program prim6;

uses crt;

const n=30;

var b: array[1..n] of string;

st: string[255]; k,i: integer;

begin

clrscr;

write (‘st=‘); readln (st);

k:=1;

{ Пока не встретится пробел, формируем очередное слово k , прибавляя по одной букве }

for i:=1 to length(st) do

if st[i]’ ‘ then b[k]:=b[k]+st[i] else

{ Если это не последний символ, то увеличиваем счетчик слов и начинаем формировать соответствующий элемент массива }

if ilength(str) then begin

k:=k+1; b[k]:= ‘’

end;

writeln (‘k=‘,k);

{ Просматриваем все слова, если первый символ очередного слова равен букве «а», то выводим его }

for i:=1 to k do

if copy(b[i],1,1)=‘a’ then write (i,’-‘,b[i],’ ‘)

readln

end.

Задача 7 : Если длина строки нечетное число, то удалить среднюю букву. Решение:  Пусть k – это длина строки, если оно нечетное, то надо удалить средний символ, а его номер равен kDiv2+1.

Задача 7 :

  • Если длина строки нечетное число, то удалить среднюю букву.
  • Решение: Пусть k – это длина строки, если оно нечетное, то надо удалить средний символ, а его номер равен kDiv2+1.
Program prim7;  uses crt;  var k: integer; st: string;  begin   clrscr;   write (‘st=‘); readln (st);   k:=length(st);   if k mod 2=1 then delete (st, kdiv2+1,1);   writeln(st);   readln  end.
  • Program prim7;

uses crt;

var k: integer; st: string;

begin

clrscr;

write (‘st=‘); readln (st);

k:=length(st);

if k mod 2=1 then delete (st, kdiv2+1,1);

writeln(st);

readln

end.

Задача 8 :

Задача 8 :

Program prim8;  uses crt;  var d,i,k,n: integer; st: string;  begin   clrscr;   write (‘st=‘); readln (st);   k:=length(st);   n:=0;   for i:=1 to k do begin    val(st[i],d,k);    if k=0 then n:=n+d   end;   writeln(‘n=‘,n);   readln  end.
  • Program prim8;

uses crt;

var d,i,k,n: integer; st: string;

begin

clrscr;

write (‘st=‘); readln (st);

k:=length(st);

n:=0;

for i:=1 to k do begin

val(st[i],d,k);

if k=0 then n:=n+d

end;

writeln(‘n=‘,n);

readln

end.

-75%
Курсы повышения квалификации

Методика преподавания информатики в начальной школе в соответствии с ФГОС НОО

Продолжительность 72 часа
Документ: Удостоверение о повышении квалификации
4000 руб.
1000 руб.
Подробнее
Скачать разработку
Сохранить у себя:
Символьные массивы (139 KB)

Комментарии 0

Чтобы добавить комментарий зарегистрируйтесь или на сайт