Знайти, яке з двох введених слів більше.

 Розв’язання: 
Всі розглянуті раніше операції порівняння двох величин, які ми застосовували до числових змінних, можна застосовувати і до літерних величин. Тобто можна говорити, що одна величина дорівнює іншій, або величина А більша (менша) за величину В. Тут необхідно зробити відповідні роз’яснення.
    По–перше, зрозуміло, що «мама» = «мама», але тільки у тому випадку, коли всі літери в обох словах написані одними й тими ж символами, тобто літерами одного і того ж алфавіту. Якщо ж ми у першому слові літери «а» напишемо літерами англійського алфавіту, а у другому – на перший погляд ті ж самі літери «а» напишемо у російському (українському) алфавіті, то ці слова вже не будуть однаковими. Це пов’язано з тим, що, як ми вже вказували, тип string описано як масив типу char, а останній тип є впорядкованим і однакові на вигляд літери різних алфавітів не є однаковими, оскільки їм відповідають різні порядкові номери відповідних символів.
    По–друге, як бути у випадках, коли слова мають різну кількість літер («мама» – «мам»), або ж відрізняються одним символом («мама» – «Мама»)? У даному випадку (як і всіх інших) ПЕОМ діє наступним чином: порівнюються попарно відповідні літери двох слів і як тільки виявляється, що два чергові символи в слові відмінні, то більшим вважається те слово, у якого код даного символу більший.
Все вищесказане демонструє наступна програма:
program poriwn_stroki; var st1, st2 : string;     i,s: integer; begin   write('Введiть переше слово: ');
readln(st1);   write('Введiть друге слово: ');
readln(st2);   s := 0;   for i := 1 to length(st1) do   begin     write(ord(st1[i]):3,' ');     s := s + ord(st1[i]);   end;   writeln('s = ',s);   s := 0;   for i := 1 to length(st2) do   begin     write(ord(st2[i]):3,' ');     s := s + ord(st2[i]);   end;   writeln('s = ',s);   if st1 = st2 then
writeln('Слова однаковi')   else if st1 > st2 then
writeln('Переше слово бiльше')        else
writeln('Друге слово бiльше');   readln; end.

Немає коментарів:

Дописати коментар