понедельник, 26 апреля 2021 г.

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

 

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


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

понедельник, 19 апреля 2021 г.

Урок 27. Поиск минимума и максимума в массиве. Теория

 Дата проведения занятия 19.04.21 

ПОСЛЕДОВАТЕЛЬНЫЙ ПОИСК В МАССИВЕ

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

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

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

Пример программы поиска первого минимума
Пример программы поиска последнего максимума


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

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

понедельник, 12 апреля 2021 г.

Урок 26. Решение задач с циклами

 Дата проведения занятия 12.04.21

Задачи с сайта К. Полякова
polyakov-15-3. Напишите программу, которая в последовательности натуральных чисел определяет сумму всех чисел, кратных 7 и оканчивающихся на 2. Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность). Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число: сумму всех чисел, кратных 7 и оканчивающихся на 2.
Пример работы программы:
polyakov-15-4Напишите программу, которая в последовательности целых чисел определяет количество чётных чисел, кратных 7. Программа
получает на вход целые числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность). Количество чисел не превышает 1000. Введённые числа по модулю не превышают 30 000. Программа должна вывести одно число: количество чётных чисел, кратных 7.
Пример работы программы:
polyakov-15-5Напишите программу, которая в последовательности натуральных чисел находит среднее арифметическое трёхзначных чисел или сообщает, что таких чисел нет (выводит NO). Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность). Количество чисел не превышает 100. Введённые числа не превышают 300. Программа должна вывести среднее арифметическое трёхзначных чисел или вывести NO, если таких чисел нет.
Пример работы программы:

понедельник, 5 апреля 2021 г.

Цикл FOR и случайные числа

 Дата проведения занятия 5.04.21

ЦИКЛ FOR -  ЦИКЛ С ЗАДАННЫМ ЧИСЛОМ ПОВТОРЕНИЙ, ЦИКЛ С ПАРАМЕТРОМ

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

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

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

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

ЗАПОЛНЕНИЕ МАССИВА

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

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

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


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

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

понедельник, 29 марта 2021 г.

Урок 24. Массивы

 Дата проведения занятия 28.03.21

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

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

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

Перед использованием в программе массив должен быть описан, то есть должно быть указано имя массива, количество элементов и их тип. Это необходимо для того, чтобы выделить участок памяти нужного размера для хранения элементов массива. Общий вид описания массива:
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 с номером i следует обращаться так: a1[i]

Переменные-массивы одного типа можно присваивать друг другу, при этом будет производиться копирование содержимого одного массива в другой:
a1:=a2;

Пример программы с массивом

В качестве примера напишем программу Pas20_0_cl.pas по следующему заданию:
Заполнить массив из 10 элементов целыми  числами от 3 до 12.
Массив объявлен как var arr00: array [1..10] of  integer. Вывести значения элементов массива на экран в одну строку через знаки  ; . Сосчитать сумму элементов,  вывести сумму на экран с новой строки.

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

1. Отладить программу  Pas20_0_cl.pas, показать учителю (для всех)
2. Далее работаем по вариантам Вариант 1, 2 для 9а, 9в;   Вариант 3, 4 для 9б


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

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

понедельник, 15 марта 2021 г.

Урок 23. Оператор цикла WHILE

 Дата проведения занятия 15.03.21

ОПЕРАТОР WHILE - ЦИКЛ С УСЛОВИЕМ

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


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

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

Правила оформления программы
  1. Программу следует  начать с комментария, в котором содержится условие задачи и набор тестовых данных. Тестовые данные — это те данные, на которых надо проверять работу программы
  2. Программу следует отформатировать (кнопка 4 справа)
  3. Программу следует сопровождать комментариями по тексту
  4. Программу следует начать с приветствия
writeln ('Вас приветствует программа Петрова П');
Варианты назначает учитель
Вариант 1: Выполнить  While7, While14сохранить в своей папке Pascal  на локальном диске  
Вариант 2: Выполнить  While8, While13сохранить в своей папке Pascal  на локальном диске 
Вариант 3: Выполнить  задачи с сайта К. Полякова, сохранить в своей папке Pascal  на локальном диске
polyakov-15-1. Напишите программу, которая в последовательности натуральных чисел определяет количество чисел, кратных 3 и оканчивающихся на 2. Программа получает на вход количество чисел в последовательности, а затем сами числа.
Количество чисел не превышает 1000. Введённые числа по модулю не превышают 30 000. Программа должна вывести одно число: количество чисел, кратных 3 и оканчивающихся на 2.
Пример работы программы:
polyakov-15-2.Напишите программу, которая в последовательности натуральных чисел определяет сумму всех чисел, кратных 6 и оканчивающихся на 4. Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность). Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число: сумму всех чисел, кратных 6 и оканчивающихся на 4.
Пример работы программы:

воскресенье, 28 февраля 2021 г.

Урок 21. Повторение. Типы данных. Арифметические операции

 Дата проведения занятия 1.03.21

Итак, переменная - это величина, которая  имеет ИМЯ, ТИП, ЗНАЧЕНИЕ
Теорию законспектировать дома

1. Имя переменной
В именах МОЖНО использовать:
  • латинские буквы (A - Z), причем строчные и заглавные буквы в Паскале не различаются
  • цифры (0 - 9), имя не может начинаться с цифры
  • знак подчеркивания _
В именах НЕЛЬЗЯ использовать:
  • русские буквы
  • пробелы
  • скобки, знаки +, =, !, ? и др
2. Тип данных (тип переменной)
Основными числовыми типами данных в Паскале являются
  • integer (синонимом является longint) - целый 
  • real (синонимом является double) - вещественный
  • boolean - логический
 3. Переменную нужно объявить в программе для выделения под нее памяти 
var a, b, c: integer; // целые a, b, c
var d, f: real;          // вещественные d, f
var log: boolean;    // логический
4. Присвоить значение переменной - значит записать новое значение в переменную. Знак присвоения :=
a:=6;   d:=a; d:= d + 5;
5. Арифметические операции
Над числовыми данными выполняются следующие операции:
*  (умножение) для integer, real;
/   (деление) для integer, real;
div (получение целого частного) только  для integer;
mod (получение целого остатка деления) только  для integer.
+  (сложение) для integer, real;
-   (вычитание) для integer, real;
Подробнее про арифметические операции читать здесь

Порядок выполнения операций:
  • вычисление выражений в скобках 
  • умножение, деление, div, mod слева направо 
  • сложение и вычитание слева направо

Работа на ПК

Задание 1
1. Напишите в тетради программу Pas9_cl_05_name, которая вводит 2 целых числа x, y, последовательно считает:
  • сумму, выводит результат на экран
  • произведение, выводит результат на экран
  • среднее арифметическое x и y, выводит результат на экран
  • остаток от деления x на 2, выводит результат на экран
  • последнюю цифру y, выводит результат на экран
  • результат сравнения y > 10, выводит результат на экран
2. Наберите текст программы в окне Паскаля
3. Отформатируйте текст, нажав на 4-ую справа кнопку в меню окна PascalABC.NET
4. Сохраните текст программы на локальном компьютере в своей папке, во вложенной папке Pascal_name под именем Pas9_cl_05_name.pas
5. Сделайте компиляцию программы (Ctrl + F9).
6. Если нет синтаксических ошибок, то запустите программу (F9) 3 раза с разными данными
7. Проанализируйте полученный результат

Задание 2
Напишите программу Begin 32 - перевод градусов по С в градусы по F
Задание 3
Напишите программу Integer7: Дано двузначное число. Найти сумму и произведение его цифр.

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

Задание 0 - законспектировать теорию
Задание 1

Доделать программу Pas9_cl_05_name из классного Задания 1
Задание 2
  1. Написать в тетради программу вычисления площади прямоугольного треугольника S по двум катетам a, b. Значения a и b - это исходные данные, их требуется ввести, S - результат работы программы, его требуется вывести
  2. Набрать на ПК. Дать имя программе  pas9_hm_03_name (name - фамилия автора программы)
  3. Сохранить файл под именем Pas9_hm_03_name.pas
  4. Запустить программу в среде PascalABC.Net
  5. Сделать сканирование экрана ( кнопка Print Screen)
Задание 3
Написать программу  Begin 35 или  Integer7 (Дано двузначное число. Найти сумму и произведение его цифр.)
  • Прислать учителю информатики до 13.03.21 до 22.00 по школьной эл почте письмо-отчет о выполнении домашнего задания.
    Тема письма: 9 кл ДЗ к уроку Паскаль-2 <ваша фамилия>
  • К письму прикрепить по 2 файла для каждой решенной задачи: скриншот экрана с результатом выполнения программы и свой файл типа .pas,
  • Если что-то не получилось, в письме написать причину невыполнения задания
  • пятница, 19 февраля 2021 г.

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

     Даты проведения урока 20.02.21

    15.02.1934 - день рождения Никлауса Вирта, автора Паскаля


      ЧАСТЬ 1. ПОВТОРЕНИЕ - ЭТО ЧАСТЬ ВАШЕГО ДОМАШНЕГО ЗАДАНИЯ

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

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


      Алгоритм – это понятное и точное предписание исполнителю выполнить конечную последовательность команд, приводящую от исходных данных к искомому результату.
      Программа - алгоритм, записанный на языке, понятном компьютеру.
      Исполнителем программы является компьютер.
      Алгоритмы описывают последовательность действий, которые производятся над некоторыми объектами.
      В информатике отдельный информационный объект (число, символ, строка и др) называется величиной. Величины бывают постоянные (константы) и переменные.
      Константой называется величина, значение которой указывается в тексте программы и это значение не меняется во время работы программы.
      Переменной  называется величина, значение которой меняется во время работы программы.
      А вот другое определение переменной. Переменная - это поименованная область оперативной памяти, в которой хранится значение переменной.
      Итак, переменная - это величина, которая имеет имятип и значение. Чтобы выделить место для хранения значения переменной, ее надо объявить в программе.





      ЧАСТЬ 2. ЭТАПЫ РЕШЕНИЯ ЗАДАЧИ НА КОМПЬЮТЕРЕ. ЭТАПЫ МОДЕЛИРОВАНИЯ


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

      ЧАСТЬ 3. СРЕДА PASCALABC.NET

      PascalABC.NET — это:

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

      Работа на ПК


      1. На локальном компьютере в своей папке создайте вложенную папку Pascal_name, где name - ваша фамилия латинскими буквами
      2. Найдите на рабочем столе ярлык PascalABC.NET, запустите приложение.
      3. Схематично зарисуйте в тетрадь расположение и назначение окон приложения. Вспомните детали интерфейса приложения.


      4. В окне ввода наберите текст программы вычисления куба целого числа
      Сохраните текст программы на локальном компьютере в своей папке, во вложенной папке Pascal_name под именем Pas9_0_cl.pas

      // Пример программы на Паскале. Вычисление куба целого числа r
      program Pas9_0_cl; // заголовок
      var r: integer; //  блок объявления переменных
      var r3: integer; // вспомогательная переменная
      begin
        write ('Введите r: ');
        readln (r);
        r3 := r * r * r;
        writeln (r, ' в степени 3 = ', r3);
      end.
      5. Сделайте компиляцию программы (Ctrl + F9).
      6. Если нет синтаксических ошибок, то запустите программу (F9) 3 раза с разными данными, проанализируйте результат, покажите учителю.
      7. Составьте программы для заданий Begin5, Begin8, Begin10 и выполните их

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

      1. Законспектировать Часть I этого сообщения
      2. Считаем, что паскаль у всех установлен. Если еще нет - срочно установить!  Подробно об установке читать в сообщении от 17.02.20 между уроками 20 и 21 
      3а. Кто считает себя продвинутым пользователем, составьте программу для задания Begin11 и выполните ее. Переходите к пункту 5 
      3б. Кто считает, что ему нужно вспомнить Паскаль, сделайте компиляцию (Ctrl + F9) примера CompilerError1.pas:
      Меню -- Помощь -- Изучаем PascalABC.NET -- 02_Errors -- CompilerError1.pas.
      Исправить ошибки, выполнить пример (F9)
      4. Аналогично сделать компиляцию и выполнение примеров CompilerError2.pasCompilerError3.pas
      5. Прислать учителю информатики до 23.02.2020  до 23.00 по школьной эл почте письмо-отчет о выполнении домашнего задания. Тема письма:"9 кл ДЗ к уроку Паскаль1".  В письмо скопировать результат выполнения программ CompilerError1.pas, CompilerError2.pas, CompilerError3.pas.
      Если что-то не получилось, написать причину невыполнения задания.

      PS. Для тех, кто использует он-лайн среду https://www.ideone.com/  или   http://rextester.com/l/pascal_online_compiler , привожу тексты заданий из пунктов 3-4:
      // CompilerError1.pas Исправьте ошибку компиляции.
      // Обратите внимание, что курсор позиционируется в конце слова, вызвавшего ошибку

      var i: integer
      begin
        i := 2;
        writeln(i);
      end.

      // CompilerError2.pas Исправьте ошибки компиляции. Опишите переменную r
      begin
        r := 2.5;
        witeln(r);
      end.

      //CompilerError3.pas Исправьте ошибку компиляции. Не всегда надо "верить" тексту ошибки
      var k: real;
      begin
        k := 2,5;
        writeln(r);
      end.

      Установка PascalABC.NET

       

         В 3-ей четверти - программируем! 

      Пожалуйста,  установите  на вашем ПК среду программирования PascalABC.NET 

      Уважаемые родители! В  3 четверти ваши дети будут заниматься программированием! Для успешной учебы  им ОБЯЗАТЕЛЬНО нужно работать в среде PascalABC.NET  Пожалуйста, помогите им. Если что-то непонятно, пишите нам по электронной почте. Заранее спасибо!
      Итак, начинаем
      1. Если  PascalABC.NET уже установлен, переходите к пункту 4.
          Если нельзя установить  PascalABC.NET (например, у вас MAC OS), переходите к пункту 5
          Если не установлен, то зайдите на сайт PascalABC.NET
      2. Слева в меню выберите 2-ю строку - СКАЧАТЬ
      3. Если у вас первая установка - выбираете первый вариант скачивания, если обновление, то второй вариант
      4. После установки убедитесь, что система работоспособна.
      а) Для этого запустите систему (через меню Пуск или ярлык на рабочем столе)
      б) В открывшемся окне найдите строку меню (Файл  Правка  Вид ...  Помощь)
      в) Последовательно откройте пункты  Помощь, Изучаем PascalABC.NET, 01_First
      г)  В открывшемся окне выберите файл Calculations1.pas, откройте его
      д) Вы увидите текст программы-примера. Смело запускайте эту программу через меню:
      Программа -- Выполнить
      е) Программа должна выполниться и вывести результат вычислений
      ж) Копируете этот результат и вставляете в текст письма для учителя информатики. Тема письма: "Установка PascalABC.NET " Это письмо - ваш отчет об успешной установке PascalABC.NET на вашем ПК
      з) Отправляете письмо. Ура! Переходите к пункту 6
      5. Запустите он-лайн среду https://www.ideone.com/  или   http://rextester.com/l/pascal_online_compiler , запустите программу-приветствие, сделайте скриншот экрана, прикрепите его или вставьте в текст письма.  Тема письма: "Онлайн-среда для Паскаля " Это письмо - ваш отчет о проделанной работе
      6. Пришлите учителю информатики ваше письмо-отчет

       Желаем успеха и надеемся, что у вас все получится!

      воскресенье, 7 февраля 2021 г.

      Урок 17. Построение запросов без параметров

       Дата проведения занятия 8.02.21

      Пользователю любой информационной системы в первую очередь важно иметь возможность выбрать из БД ту информацию, которая ему нужна в данный момент. Для этого используются запросы.
      Запрос - это объект БД, которым мы пока не пользовались.

      Запрос - это обращение к СУБД для отбора записей или других операций с данными.

      Рассмотрим построение запросов на примере БД Школьная столовая

      Чтобы построить запрос, перейдем на вкладку Запросы, выберем в области Задачи вариант Создать запрос в режиме Дизайна. Перед нами откроется окно Конструктора запросов. Оно выглядит так, как показано на этом рисунке.




      Это окно состоит из двух частей. В нижней части находится бланк запроса (обведен зеленым цветом).
      В верхней части находится рабочее поле, в которое можно добавлять таблицы, из которых отбираются данные для запроса (Таблица Блюда обведена красным цветом).


      На рисунке показан бланк, заполненный для формирования такого запроса:
      "Вывести перечень  блюд (Название, Примечание, Цена), которые дешевле 90 руб. Сортировка по полю Цена, по возрастанию "

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



      Прежде, чем начать составлять запросы, изучите алгоритм формирования запросов



      Домашняя работа.  Запросы к БД "Школьная столовая"
      Придумать и записать в тетради запросы к БД Школьная столовая. Образцы смотри в Практической работе.
      Запросы над таблицей Блюда - 3 
      Запросы над таблицей Заказы - 3
      Запросы над тремя таблицами Блюда, Заказы, Заказано - 4