субота, 28 листопада 2020 р.

Початок роботи на e-olimp




 Всім моїм учням хочу побажати міцного здоров'я. Сама перемагаю хворобу і дякую за прекрасні побажання одужання, що дають мені сили.

Оскільки в цьому році змінилися форма та стиль навчання, учні 7-9 класів мали можливість через Google classroom долучитися до вивчення основ алгоритмізації засобами мови програмування Python. Разом з тим, не можна забувати надбання минулих років, коли ми знайомились з візуальним об'єктно-орієнтованим середовищем Lazarus. 

Всі ці думки, а також успіхи учнів у засвоєнні матеріалу змусили мене саму працювати, мабуть тепер наступним кроком мотивації та розвитку є розв'язування задач на сайті e-olimp

Спершу рекомендації: починати із сторінки, де задачі систематизовані за складністю та типом алгоритму. Наважуся навести приклади моїх розв'язків, не сумніваюся, що ваші будуть не гіршими. Роблю це для того, щоб запросити усіх охочих перебороти свої страхи та невпевненість, подивіться, як це легко. 

Курс олімпійця для початківців

Розв'язки задач

1) Проста задача

 Pascal:

var a:integer; begin read(a); writeln(a div 10:1, a mod 10:2); end.

Python:

a=int(input("")) print(a//10,a%10)

2) Добуток цифр

Python

a=int(input()) a1=a%10 a=a//10 a2=a%10 a3=a//10 print(a1*a2*a3)

3) Кільце

Python

import math S,R1=input().split() S=float(S) R1=float(R1) Pi=math.pi R2=((Pi*R1**2-S)/Pi)**0.5 R2=format(R2,'.2f') print(R2)

4) Друзі Степана

Python

n=int(input()) print(n-1)

Не можу не поділитися задачею, яка забрала досить часу минулого року під час підготовки
до олімпіади, вимагає глибокого розуміння представлення інформації в пам'яті
комп'ютера.
Дуже сподіваюсь, що мої уроки інформатики у 8 класі цього року пройшли недаремно,
маю на увазі системи числення та розрядну сітку, одиниці вимірювання довжини коду.

5) Висока точність

Pascal

var j, t, m, n, k:longint; a:array[0..1001] of integer; begin readln (m, n, k); a[0]:=m div n; m:=(m mod n)*10; for t:=1 to k do begin a[t]:=m div n; m:=(m mod n)*10; end; if k=0 then begin writeln (a[0]); halt; end; write (a[0], '.'); for j:=1 to k do write (a[j]); end.

6) Який трикутник

Python

a, b, c = map(int, input().split()) if ((a+b>c)and(a+c>b)and(b+c>a)): if (a==b==c): print('1') else: if((a==b)or(a==c)or(b==c)): print('2') else: print('3')

Пропонує вашій увазі розв'язок Сватенка Степана з 8 класу

(на жаль 90% тестів), але красиво

Python

d = [str(input()) + " ",1] def kot(): if d[0][1] != " ": v = str(d[0][0] + d[0][1]) else: v = d[0][0] return v v = kot() def tin(): if d[0][1] == " " and d[0][4] == " ": g = str(d[0][2] + d[0][3]) elif d[0][1] == " " and d[0][3] == " ": g = d[0][2] elif d[0][2] == " " and d[0][5] == " ": g = str(d[0][3] + d [0][4]) elif d[0][2] == " " and d[0][4] == " ": g = d[0][3] return g g = tin() def tot(): if d[0][3] == " " and d[0][5]== " ": h = d[0][4] elif d[0][3] == " " and d[0][6]== " ": h = str(d[0][4] + d[0][5]) elif d[0][5] == " " and d[0][7]== " ": h = d[0][6] elif d[0][5] == " " and d[0][8]== " ": h = str(d[0][6] + d[0][7]) elif d[0][4] == " " and d[0][6]== " ": h = d[0][5] elif d[0][4] == " " and d[0][7]== " ": h = str(d[0][5] + d[0][6]) return h h = tot() def tik(): if v == g == h: print("1") elif v == g or g == h or h == v: print("2") elif v != g and g != h and h!= v: print("3") if (int(v) + int(g)) > int(h) and int(v) < (int(g) + int(h)) and (int(h) + int(v)) > int(g): tik()

7) Середнє з чисел (задача № 108)

Python

a,b,c=map(int,input().split()) if ((a<b)and(b<c)): print(b) else: if((a<c)and(c<b)): print(c) else: if((b<a)and(a<c)): print(a) else: if((b<c)and(c<a)): print(c) else: if((c<b)and(b<a)): print(b) else: if((c<a)and(a<b)): print(a)

8) Квадратне рівняння (911)

Python

a,b,c=map(int,input().split()) d=b**2-4*a*c if (d<0): print("No roots") else: if(d==0): print("One root:", int(-b/(2*a))) else: x1=int((-b-d**0.5)/(2*a)) x2=int((-b+d**0.5)/(2*a)) if(x1>x2): print("Two roots:",x2,x1) else: print("Two roots:",x1,x2)

9) Цифри (2)

Pascal

var a,k:longint; begin read(a); k:=0; while (a<>0) do begin a:=a div 10; k:=k+1; end; if k=0 then writeln(k+1) else writeln(k); end.

10) Яка чверть (918)

Python

x,y=map(float,input().split()) if((x==0)or(y==0)): print("0") else: if((x>0)and(y>0)): print("1") else: if((x<0)and(y>0)): print("2") else: if((x<0)and(y<0)): print("3") else: print("4")

11) Перша чи остання (903)

Python

a=int(input()) od=a%10 sot=a//100 if(od>sot): print(od) else: if(od<sot): print(sot) else: print("=")

12) Пора року (923)

Python

a=int(input()) if((a==12)or(a==1)or(a==2)): print("Winter") else: if((a>2)and(a<6)): print("Spring") else: if((a>5)and(a<9)): print("Summer") else: print("Autumn")

13) Прямокутний чи ні? (915)

Python

a,b,c=map(int,input().split()) if((a**2+b**2==c**2)or(b**2+c**2==a**2)or(a**2+c**2==b**2)): print("YES") else: print("NO")

14) Одиниці (622)

Python

a=int(input()) n=0 while a>0: if(a%2==1): n+=1 a=a//2 print(n)

15) Трикутник (418)


Python

s1, s2, s3 = map(float,input().split()) s = s1+s2+s3+2*(pow(s1*s3,0.5)+pow(s2*s3,0.5)+pow(s1*s2,0.5)) s=format(s,'.8f') print(s)

Ті, що діляться на 6 (908)

Python

n=int(input()) s=0 i=0 numbers = list(map(int,input().split())) for k in range(n): if ((numbers[k]%6) == 0)and(numbers[k]>0): s+=numbers[k] i+=1 print(i,s)


пʼятниця, 6 листопада 2020 р.

Безпечний «серфінг» в Інтернеті: 15 правил, про які ви точно повинні знати By Margarita Poltoratskaya

Зберігайте посилання на блог, щоб не втратити найкорисніший список в Інтернеті:


1. Не повідомляйте нікому і не публікуйте в відкритих джерелах конфіденційну інформацію (номери банківських карт, ПІН-коди, паролі, паспортні дані).


2. Листи з сканами документів краще видаляти відразу після відправки або отримання, ми не рекомендуємо зберігати їх в пошті.


3. Не довіряйте неперевіреними Wi-Fi-з'єднанням, які не можуть звертатися пароль. При використанні відкритих Wi-Fi (на вулиці, в торгових центрах або ресторанах) бажано активувати VPN - так ви мінімізуєте ризик стати мішенню для хакерів.


4. Не забувайте регулярно міняти паролі від своїх соціальних мереж.


5. Не заходьте в онлайн-банки та інші сервіси через відкриті Wi-Fi-мережі, які «роздають» Інтернет по всьому місту.


6. Встановіть і оновлюйте антивірус, а також не забувайте його оновлювати, щоб він зміг блокувати навіть найновіші віруси, які, на жаль, з'являються щодня.


7. Не переходьте за посиланнями, які надсилають вам незнайомі люди. Якщо посилання надіслав знайома людина - треба запитати у нього, що таке він вам надіслав.


8. Ніколи не відповідайте на спам, залишайте скаргу на сумнівні повідомлення або паблік, в яких процвітають несанкціоновані розсилки.


9. Якщо ви отримали повідомлення з проханням терміново вислати гроші, нічого не відправляйте. Постарайтеся зв'язатися з цією людиною або задати ряд уточнюючих питань, на які відповіді знає тільки він. З імовірністю 90% в процесі листування (або дзвінка) ви обчисліть зловмисника. Не забудьте поскаржитися на його аккаунт, щоб «вирвати» номер з рук зловмисників.


10. Регулярно робіть резервні копії.


11. Перевірте актуальність покупок в вашому магазині: Play Market / Appstore (в залежності від операційної системи вашого телефону).


12. Встановіть пароль на десктопну версію Viber. Для цього треба зайти в розділ «Налаштування» - «Безпека та конфіденційність» і підключіть автоблокування.


13. Не забувайте про блокування екрану комп'ютера. За 5 хвилин вашої відсутності сторонні люди можуть зіпсувати вашу репутацію на просторах Інтернету назавжди.


14. Не забувайте про секретні чати в Viber.


15. Не забувайте про приховані чати в Viber.

Bezpechnyy «serfinh» v Interneti: 15 pravyl, pro yaki vy tochno povynni znaty

By Margarita Poltoratskaya

Створення меню в CSS

  Приклад стилю для меню body { font-family: Arial, San-Serif; font-size: 100%; background-color: #F6F2FF; } h1,h2,footer, nav { color: #E07...