понедельник, 23 февраля 2015 г.

Урок 23. Контрольная работа

Что  хорошего, кроме вычислений (про которые вы думаете, что они вам никогда не пригодятся) может нам предложить Паскаль? Что-нибудь красивое, яркое есть? Пожалуйста! Берите инструменты графики (стандартные процедуры и функции) и творите чудеса!
Вот какие замечательные картинки создают задачи, которые можно найти в разделе Помощь PascalABC.Net

Работа на ПК в классе:

Предлагаю вам исследовать, как работают графические примитивы.
1. Проанализируйте примеры, предложенные разработчиками PascalABC.Net, и выполните исследовательскую работу. Работаем группами по 2 человека
2. А поскольку скоро 8 марта, то в результате постарайтесь создать программу, которая "нарисует" поздравительную открытку! Что может быть на открытке?
  • Цветок-ромашка, цветик-семицветик, стилизация под цветок
  • Цифра 8, собранная из разноцветных колец
  • Поздравительный текст
  • Что-нибудь абстрактное
  • Композиция всего перечисленного и т п
Желаю успеха!

Домашнее задание

Ребята! В качестве домашнего задания прошу доделать поздравительную открытку и прислать ее учителю (положить в свою облачную папку)

вторник, 17 февраля 2015 г.

Урок 22. Поиск минимума и максимума в массиве



Последовательный поиск в массиве

В программировании поиск - одна из наиболее часто встречающихся задач невычислительного характера.

Предположим, что в некотором массиве хранятся результаты забега на 100 метров.

  • Необходимо выяснить, кто занял первое место.
  • Необходимо выяснить, кто занял 1, 2, 3 место
  • Необходимо выяснить, насколько победитель пробежал быстрее самого слабого участника 
Все эти задачи сводятся к поиску максимального и   минимального значения элемента массива
Компьютер не может сравнить разом весь ряд объектов. На каждом шаге он может сравнивать только два объекта. Поэтому в программе необходимо организовать последовательный просмотр элементов массива и сравнение значения очередного просматриваемого элемента с некоторым образцом


Работа на ПК в классе:

Выполните в классе задание на поиск экстремумов
Вариант 1, 2 для 9а; Вариант 3, 4 для 9б 

Домашнее задание

На следующем уроке - контрольная работа по Паскалю. Готовьтесь!
Прислать учителю информатики до 24.02.2015 (вторник) до 22.00 по школьной эл почте письмо-отчет о выполнении домашнего задания. Задание находится ЗДЕСЬ. 

вторник, 10 февраля 2015 г.

Урок 21. Паскаль. Оператор цикла FOR

Цикл FOR -  цикл с заданным числом повторений, цикл с параметром

Оператор цикла for имеет одну из двух форм:
for переменная := начальное значение to конечное значение do
 
оператор
или

for переменная := начальное значение downto конечное значение do
 
оператор
Текст от слова for до слова do включительно называется заголовком цикла, а оператор после do - телом цикла. Переменная после слова for называется параметром цикла.
Для первой формы цикла с ключевым словом to параметр цикла меняется от начального значения до конечного значения, увеличиваясь всякий раз на единицу, а для второй формы ключевым словом downto - уменьшаясь на единицу.
Для каждого значения переменной-параметра выполняется тело цикла. Однократное повторение тела цикла называется итерацией цикла. Значение параметра цикла после завершения цикла считается неопределенным.

Если для цикла for ... to начальное значение переменной цикла больше конечного значения или для цикла for ... downto начальное значение переменной цикла меньше конечного значения, то тело цикла не выполнится ни разу.

Изменение переменной-параметра цикла внутри цикла является логической ошибкой.

Заполнение массива

Цикл for ... to или for ... downto удобно использовать для работы с массивами: для заполнения, для поиска элементов с заданными свойствами.
1. Заполнение массива из 10 элементов вводом значений с клавиатуры
    for i:=10 downto 10 do read ( a[i] ); // заполнение от 10 элемента до 1
2. Заполнение массива из 10 элементов с помощью оператора присваивания
     for i:=1 to 10 do a[i]:=i+2; // заполнение от 1 элемента до 10
3. Заполнение массива из 10 элементов случайными числами
     randomize; // активизация датчика случайных чисел
     for i:=1 to 10 do a[i]:=random(100); // каждый элемент - случайное число [ 0;100 )

Работа на ПК в классе:

Вариант 1, 2 для 9а; Вариант 3, 4 для 9б 

Домашнее задание

Прислать учителю информатики до 16.02.2015 (понедельник) до 23.00 по школьной эл почте письмо-отчет о выполнении домашнего задания. Задание находится ЗДЕСЬ. Те, кто пришлет задание ПОЗДНЕЕ, могут рассчитывать только на 3.

вторник, 3 февраля 2015 г.

Урок 20. Паскаль. Массивы

До сих пор в Паскале вы имели дело с простыми типами данных. К простым типам относятся порядковые (целые, логические, символьные)  и вещественные типы данных

Сегодня мы переходим к изучению массивов. Массивы относятся к  структурированным типам данных.

Массив представляет собой набор элементов одного типа, каждый из которых имеет свой номер, называемый индексом (индексов может быть несколько, тогда массив называется многомерным). Индекс определяет положение элемента в массиве.

Перед использованием в программе массив должен быть описан, то есть должно быть указано имя массива, количество элементов и их тип. Это необходимо для того, чтобы выделить участок памяти нужного размера для хранения элементов массива. Общий вид описания массива:
var  <имя_массива>: array [<мин_зн_индекса> .. <макс_зн_индекса>] of <тип_элементов>;
Тип индекса обязательно представляет собой интервальный тип и обязательно должен задаваться в виде a..b, где a и b - константные выражения целого, символьного или перечислимого типа.
Например, массивы a1,a2 состоят каждый из 10 целочисленных элементов, а массив b состоит из 6 вещественных чисел:
var
  a1,a2: array [1..10] of integer;
  b: array [0 .. 5] of real;
Переменные-массивы одного типа можно присваивать друг другу, при этом будет производиться копирование содержимого одного массива в другой:
a1:=a2;

Работа на ПК в классе:

Вариант 1, 2 для 9а; Вариант 3, 4 для 9б 

Домашнее задание

Прислать учителю информатики до 8.02.2016 (понедельник) до 23.00 по школьной эл почте письмо-отчет о выполнении домашнего задания. Задание находится ЗДЕСЬ. Тем, кто пришлет задание ПОЗДНЕЕ, оценка будет снижена.

вторник, 27 января 2015 г.

Урок 19. Паскаль. Оператор цикла WHILE

Оператор WHILE - цикл с условием

Оператор цикла while имеет следующую форму:
while условие do
 
оператор
Условие представляет собой выражение логического типа, а оператор после do называется телом цикла. Перед каждой итерацией цикла условие вычисляется, и если оно истинно, то выполняется тело цикла, в противном случае происходит выход из цикла.
Если вместо одного оператора в теле цикла требуется выполнить несколько операторов, то используется блок команд begin...end.
Если условие всегда оказывается истинным, то может произойти зацикливание:
while 2>1 do 
    write(1);

Чтобы прервать зациклившуюся программу, выполняющуюся из интегрированной среды в режиме связи с оболочкой, следует использовать комбинацию клавиш Ctrl-F2 или пункт меню Программа/Завершить
В качестве примера разберем алгоритм сложения нескольких чисел. Числа вводятся с клавиатуры. Алгоритм завершает работу, когда сумма чисел превышает 20.

Работа на ПК в классе:

Вариант 1: Выполнить While7, If10 
Вариант 2: Выполнить While9, If11 

Домашнее задание

Прислать учителю информатики до 2.02.2015 (понедельник) до 23.00 по школьной эл почте письмо-отчет о выполнении домашнего задания. Задание находится ЗДЕСЬ

вторник, 20 января 2015 г.

Урок 18. Паскаль. Арифметические операции. Оператор ветвления

Часть 1. Арифметические операции над числовыми данными

Основными числовыми типами данных являются integer (целые), real (вещественные)
Над этими данными выполняются следующие операции:
+  (сложение) для integer, real;
-   (вычитание) для integer, real;
*  (умножение) для integer, real;
/   (деление) для integer, real;
div (получение целого частного) только  для integer;
mod (получение целого остатка деления) только  для integer.
Подробнее про арифметические операции читать здесь

Часть 2. Оператор ветвления (Условный оператор)

Оператор имеет полную форму и краткую форму

if условие then оператор1 else оператор2 { полный оператор, разветвление}
if условие then оператор { неполный оператор,  обход}
Каждое ключевое слово else, для которого выбор соответствующего ему if неоднозначен, должно считаться относящимся к ближайшему if, для которого нет соответствующего ему else.
В случае конструкции вида
if условие1 then
  if
условие2 then оператор1
  else оператор2
else всегда относится к ближайшему предыдущему оператору if, для которого ветка else еще не указана.
Условная команда работает как обычно: 
1.      Проверяется выражение, которое является условием.
2.      Если условие истинно (true), выполняется оператор1, иначе (false) — оператор2.
Операторы  оператор1 и оператор2 никогда не выполняются вместе — работает только один из них. После выполнения условного оператора управление передается на оператор, который следует за условным.
Вместо одного оператора оператор1 может использоваться блок команд begin...end.

Работа на ПК в классе:

Вариант 1: Выполнить If3, Integer7, If4 
Вариант 2: Выполнить If2, Integer8, If5 

Домашнее задание

Прислать учителю информатики до 26.01.2015 (понедельник) до 23.00 по школьной эл почте письмо-отчет о выполнении домашнего задания. Задание находится ЗДЕСЬ

вторник, 13 января 2015 г.

Урок 17. Моделирование в среде программирования PascalABC.NET

Часть 1. Повторение

Поздравляем всех учеников с наступившим 2015 годом!
А у нас новая тема - программирование в   среде PascalABC.NET!
Ну, скажете вы, вот так новость! В прошлом году это (или почти это) уже было!
Правильно, а новое - это хорошо забытое старое!
Поэтому быстро вспоминаем и записываем в тетрадь

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

Автор языка Паскаль - Никлаус Вирт (нем. Niklaus Wirth, род. 15 февраля 1934 года) — швейцарский учёный, специалист в области информатики, один из известнейших теоретиков в области разработки языков программирования, профессор компьютерных наук. Подробнее читайте в вашей любимой Википедии


Часть 2. Этапы решения задачи на компьютере. Этапы моделирования


1 этап. Постановка задачи. Результат - словесная информационная модель
2 этап. Формализация. Результат - математическая модель
3 этап. Алгоритмизация. Результат  - алгоритм ( описание на алгоритмическом языке, в виде блок-схемы и т п)
4 этап. Программирование. Результат  - Программа
5 этап. Компьютерный эксперимент. Отладка, тестирование. Результат -уточнение модели. Возможен возврат к этапам 1 - 4.

Часть 3. Знакомство со средой PascalABC.NET

PascalABC.NET — это:

Язык программирования Pascal нового поколения, сочетающий простоту классического языка Паскаль, ряд современных расширений и огромные возможности платформы .NET.
Бесплатная, простая и мощная среда разработки.

Работа на ПК


Найдите на рабочем столе ярлык PascalABC.NET, запустите приложение.
Изучите интерфейс приложения.
Схематично зарисуйте в тетрадь расположение и назначение окон приложения.
Откройте первый пример: Меню -- Помощь -- Изучаем PascalABC.NET --
01_First -- Assign1.pas
Запустите его (F9), проанализируйте результат

Домашнее задание

1. Установить на домашнем ПК свободно распространяемую среду PascalABC.NET
 с сайта http://pascalabc.net/
2. Запустить пример Calculations1.pas: Меню -- Помощь -- Изучаем PascalABC.NET --
01_First -- Calculations1.pas
3. Прислать учителю информатики до 19.01.2015 (понедельник) до 23.00 по школьной эл почте письмо-отчет о выполнении домашнего задания. В письмо скопировать результат выполнения программы Calculations1.pas. Если что-то не получилось, написать причину невыполнения задания. Отсутствие письма - 2 в журнал