infoegehelp.ru

Успешно сдать ЕГЭ по информатике
  • Главная
  • Контакты
  • Карта сайта
  • Помощь сайту
Важно
  • Демо варианты ЕГЭ
  • Учим числа: 2 в степени
  • Биты, байты, килобайты
Решение задач
  • Задачи вне основных разделов информатики
Разделы информатики
  • 2011-12-18-14-33-54Системы счисления
  • 2011-12-18-16-45-20Алгебра логики
  • 2011-12-18-16-55-26Программирование
  • 2011-12-18-16-53-40Кодирование информации
  • 2011-12-18-16-56-19Компьютерные сети и Интернет
  • -excelЭлектронные таблицы (Excel)
  • 2011-12-18-16-57-50Базы данных
  • 2011-12-18-16-58-50Графы
  • 2011-12-18-17-00-15Файловая система
  • Устройство компьютера
  • ПО компьютера

Разбор задачи C2 (демо ЕГЭ 2008)

Опишите на русском языке или одном из языков программирования алгоритм подсчета максимального количества подряд идущих совпадающих элементов в целочисленном массиве длины 30.
Решение:

Программа написана на языках:

  • Паскаль (среда разработки Turbo Pascal 7.0),
  • Бейсик (среда разработки Quick Basic 4.5),
  • Алгоритмический язык (среда разработки Кумир 1.9.0),
  • Си (среда разработки Borland C++ 3.1).

Напротив названия языка программирования в скобках содержатся ссылки на скачку исходников и ехе (исполняемых файлов).

Паскаль (исходник+exe-файл)
Бейсик (исходник)
const N = 30;
var A:array[1..N] of integer;
     maxCoin, numCoin, i: integer;
begin
   for i:=1 to N do readln(A[i]);
   maxCoin:=1;
   numCoin:=1;
   for i:= 2 to N do
   begin
     if A[i]=A[i-1] then numCoin:=numCoin+1
     else
     begin
       if numCoin>maxCoin then
         maxCoin:=numCoin;
       numCoin:=1;
     end;
   end;
   if numCoin>maxCoin then
      maxCoin:=numCoin;
   write(char(13)+char(10));
   writeln(maxCoin);
   readln
end.
N=30
DIM i, maxCoin, numCoin, A(N) AS INTEGER
FOR i = 1 TO N
   INPUT A(i)
NEXT i
maxCoin = 1
numCoin = 1
FOR i = 2 TO N
  IF A(i) = A(i-1) THEN
    numCoin=numCoin+1
  ELSE
    IF numCoin>maxCoin THEN
      maxCoin = numCoin
    END IF
    numCoin = 1
  END IF
NEXT i
IF numCoin>maxCoin THEN
  maxCoin = numCoin
END IF
PRINT
PRINT maxCoin
END

Алгоритмический язык (исходник)
Си (исходник+exe-файл)
алг
нач
   цел N=30
   целтаб A[1:N]
   цел i, maxCoin, numCoin;
   нц для i от 1 до N
     ввод A[i]
   кц
   maxCoin:=1
   numCoin:=1
   нц для i от 2 до N
     если A[i]=A[i-1]
       то  numCoin:=numCoin+1
       иначе
          если numCoin>maxCoin
            то maxCoin:=numCoin
          все
          numCoin:=1
     все
   кц
   если numCoin>maxCoin
     то maxCoin:=numCoin
   все
   вывод нс,maxCoin
 кон
#include <stdio.h>
#include <conio.h>
#define N 30
void main(void)
{
   int A[N];
   int i, maxCoin, numCoin;
   for (i=0; i<N; i++) scanf("%d",&A[i]);
   maxCoin=1;
   numCoin=1;
   for (i=1; i<N; i++){
      if(A[i]==A[i-1])  numCoin++;
      else{
        if(numCoin>maxCoin) maxCoin=numCoin;
        numCoin=1;
      }
   }
   if(numCoin>maxCoin)  maxCoin=numCoin;
   printf("\n%d",maxCoin);
   getch();
}    
Естественный язык
Для хранения максимального количества подряд идущих одинаковых элементов введем переменную maxCoin, а для хранения количества очередных подряд идущих совпадающих элементов - счетчик numCoin. При проходе массива сравниваем очередной элемент с предыдущим элементом. Если они совпадают, то мы увеличиваем на 1 переменную numCoin. Если они неравны, тогда сравниваем переменные maxCoin и numCoin. Если numCoin больше, то приравниваем ему переменную maxCoin. Далее счетчик приравниваем единице.  Эти действия повторяем при всем проходе массива. После завершения работы цикла еще раз сравниваем numCoin и maxCoin. Если счетчик numCoin больше, приравниваем ему maxCoin.

Пример выполнения программы на 4-х языках:

Задача С2 ЕГЭ по информатике 2008 выполнение программы

Из рисунка видно, что максимальное количества подряд идущих совпадающих элементов равно 4-м. Это подряд идущие элементы со значением 10 (выделены розовым). Программа вывела то же значение.

Перейти к другим задачам.

 

Rambler's Top100

© Латыпова В, 2012-2015. Все права защищены.
Копирование материалов сайта только с разрешения администрации сайта