среда, 25 декабря 2013 г.

С наступающим!


Дорогие мои школьники!

Наступает Новый год... Предлагаю поздравить друг друга и своих родных необычными видеороликами.
Для этого просмотрите обучающее видео, подберите фотографии и создайте свой шедевр :)

Отправляете письма с получившимися поздравлениями друг другу и мне для оценивания :)

понедельник, 16 декабря 2013 г.

Налево пойдешь - коня потеряешь, направо пойдешь...

В нашем случае не все так трагично и  никто не пострадает :).  Речь же пойдет об условном операторе.

Для осуществления ветвления в программе используется условный оператор.
Он имеет полную и неполную формы:

Полная форма:
If  условие Then оператор1 Else оператор2

Неполная форма: If  условие Then оператор1

Условный оператор выполняется следующим образом:
  1. проверяется условие
  2. если условие выполнено, выполняется оператор1
  3. если условие не выполнено, в полной форме выполняется оператор2, а в неполной форме никаких действий не выполняется
  4. осуществляется переход к следующей команде
Условие может быть простым или сложным.
Простое условие – сравнение значений двух выражений с помощью знаков сравнения:
< – меньше, > – больше, <= – меньше или равно, >=   – больше или равно, =   – равно, <> – неравно

Например:
1) X>=3;       2) A<>B;      3)   sqr(c)=sqr(a)+sqr(b)

Сложное условие – несколько простых условий, соединенных логическими операциями:
Not – не,    And – и,    Or – или,     Xor – исключающее или

Простые условия, входящие в состав сложного, записываются в скобках.
Например:
1) (X>3) and (Y<=17) and (Z<>2) выполнено, если выполнены все простые условия
2) (X<2) or (X=8) or (X>=12) выполнено, если выполнено хоть одно из простых условий
3) (X=7) xor (Y=9) xor (Z=1) выполнено, если выполнено ровно одно из простых условий

Операторы 1 и 2 могут быть простыми и составными. Простой оператор – один оператор.
Составной оператор – несколько операторов, заключенных в операторные скобки (Begin … End).

Примеры:
1. Программа выводит на экран большее из   двух целых чисел
Program max;
Var a,b,m:integer;
Begin
  Write(’Введите 2 числа’);
  Readln(a,b);
  If a>b then writeln(a, ’большее’)
   else writeln(b, ’большее’)
End.

2. Программа вычисляет значение функции  - квадратный корень из х
Program func1;
Var x,f:real;
Begin
  Write(’x=’);
  Readln(x);
  If x>=0 then begin
                 f:=sqrt(x);
                 Writeln(’f=’,f:7:2)
               end
End.

3. Программа вычисляет значение функции
Program func2;
Var x,f:real;
Begin
  Write(’x=’);
  Readln(x);
  If x<2 then f:=-x
         else if x=2 then f:=0
                     else f:=x;
  Writeln(’f=’,f:7:2)
End.

Задание 12. Написать программы, вычисляющие значение функции по заданному (введенному с клавиатуры) значению х. Задание в) - для "продвинутых". Остальные делают а) и б). Программы пишем в среде PascalABC. Проверяем, сохраняем под своей фамилией и складываем в папку для своей группы. Вопросы по ДЗ пишем в комментариях...

Задание 13. Написать программу, на применение условного оператора (карточка выдана в классе)

пятница, 13 декабря 2013 г.

Ввод, присваивание и линейные программы...

Ввод данных с клавиатуры осуществляется с помощью оператора Read(список переменных) или Readln(список переменных)
При выполнении этого оператора компьютер ожидает ввода с клавиатуры значений переменных в том порядке, в каком они указаны в списке. Вводить значения следует через пробел, после окончания ввода нажимают клавишу Enter. При использовании оператора Readln после ввода значений осуществляется переход на следующую строку, при использовании оператора Read перехода на следующую строку не происходит. 
С клавиатуры можно вводить только значения переменных.
Например,
1. Read(a)– ввод значения переменной a;
2. Read(’a’)  – неверная команда, т. к. вводить можно только значения переменных;
3. Read(a,b,c) – ввод значений переменных a, b, c;

Пример. Программа выводит на экран введенное число с одним знаком после запятой
Program chislo;
Var N:Real;
Begin
  Write(’Введите число: ’);
  Readln(N);
  Writeln(’N=’, N:5:1)
End.

Вид экрана после выполнения программы, будет следующим:
Введите число: . . .
N=. . .
Если введут число 7, вид экрана после выполнения программы, будет следующим:
Введите число: 7
N=  7.0

Оператор присваивания
Значения переменных можно изменять в процессе выполнения программы с помощью оператора присваивания. Команда присваивания имеет следующий вид:
переменная: =выражение
Оператор присваивания выполняется следующим образом:
1. вычисляется значение выражения
2. переменная получает это значение
При этом тип выражения (тип выражения определяется типом его значения) должен быть совместим с типом переменной. Например, числовой переменной нельзя присвоить в качестве значения символ или строку символов и наоборот; переменной символьного типа Char нельзя присвоить в качестве значения строку символов, а переменной типа Integer – значение, тип которого Real и т.д. Но при этом обратное возможно: переменной типа String можно присвоить значение типа Char, а переменной типа Real – значение типа Integer.

Выражение может включать в себя константы, переменные, знаки операций, функции, скобки.
Некоторые операции:
+ сложение
вычитание
* умножение
/ деление
div деление нацело (например, значением выражения 7div4 будет 1)
mod остаток от деления нацело (например, значением выражения 7mod4 будет 3)

Некоторые функции:
Abs(x) модуль х
Cos(x) косинус х,    Sin(x) – синус х
Sqr(x) квадрат х, Sqrt(x) – корень из х
Random случайное число из отрезка [0, 1], Random(x) – случайное число из отрезка [0, х]

Обратите внимание, что аргументы  функций записываются в скобках!

Например,
1. a:=14.2     – переменной а присваивается значение 14,2
2. k:=’слово’   – переменной k присваивается значение ’слово’
3. x:=x–4          – значение переменной x уменьшается на 4
4. c:=a+b    – переменной c присваивается сумма значений переменных (или констант) a и b
5. с:=sin(sqr(a+b))  – переменной c присваивается значение синуса от квадрата суммы         переменных  (или констант) a и b
6. x1:=(–b+sqrt(sqr(b)–4*a*c))/(2*a)
        x2:=(–b–sqrt(sqr(b)–4*a*c))/(2*a)
 – значения переменных x1 и x2 вычисляются по формуле корней квадратного уравнения


Задание 11. Написать линейную программу в среде PascalABC (условие программы Вы записали с карточки на уроке). Программу проверить, сохранить под своей фамилией и положить в нашу общую папку для своего класса.

среда, 11 декабря 2013 г.

В жизни все пригодится!

Хороший текст. Особенно рекомендую прочитать тем, кто любит задавать вопросы вида: "А зачем мы это учим?", для кого учеба это пустая трата времени, лишение свободы... (Автор: Рахим Давлеткалиев, http://freetonik.com/blog/all/practical/)

Многие люди, а особенно — изучающие что-то новое для себя, в какой-то момент начинают судорожно задавать вопрос «а как это применить на практике?». Это начинается еще со школы: «как мне в жизни может понадобиться эта ваша дурацкая тригонометрия?!». Такое еще можно списать на непрофессионализм учителей и детскую глупость, но в случае со взрослыми подобные вопросы звучат ну очень странно.

Очевидность практической пользы — не показатель ничего: ни качества информации, ни качества ее подачи, ни важности получаемых знаний. Добрая половина научных исследований и открытий были на волоске от провала из-за глупых людей, судящих о них по потенциальной мгновенной пользе. И еще неизвестно сколько всего интересного мы до сих пор не изучили потому что кто-то посчитал что это не выгодно.

Любые знания, любая информация об окружающей нас вселенной (как физической, так и абстрактной — математической или компьютерной, к примеру) рано или поздно окажется применимой на практике, полезной и важной. Предугадать когда и каким образом это произойдет — непросто. Слишком мало мы еще знаем, слишком неочевидными оказываются связи и структуры.

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

«Зачем мне это изучать если непонятно как это применить в реальной жизни?»

Любой информации, принципу, идее ищется оправдание. Это подход с неправильной стороны. Вместо того, чтобы искать применения знаниям нужно искать знания для применения. То есть исходить из задачи: вот тут у меня проблема, ее нужно решить. Для решения нужны знания. А не наоборот.

вторник, 3 декабря 2013 г.

Шпаргалка

Итак, давайте подытожим:

Pascal – язык программирования структурного типа, т.е. любая программа, написанная на этом языке, имеет определенную структуру:

Program <имя программы>;
Const <раздел описания констант>;
Var <раздел описания переменных>;
Begin
  <раздел операторов>
End.

Все разделы программы отделяются друг от друга знаком «;».
Begin и End – «операторные скобки». Они используются для обозначения начала и конца группы команд, но сами командами не являются. Поэтому точка с запятой после Begin и перед End не ставится. 
Имя программы, а также имена переменных, констант и других используемых в программе объектов называются идентификаторами.
- Идентификаторы задает сам программист
- В качестве идентификатора может использоваться любая последовательность латинских букв, цифр и знака подчеркивания, начинающаяся с буквы
- Имена идентификаторов не могут совпадать
- Строчные и прописные буквы не различаются

Существуют стандартные и пользовательские (создаваемые самим программистом) типы данных (переменных).
Некоторые стандартные типы:
Integer – целые числа (-10; 0; 1; 2; … )
Real – вещественные числа (-10; -7,241; 0; 1; 4,25; …)
Boolean – логический тип (true и false)
Char – символьный тип (’а’; ’б’; ’1’; ’*’ …)
String – строковый тип (’а’; ’б’; ’1’; ’123’; ’абв’; ’*’ …)

Пример задания переменных: Var x:integer; Y:char; a:integer; b:integer;
Переменные одного типа можно описывать вместе: Var x,a,b:integer; Y:char;

Вывод данных на экран осуществляется с помощью оператора Write (или Writeln):
Write (список вывода) или Writeln (список вывода)
Элементами списка могут быть константы, переменные, выражения. Указанные данные выводятся на экран в порядке их перечисления в списке. Для вывода на экран определенного текста он указывается в кавычках.
При использовании оператора Writeln после вывода на экран осуществляется переход на следующую строку, при использовании оператора Write перехода на следующую строку не происходит. 
Например, 
1. Write(a) – вывод на экран значения переменной (или константы) a;
2. Write(’a’) – вывод на экран буквы а;
3. Write(’a’, b, c) – вывод на экран буквы а и значений переменных (или констант) b и c;
4. Write(’a,’, b, ’,’, c) – вывод на экран буквы а и значений b и c через запятую;
5. Write(’a’);    – вывод на  экран букв a и b (в строку)
    Write(’b’)
6. Writeln(’a’);     – вывод на  экран букв a и b (в столбик)
    Write(’b’)

Мотиватор к программированию :)

Уважаемые мои девятиклассники!

Вот и вы и столкнулись с программированием... Первые попытки написать что-то, подтвердили мои предупреждения что будет нелегко! Тем, кто начал думать: "А зачем нам это вообще изучать? Мы же не собираемся становиться программистами!", рекомендую посмотреть следующий ролик.

На видео присутствуют: Билл Гейтс (основатель компании Microsoft), Марк Цукерберг (основатель Facebook), will.i.am, Крис Бош, Джэк Дорси, Тони Хсай, Дрю Хьюстон, Гэйб Ньюэлл, Руки Сангви, Елене Силенок, Ванесса Хёрст, Хайди Партови.
В ролике обсуждается программирование. Известные программисты, создатели крупных компаний высказывают свое мнение и значимость программирования для себя, а так же раскрывают секреты своих первых программ и дают советы (например, выучить таблицу умножения :D)