Вторник, 08.10.2024, 20:42
Информатика и математика в Плесской школе
Приветствую Вас Гость | RSS
Меню сайта
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
Задания школьного тура олимпиады по информатике в 9 – 10 – 11 классе
2010 – 2011 учебный год
Задача №1.  Найти наибольшее целое число из четырех введенных с клавиатуры.
Решение задачи №1

Program n1;
 Uses Crt;
 var
  x,y,z,w:integer;
begin
  writeln('Введите четыре целых числа');
  write('x=');readln(x);
  write('y=');readln(y);
  write('z=');readln(z);
  write('w=');readln(w);
  if x < y then  x := y;
  if x < z then  x := z;
  if x < w then  x := w;
  writeln('Максимальное число =    ', x);
end.
  



Задача №2. Написать программу, которая будет менять местами два введенных с клавиатуры слова. Слова разделены пробелом.

Тест. Введено «Иван Петров», результат «Петров Иван».
  
Решение задачи №2.
Решение,  предложенное авторами олимпиады.

Program n2;
Uses Crt;
var 
  str, str2:string; 
  i:integer; 
begin 
  writeln('Введите строку символов');
  readln(str); 
  for i := 1 to length(str) do 
    if str[i] = ' ' then 
      begin 
         str2 := copy(str,1,i-1);
         delete(str,1,i); 
      end; 
writeln('Итоговая строка - ',str + ' '+ str2); readln; 
end.

Мой вариант

Program n2;
Uses Crt;
var
  str,str1, str2:string;
  i:integer;
begin
  write('Введите строку символов');readln(str);
  i:=1;
  while str[i]<>' ' do i:=i+1;
  str1:=copy(str,1,i);
  str2:=copy(str,i,length(str));
writeln('Итоговая строка - ',str2 + ' '+ str1); readln;
end.


Задача №3. Подсчитайте, сколько слов во введенном предложении начинается с буквы «w» .
 
Решение задачи №3
Program n3;
Uses Crt;
var
  str:string;
  x ,i:integer;
begin
    writeln('Введите предложение'); 
  readln(str);
x:=0;
  for i:=1 to length(str) do
    if (str[i]=' ') and (str[i+1]= 'w')then x:=x+1;
  if str[1]='w' then
    x:=x+1;
    writeln(‘Количество слов в предложении  начинающихся буквой «w»  =  ‘ , x); 
end.

Задача №4. В массиве А[1..n], состоящем из целых чисел, найдите самую длинную последовательность идущих подряд нулей. Укажите начало и конец. 
Решение задачи №4

program n5;
uses crt;
var a:array [1..10]of integer;
i,lmax,l,flag,nac,max_nac,con,max_con:integer;
begin
writeln('Введите элементы массива :) ;
for i:=1 to 10 do read (a[i]) ;
for i:=1 to 10 do write (a[i],' ' );
writeln;
lmax:=0;
l:=1;
flag:=0;
nac:=0;
con:=0;
if a[1]=0 then nac:=1;
for i:=1 to 9 do begin
if (a[i+1]<>0) and (a[i]=0)then con:=i;
if (a[i]=a[i+1]) and (a[i]=0) then 
    begin
      if i>=2 then  if (a[i-1]<>0) and    (a[i]=0) then nac:=i;
      l:=l+1;
      flag:=1;
    end
    else begin
           if l>lmax then begin
                            lmax:=l;
                            max_nac:=nac;
                            max_con:=con;
                            end;
                            l:=1;
                         end;
end;
if l>lmax then begin
                lmax:=l;
                max_nac:=nac;
                max_con:=i+1;
               end; 

if flag=0 then writeln('0-нет') else begin
writeln('самая длинная последовательность 0 =',lmax);
writeln('начало 0 =',max_nac);
writeln('конец 0 =',max_con);
end;

end.

Поиск
Календарь
«  Октябрь 2024  »
ПнВтСрЧтПтСбВс
 123456
78910111213
14151617181920
21222324252627
28293031
Архив записей
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Учительский портал
    Copyright MyCorp © 2024