Даю 40 баллов!! Необходимо решить 2 задачи ** pascal

0 голосов
30 просмотров

Даю 40 баллов!! Необходимо решить 2 задачи на pascal


image
image

Информатика (34 баллов) | 30 просмотров
Дан 1 ответ
0 голосов

Відповідь:

1)

program Pascal01;

const

 minCountWords = 14;

var

 s: string;

 words: array[1..200] of string[100];

 indexWords: Integer;

 countWords: Integer;

 countCorrectWords: Integer;

begin

countWords := 0

indexWords := 0;

repeat

 indexWords := indexWords + 1;

 read(words[indexWords]);

until length(words[indexWords]) > 0;

if (indexWords < minCountWords) then

begin

  Write('Введено меньше 14 слов')

  Halt(1);

end

else

  countWords := indexWords;

countCorrectWords := 0;

for indexWords := 1 to countWords do

begin

 if (words[indexWords][1] = words[indexWords] [length(words[indexWords])]) then

    inc(countCorrectWords);

end;

Writeln('countCorrectWords= ', countCorrectWords);

end.

--------------------------------------------------------------------------------

2)

program Pascal02;

const

 maxn = 100;

var

 massiv: array[1..maxn] of integer;

 index: Integer;

 indexFirst0: Integer;

 n: integer;

begin

Write ('Введите n=? ');

Readln(n);

for index := 1 to n do

begin

  Write ('Введите massiv[' + index + ']=? ');

  Readln(massiv[index]);

end;

indexFirst0 := -1;

index := 1;

while ((index < n+1) and (indexFirst0 = -1)) do

begin

 if massiv[index]=0 then indexFirst0 = index;

 inc(index);

end;

if (indexFirst0 = -1) then

  Writeln('В массиве нет элемента =0')

else

  Writeln('Индекс элемента =0 =', indexFirst0)

end.

Пояснення:

1)

а) будем вводить отдельно каждое слово. пустое слово (просто ентер) - конец ввода.

б) слова разместим сразу в массиве words[]

2)

вводим n

вводим n элементов массива

просматриваем массив, если нашли 0 - цикл прекращается. если массив закончился, а нуля нет то indexFirst0 = -1.

анализируем indexFirst0, если -1 - то нет, если не -1 - выводим индекс нуля.

(4.3k баллов)