вівторок, 30 червня 2015 р.

Хмара слів-це модно?

Сервис ImageChef позволяет создать мозаику из слов, анимированные открытки, мэшапы. Работа с сервисом возможна без регистрации, в этом случае можнo быстро создать работу и сохранить её на компьютерe. Если вы зарегистрируетесь, то у вас появится возможность управлять созданными работами. Полученный продукт можно использовать в дальнейшем локально в виде изображения или получить специальный код для отображения созданной мозаики в своем блоге. Все на русском языке. Сервис рассчитан на подростковую аудиторию.

Літерні величини задачі з сайту e-olimp


1. Кількість слів

Є деяке речення на невідомій мові. Порахувати кількість слів у ньому. Літерами алфавіту у невідомій мові є літери латинського алфавіту та арабські цифри. Гарантується, що інших символів, крім пропусків та розділових знаків у реченні нема.

Вхідні дані
У єдиному рядку дано речення на невідомій мові.

Вихідні дані

Єдине число - кількість слів у ньому.

Код програми

program kilkist_sliv;
var s:string; i,j:integer;
begin
readln(s);
s:=s+' '; j:=0;
for i:=2 to length(s) do
 if (s[i]=' ') and (s[i-1]<>' ') then j:=j+1;
writeln(j) ;
readln;
end.

2. Слово чемпіон

Дано деяке речення на невідомій мові. Назвемо слово у ньому чемпіоном, якщо воно є паліндромом і кількість літер у ньому максимальна. Літерами алфавіту у невідомій мові є літери латинського алфавіту та арабські цифри. Гарантується, що інші символи, крім пропусків та розділових знаків, у реченні відсутні.
Вхідні дані

Речення на невідомій мові.

Вихідні дані
Номер слова чемпіона.

Код програми

program z3;
Var s,p:string;
i,max,x,y:integer;
Begin
 Readln(s);
For i:=1 to length(s) do
 If not(s[i]=' ') and not(i=length(s)) then p:=p+s[i] else
 Begin If i=length(s) then p:=p+s[i];
 If length(p)>max then
 Begin
 max:=length(p); x:=Pos(p,s);
 End;
 p:='';
 End;
Writeln(x);
Readln;
End.

3. Голосні

До голосних літер в латинському алфавіті відносяться літери A, E, I, O, U і Y. Інші літери вважаються приголосними. Напишіть програму, яка підраховує кількість голосних літер в тексті.

Вхідні дані

У вхідному файлі міститься один рядок тексту, який складається лише із заглавних латинських літер та проміжків. Довжина рядка не перевищує 100 символів.

Вихідні дані

У вихідний файл вивести одне ціле число – кількість голосних у вхідному тексті.

Код програми

program golosni;
const glas=['A','O','U','I','E','Y'];
var s:string; i,k:byte;
begin readln(s);
 k:=0; for i:=1 to length (s) do
 if s[i] in glas then k:=k+1;
writeln(k);
 readln;
end.

4. Кількість операцій

Визначити загальну кількість операцій додавання (+), віднімання (-) та множення (*) у заданому арифметичному виразі.

Вхідні дані

У єдиному рядку задано арифметичний вираз без дужок та пропусків. Кількість символів у виразі не перевищує 250.

Вихідні дані

Єдине число - кількість вказаних операцій.

Код програми

Program vpr; 
var a: string;
 n,m,k,i,s: integer;
 begin 
readln(a);
 s:=0; n:=0; m:=0; k:=0;
 for i:=1 to length(a) do
 if a[i]='+' then begin n:=n+1; end; 
 if a[i]='-' then begin m:=m+1; end; 
 if a[i]='*' then begin k:=k+1; end;
 s:=n+m+k; 
writeln(s); 
readln; 
Визначити кількість речень у заданому фрагменті тексту.

Вхідні дані

У єдиному рядку задано фрагмент тексту на англійській мові, кількість символів у якому не перевищує 250. Гарантується, що у тексті відсутні тире, дефіси, цифри і числа.

Вихідні дані

Єдине число - кількість речень у фрагменті.

Код програми

program rechennya;
 var s:string;
 i,k: byte; 
begin 
readln(s); 
k:=0; 
for i:=1 to length(s) do
 if s[i] in ['.','?','!'] 
then k:=k+1;
 writeln(k); 
readln;
end.

Вчимося програмувати

На допомогу вчителям та учням (вчитель інформатики Калініченко М.М)

вівторок, 23 червня 2015 р.

Тема: Символьні та рядкові типи даних.

Рядок –це послідовність символів кодової таблиці ЕОМ.
При використанні у виразах рядок охоплюється з двох сторін апострофами. Кількість символів в рядку може змінюватися від 0 до 255.
Для опису рядкових величин використовують ідентифікатор string, після якого в квадратних дужках записується максимальне значення довжини рядка для даної величини.
Формат:
Var
   < ідентифікатор >: string[максимальна довжина рядка];
Приклад.
Var r1: string[10];
       r2: string[4];
Якщо довжина рядка не вказана, то вона автоматично приймає значення 255 байт.
Рядкові величини можна використовувати  в програмі у вигляді констант.
Приклад.
Const
   Name=’інформатика’;

1.      Основні вказівки і функції опрацювання рядкових величин .
1. Char –символьний тип   (займає 1 байт пам’яті)
Опис даних символьного типу:
          Const  name1= ‘v’; — опис символьної константи,
          Var name2: CHAR; — опис символьної змінної.
Допустимі всі операції порівняння:
                                                    <, <=, =, >, >=, <>.
Функції для роботи з символами.
CHR(N) — символ з кодом N.  Наприклад: chr(65)    
ORD(S) — код символу S. Наприклад: ord(‘A’)              
SUCC(S) — наступний символ.  Наприклад: succ(‘K’)   
PRED(S) — попередній символ. Наприклад: pred(‘K’)   
UPCASE(S) — переводить літери у верхній регістр. Наприклад: upcase(‘m’)  
2. Рядок — впорядкована послідовність символів кодової таблиці ASCII.
Опис даних рядкового типу:
          Const  <ім’я>=‘ліцей’
         Var   <ім’я>:array[1..50] of char;
         Var  <ім’я>:string[максимальна довжина рядка];
Приклад. Const R1=‘computer’;
               Var R2: STRING;
                      R3: STRING [20];
                      R3:array[1..20] of char;         
Кількість символів в рядку називається його довжиною. Довжина рядка може бути від 0 до 255. Рядкові величини можуть бути константами і змінними. Рядкова константа – це послідовність символів між апострофами.
Над рядковими величинами допустимі операція склейки (конкатенації) (+) та  операції відношення (=,<,>,<=,>=,<>).
Для рядкових величин визначені такі функції та процедури:
1.Функція Concat. Функція Concat здійснює об’єднання рядків Rl; R2, R3 в один рядок в такому порядку, в якому вони записані.
              Формат Concat(Rl,R2,R3);   або   R1+R2+R3  (string)
Приклад.   Program Fconcat;
                  Const Rl='Moвa ';   R2='програмування ';   R3=’Turbo Pascal';
                  Var R:string[35];
            begin
              R:=concat(Rl,R2,R3);
              writeln(R); end.
2. Функція Length. Функція Length видає фактичну довжину рядка, який міститься в даній змінній.
При підрахуванні довжини рядка враховуються всі символи, в тому числі і проміжки!!!
          Формат: Length(R); (integer)
Приклад. Program Flength;
                 Const R=’Turbo Pascal’;
                 Var N: integer;
                    begin
                       N:=length(R);
                       writeln('n=',N); end.
3. Функція Copy. Функція Copy копіює фрагмент довжиною N рядка R, починаючи з позиції Poz.
                        Формат Copy(R, Poz, N);     (string)
Приклад. Program Fcopy;
               const R='Turbo Pascal';
               var  R1: string[6];
            begin
             R1:=Copy(R, 7, 6);
             writeln(R1);  end.
4. Функція  Pos. Функція Pos знаходить номер позиції Р, з якої починається перше входження слова C в рядку R. Якщо слово C в рядку R не знайдено, то буде надруковано число 0.
                    Формат  Pos(C,R);   (integer)
Приклад.  Program Fpos;
             Const R=‘інформатика'; C=‘форма';
             Var P: integer;
                begin
                  P:=Pos(C, R);
                  writeln('P=',P); end.
5. Процедура Insert. Процедура Insert вставляє слово R1 в рядок R, починаючи з позиції Poz.
                  Формат Insert(R1, R, Poz);     (string)
Приклад. Program PInsert;
                 Var Poz: integer;
                       R, R1: string[35];
               begin
                R:='Moвa Pascal';
                R1:=’Turbo  ‘;
                insert(R1, R, 6);
                writeln(R); end.
6. Процедура  Delete. Процедура Delete знищує слово, яке починається з вказаної позиції Poz і має задану довжину N в рядку R.
                      Формат Delete(R, Poz, N);         (string)
Приклад.  Program PDelete;
              Var R:string[35];
           begin
               R:='Moвa Turbo Pascal';
               delete(R, 6, 6);
               writeln(R);  end.
Зверніть увагу!!! Стала нульової довжини – ‘’
         Рядок символів вводиться і виводиться як одна змінна.
         Значення типу  string  вводяться за  допомогою тільки процедури  readln і за один раз може бути введений лише один рядок.
Завдання. Ввести довільний текст. Перевірити, чи в ньому кількість відкритих дужок дорівнює кількості закритих дужок. Вивести повідомлення “так” або  “ні”.
Учням пропонується розмістити в правильному порядку елементи блок-схеми з використанням інтерактивної дошки.
Текст програми.
          Program Sumvol;
          uses crt;
         var R:string[100];
                i,k1,k2,l:integer;
        begin
       clrscr;
        writeln('Vvestu text:');
        readln(r);
        k1:=0;
       k2:=0;
       l:=length(R);
        for i:=1 to l do
             begin
            if copy(R,i,1)='(' then k1:=k1+1;
            if copy(R,i,1)=')' then k2:=k2+1;
           end;
       if k1=k2 then write('yes') else write('no');
   readln;   end.
I. Завдання 1. Скласти програму обчислення кількості букви «А» в реченні.
Приклад розв’язування задачі та складання програми.

Program z1;
Var S: string;
N, i,k:integer;
Bеgin
Writeln(‘->s’); readln(s);
N:= length(s);
K:=0; For i:=1 to n do
If s[i]=’a’ then k:=k+1;

Writeln(‘k=’,k); End.

Типовые задачи на строковые переменные

Дана строка, содержащая 20 символов. Подсчитать сколько раз буква F встречается в данной строке.
program zadacha (input, output);
{подсчет количества повторений буквы F в слове)
var
s : string[20];
i, k: integer;
begin
writeln ( ' введите слово. Количество символов в нем не должно превышать 20 ') ;
read (s) ;
k:=0;
for i:=1 to 20 do
if s[i] ='f' then k:=k+1; writeln (' буква F встречается', k, ' раз(а)')
end.
Дана строка, содержащая 20 символов. Подсчитать количество цифр, входящих в данную строку.
program zadacha (input, output); {подсчет количества цифр в слове)
var
s: string[20];
n: string[10];
k, i, j: integer;
begin
writeln (' Введите строку символов');
read (s) ;
n:='0123456789';
for i:=1 to 20 do
for j:=1 to 10 do
if s[i] = n[j] then k:=k+l; write(' в строке ', s, ' ', k, ' -цифр')
end.
Проверить является ли слово палиндромом
Дано произвольное слово. Проверить является ли оно палиндромом. (Пример: слова палиндромы - казак, шалаш, мадам, фраза «a роза упала на лапу азоpа » и т. д.)
program zadacha (input, output) ;
{проверить, является ли слово палиндромом}
var
s : string;
l, i, m, k: integer;
begin
writeln ('Введите слово');
read (s) ;
k:=0;
l : = length (s) ;
m: = trunc(l/2) ;
for i:=1 to m do
if s[i] <> s[l+1-i] then k:=1;
if k=1 then writeln (' слово', s, ' не палиндром')
else writeln (' слово', s, ' -палиндром ')
end.
Сжатие строки
Дана строка символов. Получить новую строку из первоначальной строки, без точек.
program zadacha (input, output) ; {сжатие строки}
var
s, h: string;
i, k: integer;
begin
writeln (' Введите строку символов');
read (s) ;
for i:=1 to length(s) do if s[i] <> '.' then
begin
k:=k+1;
h[k]:= s[i]
end;
for i:=1 to length(s) do write ( h[i] )
end.
Формирование новой строки
И заданной строки получить новую строку, удалив все "*" и повторив каждый символ, отличный от звездочки дважды. Распечатать полученную строку.
program zadacha (input, output); {формирование новой строки}
var
s, h : string;
i, k, l, j: integer;
begin
writeln (' Введите строку символов');
read (s) ;
k:=l;
l:=length(s);
j:=l;
for i:=1 to l do
if s[i] <> '*' then begin h[j]:=s[i]; h[j+1]:=s[i]; j:=j+2
end;
for i:=1 to 2*1 do write ( h[i] )
end.
Определение наименьшего слова в строке
Определить наименьшую длину слова в строке. Считать, что все слова отделены пробелами.

program zadacha (input, output); {определение наименьшего слова в строке}
var
s: string;
i, l, min, lw: integer;
begin
writeln (' Введите строку символов');
read (s) ;
lw:=0; {длина текущего слова}
l:= length(s);
min: = l;
for i:=1 to l do
if s[i] <> ' ' then lw:= lw+1
else if (min>lw) and (lw>0) then
begin
min = lw;
lw:=0
end;
writeln (' min= ', min)
end.

ПОЧИНАЄМО ГОТУВАТИСЯ ДО ОЛІМПІАДИ (автор Єгорова М.Е.)

Під час вивчення рядкових величин учні засвоюють процедури і функції опрацювання цих величин.

понеділок, 22 червня 2015 р.

Конкурси та змагання з інформатики


Протягом навчального року відбувається велика кількість конкурсів з інформатики. Тут розміщується інформація про ці конкурси, а також посилання на відповідні сайти.
Успіхів!

неділю, 21 червня 2015 р.

ДИСТАНЦІЙНИЙ ТУРНІР З ІНФОРМАЦІЙНИХ ТЕХНОЛОГІЙ СЕРЕД УЧНІВСЬКОЇ МОЛОДІ І ТУР І (ЗАОЧНОГО) ЕТАПУ з розв'язками



ДИСТАНЦІЙНИЙ ТУРНІР
З ІНФОРМАЦІЙНИХ ТЕХНОЛОГІЙ
СЕРЕД УЧНІВСЬКОЇ МОЛОДІ
І ТУР І (ЗАОЧНОГО) ЕТАПУ
Час виконання: 3 години
Я бачу мою дорогу, але не знаю куди вона приведе. Незнання того, куди йде дорога, надихає мене йти нею.
Росалія де Кастро

ЗАГАЛЬНІ ВИМОГИ
1.     При виконанні завдань забороняється користуватися  будь-якими джерелами (калькулятори, Інтернет, мобільні телефони, друковані матеріали тощо), крім засобів, що офіційно дозволені оргкомітетом та журі, а також засобами VBA.
2.     Не залишайте позначки в файлах чи їх назвах, що ідентифікують Вашу особу. Вони призводять до анулювання роботи.
3.     Не спілкуйтеся з сусідами, не передавайте їм ніяких речей.
4.     Ознайомтеся з Порядком взаємодії учасників з базовим ресурсом, розміщеним на офіційному сайті змагання.
5.     Консультуйтеся з питань з приводу умови за допомогою офіційного сервісу. Лише в цьому разі надана відповідь буде гарантовано коректною. Апелювання щодо некоректності відповіді на питання, поставлене неналежним чином, до уваги не братимуться.
УСПІХІВ У ВИКОНАННІ ЗАВДАНЬ!


Автори завдань: 1, 2 – Казанцева О. П., 3 – Гогерчак Г. І.


ЗАВДАННЯ 1. ТЕКСТОВИЙ ПРОЦЕСОР
Завдання слід виконувати в середовищі текстового процесора. Використання зразків безпосередньо з тексту завдання заборонено.
Пам’ятайте: правильне розуміння умови – невід’ємна складова успішного розв’язання. Члени журі та автори завдань очікують на Ваші запитання.
Створіть інтерактивний довідник готелю «Омега».
1.                Встановіть альбомну орієнтацію сторінки.
2.                На 1-й сторінці створіть зображення готелю згідно зі зразком:

3.                На цій же сторінці створіть вказівник на об’єкти відпочинку готелю згідно зі зразком (усі елементи вказівника мають бути згруповані).
4.                На 2, 3 та 4-й сторінках розташуйте об’єкти відпочинку: фонтан, пляж, басейн (їх зображення містяться в теці Word теки Для учасника).
5.                Додайте до кожного аркушу підписи об’єктів та вказівники переходу до інших об’єктів, а також оформіть зображення згідно зі зразком






6.                Застосуйте навігацію до вказівників таким чином, щоб із усіх вказівників здійснювався перехід до обраного об’єкту відпочинку. У разі наведення курсору на вказівник має з’являтися спливаюча підказка. Наприклад, у разі наведення на стрілку із написом Фонтан, з’являється таке повідомлення:
Використання засобів Visual Basic for Applications суворо заборонено.

Авторський розв'язок: Готель




ЗАВДАННЯ 2. КОМП’ЮТЕРНІ ПРЕЗЕНТАЦІЇ
Завдання слід виконувати в середовищі редактора презентацій. Використання зразків безпосередньо із завдання заборонено.
Пам’ятайте: правильне розуміння умови – невід’ємна складова успішного розв’язання. Члени журі та автори завдань очікують на Ваші запитання.
В готелі для зручного підйому відвідувачів та їх вантажу на свій поверх використовується ліфт. Засобами середовища MS PowerPoint відтворіть імітацію виклику ліфту, його підйому та спуску для триповерхового готелю.
Після запуску презентації відображені кнопка виклику та зачинені двері ліфту:

Після натискання кнопки виклику двері відчиняються (створіть анімацію цього процесу) і ліфт відображається зсередини:

Після натискання кнопки поверху, наприклад 3-го, вона зафарбовується жовтим кольором:

Двері зачиняються. На верхньому індикаторі «1» змінюється на «2», а потім «2» змінюється на «3»:
   





Після цього двері відчиняються і в області відчинених дверей з’являється напис «3 поверх». Аналогічно здійснюються зміни і при переміщенні на інші поверхи.
При виборі іншого поверху виділення кнопки попереднього поверху знімається, а кнопка вибраного поверху зафарбовується жовтим кольором.
Користувач повинен мати змогу здійснити довільну кількість спусків та підйомів до завершення презентації. Завершення має відбуватися виключно за натискання клавіші Esc на клавіатурі.

Авторський розв'язок: Ліфт


ЗАВДАННЯ 3. ТАБЛИЧНИЙ ПРОЦЕСОР
Для перевірки використовуватиметься excelTester
Завдання слід виконувати в середовищі табличного процесора. Використання зразків безпосередньо з тексту завдання заборонено.
УВАГА! Роботи перевірятиме тестувальне програмне забезпечення, тому вміщуйте вхідні та вихідні дані у вказані в умові завдання комірки.
Пам’ятайте: правильне розуміння умови – невід’ємна складова успішного розв’язання. Члени журі та автори завдань очікують на Ваші запитання.
Керівництво готелю «Омега» планує розширити його до готельного комплексу, а тому вирішило розпочати будівництво нового корпусу. Для початку їм необхідно створити план будівництва, у чому вони потребують Вашої допомоги. Ваше завдання – візуалізувати схему будівлі у розрізі зверху на основі деякої заздалегідь відомої інформації. Вихідний файл
Територія, яку може зайняти корпус, поділена на 400 квадратів – 20 квадратів у 20 рядах і розміщена в діапазоні D4:W23 єдиного аркуша електронної книги. В комірках стовпчиків Y, Z, AA та AB, починаючи з рядка 4, містяться дані про розміщення стін будівлі: не більш ніж 50 прямокутників, поданих координатами лівої верхньої (стовпці Y та Z) і правої нижньої (стовпці AA та AB) вершин. Кожна координата є натуральним числом, що відповідає стовпчику (x) або рядку (y) сітки, тобто числом від 1 до 20.
Необхідно в діапазоні D4:W23 візуалізувати місцезнаходження стін: за заданими координатами протилежних точок прямокутників відобразити на сітці рамки прямокутників. Якщо через певну комірку проходить стіна – в ній записується 1, інакше комірка залишається порожньою.

У разі зміни вхідних даних у стовпцях Y, Z, AA та AB дані діапазону D4:W23 повинні змінюватися автоматично.

УВАГА! Роботи перевірятиме тестувальне програмне забезпечення, тому вміщуйте вхідні та вихідні дані у вказані в умові завдання комірки.

Авторський розв'язок : План