пятница, 31 января 2014 г.

Предупрежден - значит вооружен!

Ребята!
Интернет, предоставивший нам огромнейшее пространство возможностей, таит в себе и ряд опасностей. К сожалению, многие из вас, не осознавая это, могут стать жертвами различных неприятностей... Давайте еще раз обсудим правила, которые позволят оградить нас и наш компьютер от злоумышленников!

Посмотрели?
Кроме этого, множество полезного и интересного материала размещено на сайте  проекта "Разбираем интернет". Открыв главную страницу ресурса, читаем: "Проект «Разбираем Интернет» рассказывает об устройстве электронного мозга сетевого пространства. Ты узнаешь о том, как получить доступ к знаниям, находить нужную информацию, критически оценивать контент, создавать собственные интернет-проекты, общаться — и делать все это, соблюдая простые правила безопасности". 
Очень надеюсь, что вы уделите должное внимание этому ресурсу и найдете на его страницах важную и полезную для себя информацию.

А теперь давайте заполним таблицу с заданием...

Задание 15. Откройте таблицу для своей группы и впишите в нее какое-либо правило безопасного поведения в сети Интернет. Приведите пример из своего опыта (или опыта своих знакомых), рассказывающий о том, как вы (знакомые) пострадали от Интернет-угроз; сформулируйте вывод из произошедшего. Желательно, чтобы ваш "пример из жизни" наглядно иллюстрировал правило, которое вы указали. Как обычно, привожу свой вариант выполнения задания... Надеюсь на активные комментарии ответов друг друга :)

9А-1                9А-2                  9Б-1                   9Б-2

среда, 29 января 2014 г.

Дальше в лес или "Строки и символы"

До сих пор все программы, которые мы писали на Паскале были связаны с обработкой числовой информации. Настала пора освоить принципы работы с символьными и строковыми данными...

Для начала немного теории:

Символьная переменная имеет тип Char. Символьная константа – символ в апострофах.
Каждому символу соответствует свой уникальный код (кодировочная таблица ASCII - см. рисунок) – целое число от 0 до 255. Символы упорядочены в соответствии с кодами:
- ’A’<’B’<’C’< …
- ’0’<’1’<’2’< …
- ’a’<’b’<’c’< …
- ’Z’<’a’ (коды прописных латинских букв меньше кодов строчных)
С символами связаны 2 функции:
1. CHR(N) – символ, код которого равен N (N – число от 0 до 255)
2. ORD(C) – код символа, являющегося значением переменной C (C – символьная переменная)

Строка – упорядоченная последовательность символов. Количество символов в строке называется ее длиной. Длина строки может лежать в диапазоне от 0 до 255. 
Строковая переменная имеет тип String. При описании строковой переменной можно указать максимальную длину строки:
Var s:string[20]; a:string[5]; b:string; 
Если длина не указана, подразумевается, что она равна максимальной величине – 255.
Строковая константа – последовательность символов, заключенных в апострофы. Два следующих друг за другом апострофа (’’) обозначают пустую строку (строку с длиной 0).

К каждому символу в строке можно обращаться по отдельности. Имя элемента строки состоит из имени строки с индексом, заключенным в квадратные скобки. Индекс – выражение целого типа с положительным значением. 
Например, S[2] – второй символ строки S; N[i] – i-й символ строки N; K[n+1] – символ строки K с номером n+1. 
Первый символ строки имеет номер 1. Значение индекса не должно превышать максимальное количество символов в строке.
Операции над строками
1. Сравнение строк
Строки можно сравнивать, используя знаки сравнения =, <, >, <=, >=, <>. Строки сравниваются посимвольно слева направо до первого несовпадающего символа. Большей считается та строка, в которой первый несовпадающий символ имеет больший код. Если строки имеют разную длину, но в общей части символы совпадают, то большей считается более длинная строка. Строки равны только в том случае, если они имеют одинаковую длину и все символы совпадают. 
Например, 
- ’abcd’< ’am’, т.к. ’b’<’m’
- ’abcd’>’ab’, т.к. первые символы совпадают, а строка ’abcd’ длиннее
- ’abcd’=’abcd’, т.к. строки совпадают посимвольно, 
но строки ’abcd’ и ’a bcd’ не равны, т. к. одна из них содержит пробел, а другая нет

2. Сцепление (конкатенация) строк  
Обозначается знаком «+». Применяется для соединения нескольких строк в одну.
Например, в результате сцепления ’мама ’+’мыла ’+’раму’ получится строка ’мама мыла раму’
Сцепление строк выполняется и с помощью функции Concat. 
Concat(S1, S2, …, Sn) выполняет сцепление строк  S1, S2, …, Sn в одну строку.

3. Определение длины строки   
Length(S) – текущая длина строки S. Результатом является целое число.
Например, 
- значение Length(’abcd’) равно 4
- значение Length(’мама ’+’мыла ’+’раму’) равно 14
- значение Length(’’) равно 0 

4. Поиск подстроки в строке
Pos(S1,S2) – первое появление строки S1 в строке S2. Результатом является целое число, равное номеру позиции, где находится первый символ подстроки S1. Если строка S1 не входит в строку S2, то результатом будет 0.
Например, 
- значение Pos(’bc’, ’abcd’) равно 2
- значением Pos(’bc’, ’bcbc’) равно 1
- значением Pos(’bc’, ’acbd’) равно 0

5. Выделение подстроки из строки
Copy(S,P,L) – подстрока строки S, начинающаяся с символа с номером P и с количеством символов L. Результатом является подстрока, при этом сама строка S не изменяется.
Например, 
- значением Copy(’холодильник’,1,5) будет строка ’холод’
- значением Copy(’холодильник’,6,2) будет строка ’ил’

6. Удаление символов из  строки
Delete(S,P,N) – удаление из строки S N символов, начиная с символа с номером P. Если P+N больше длины строки, то удаляются все символы в строке, начиная с символа с номером P и до конца строки.
Например,
- если S – это строка ’холод’, то после выполнения Delete(S,3,2) значением S станет ’ход’
- если S – это строка ’бумага’, то после выполнения Delete(S,4,10) значением S станет ’бум’

7. Вставка символов в строку
Insert(S1,S2,P) – вставляет строку S1 в строку S2, начиная с позиции P.
Например,
- если S – это строка ’ход’, то после выполнения Insert(’ло’,S,3) значением S станет ’холод’
- если S – это строка ’ум’, то после выполнения Insert(’ш’,S,1) значением S станет ’шум’

8. Преобразование числа в строку
Str(N,S) – преобразует арифметическое выражение, заданное в переменной N, в строку S.
Например,
- после выполнения  команды Str(192,S) значением переменной S будет строка ’192’

9. Преобразование строки в число
Val(S,N,P) – преобразует значение, заданное в строке S, к числовому виду, если это возможно, и присваивает это числовое значение переменной N. Если преобразование выполнено, то значение переменной P станет 0, если нет, то P станет равным номеру позиции первого ошибочного символа строки S.
Например, 
- если S – строка ’345’, то после выполнения команды Val(S,N,P) значением переменной N будет число 345, а значением переменной P – 0
- если S – строка ’34k5’, то после выполнения команды Val(S,N,P) значение переменной N не изменится, а значением переменной P будет 3

вторник, 21 января 2014 г.

Ах вернисаж, ах вернисаж... Итоги

Напомню, что осенью многие из вас приняли участие в школьном туре конкурса "Компьютерный вернисаж". В декабре прошел районный тур конкурса, организованный Дворцом детского (юношеского) творчества, на который компетентное жюри из учителей информатики (а нас таких в школе четверо :)) отобрало самые-самые лучшие презентации, рисунки, коллажи, видео. К сожалению, некоторый работы? вызвавшие восторг, из-за несоблюдения требований конкурса, мы не смогли отправить на районный тур ;(
И все же, рада сообщить, что ученицы нашей школы Амирагова Екатерина, Пономарева Елизавета - 7 класс (учитель  Воеводина Евгения Тарасовна), а также мои ученицы Трухина Мария и Рыжова Наталья - 9 класс, стали призерами районного этапа (см. подробную информацию).
Выкладываю работы Марии и Наташи! И поздравляю их от всего сердца! Ждем грамоты :)

понедельник, 20 января 2014 г.

Повторюшки или Циклы

Операторы цикла используются для реализации многократного выполнения одной или нескольких команд. Различают 3 типа циклов:
  • цикл с параметром;
  • цикл с предусловием;
  • цикл с постусловием.
Все 3 типа реализованы операторами языка Pascal.

Цикл с параметром
Цикл с параметром используется тогда, когда заранее известно количество повторений и шаг постоянен. Этот тип цикла реализуется в языке Pascal оператором For, который имеет 2 варианта записи:
1) For параметр цикла:=начальное значение to конечное значение do тело цикла
2) For параметр цикла:=начальное значение downto конечное значение do тело цикла
Параметр цикла – переменная целого типа;
начальное и конечное значения – выражения того же типа;
тело цикла – простой или составной оператор.
- Цикл повторяется, пока значение параметра лежит в интервале между начальным и конечным значениями
- При каждом повторении цикла значение параметра автоматически изменяется: в первом варианте увеличивается, а во втором уменьшается на 1.
- Значение параметра цикла можно использовать, но нельзя изменять внутри цикла.

Примеры:
1. Программа выводит на экран числа от 1 до 7
Program prog1;
var i:integer;
begin
  for i:=1 to 7 do writeln(i);
end.

2. Программа выводит на экран числа от 7 до 1
Program prog2;
var i:integer;
begin
  for i:=7 downto 1 do writeln(i);
end.

3. Программа вычисляет S=1+2+…+N, где N - введенное целое число
Program sum1;
var i,n,s:integer;
begin
  write('n=');
  readln(n);
  s:=0;
  for i:=1 to n do s:=s+i;
  writeln('s=',s);
end.

Цикл с предусловием (цикл – пока)
Цикл с предусловием – наиболее универсальная циклическая структура (с его помощью можно представить любой цикл). В языке Pascal этот вид цикла реализован оператором While:
While условие do begin тело цикла end
Оператор While выполняется следующим образом:
1. проверяется условие
2. если условие выполнено, выполняется тело цикла и происходит переход к п. 1
3. если условие не выполнено, то происходит переход к следующей команде (выход из цикла)
Особенности:
- Цикл повторяется, пока условие выполнено
- Если изначально условие не выполнено, то тело цикла не выполняется ни разу
- Оператор While может зациклиться: если изначально условие выполнено, а в теле цикла его значение не изменяется, то выхода из цикла не происходит

Примеры:
1. Программа вычисляет S=1+2+…+N, где N - введенное целое число
Program sum1;
var i,n,s:integer;
begin
  write('n=');
  readln(n);
  s:=0; i:=1
  While i<=n do
      begin
      s:=s+i; i:=i+1;
      end;
  writeln('s=',s);
end.

2. Написать программу решения уравнения ax + b = 0, если a = 1, 2, 3, 4, 5
Program ur_e;
var a:integer; b,x:real;
begin
  write('введите коэффициент b');
  readln(b);
  a:=1;
 While a <=5 do
  begin
  x:=-b/a;
  writeln(’При a= ’, a, ’x=’, x:5:2);
  a:=a+1;
  end;
end.

Цикл с постусловием (цикл – до)
Цикл с постусловием реализован в языке Pascal оператором Repeat:
Repeat тело цикла until условие
Оператор Repeat выполняется следующим образом:
1. выполняется тело цикла
2. проверяется условие
3. если условие не выполнено, то происходит переход к п. 1
4. если условие выполнено, то происходит переход к следующей команде (выход из цикла)

Особенности:
- Цикл повторяется, пока условие не выполнено (до момента, когда условие выполниться)
- Тело цикла выполняется по крайней мере 1 раз
- Оператор Repeat может зациклиться: если изначально условие не выполнено, а в теле цикла его значение не изменяется, то выхода из цикла не происходит
- Если тело цикла Repeat – составной оператор, то операторные скобки не обязательны (тело цикла в этом операторе всегда ограничено ключевыми словами Repeat и Until)

Пример:
Написать программу решения уравнения ax + b = 0, если a = 1, 2, 3, 4, 5
Program ur_e;
var a:integer; b,x:real;
begin
  write('введите коэффициент b');
  readln(b);
  a:=1;
 repeat
  begin
  x:=-b/a;
  writeln(’При a= ’, a, ’x=’, x:5:2);
  a:=a+1;
  end;
end.

Задание 14. Выбрать 2 функции из трех и написать программу с использованием другого (не рассмотренного на уроке) вида цикла.