среда, 8 апреля 2020 г.

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

Дата дистанционного занятия: 08.04.2020

Задание необходимо сделать и прислать учителю до 23:00 09.04.2020


СИНТАКСИС (СПРАВКА ПО ПАСКАЛЮ, ЦИКЛ С УСЛОВИЕМ)

Цикл - это одна из трех основных алгоритмических конструкций.
Цикл - многократное повторение некоторой последовательности действий

Команды, которые повторяются называются телом цикла. Однократное повторение тела цикла называется итерацией цикла.

Оператор цикла while имеет следующую форму:

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

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

Пример:

Вывести числа от 1 до 10 через пробел.

Задача состоит в том, что нужно вывести числа от 1 до 10 через пробел. 
То есть мы хотим получить следующую строчку:
1 2 3 4 5 6 7 8 9 10

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

В данном случае мы создаем переменную, которая будет поочередно принимать все значения от 1 до 10.
Для этого мы сначала присваиваем этой переменной начальное значение 1, а после увеличиваем перед каждым повтором на 1. 
Чтобы было выведено 10 чисел от 1 до 10 нам нужно повторять такие действия 10 раз, или до тех пор? пока значение переменной i не станет больше 10.

Таким образом у нас получается следующий алгоритм:
1. Присвоить i значение 1.
2. До тех пор, пока i меньше или равно 10, выводим значение i на экран (команда write) и увеличиваем значение i на 1 (i := i+1).

Алгоритм:
1. Объявить целочисленную вспомогательную переменную i, которая будет принимать значения от 1 до 10.
2. Определить начальное значение переменной i, равное 1.
3. До тех пор пока значение переменной i будет меньше либо равно 10, выводить текущее значение i  и переходить к следующему (увеличивать значение переменно i на 1).

Программа на языке Pascal:


//Вывести числа от 1 до 10 через пробел
program while1;
var i:integer //целое число
begin
writeln('Вас приветствует программа Петрова П')
  i := 1;  //задать начальное значение переменной i
  while (i <= 10) do
  begin
      write (i, '   ');  //Вывод значений переменной i через пробелы
      i := i + 1;       //Увеличение значения переменой i на 1
  end;
end.









Переписать программу и перерисовать блок-схему к себе в тетрадь.  Набрать программу в среде pascalABC.NET (или в онлайн компиляторе www.ideone.com ). Сохранить программу под именем while1-familia.pas

Самостоятельная работа




среда, 11 марта 2020 г.

Разветвляющийся алгоритм

Дата проведения занятия 11.03.20
Проверка домашнего задания. На дом была задана задача 
If2. Дано целое число.
Если оно является положительным, то вычесть из него 8;
в противном случае прибавить к нему 6.
Вывести полученное число

Работа на компьютере

Составить блок-схему, написать текст программы, отладить следующие программы
1. Запишите программу с первого урока.
2. If30. Дано целое число, лежащее в диапазоне 1–999. Вывести его строку-описание вида «четное двузначное число», «нечетное трехзначное число»

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

На следующий урок нет домашнего задания!

среда, 4 марта 2020 г.

Разветвляющийся алгоритм

Дата проведения занятия 26.02.19 
Ветвление - алгоритмическая конструкция, в которой в зависимости от результата проверки условия ("да" или "нет") предусмотрен выбор одной из двух последовательностей действий (ветвей). Алгоритмы, в основе которых лежит структура "ветвления", называются разветвляющимися.
Употребляют разные названия этого алгоритма:

  • разветвляющийся
  • ветвления
  • выбора
  • условный 

Существует 2 формы разветвляющегося алгоритма :
  • полная форма
  • неполная форма 
На Паскале разветвляющийся алгоритм (полная форма) реализуется с помощью условного оператора:
if условие then 
   оператор1
else 
   оператор2

На Паскале разветвляющийся алгоритм (неполная форма) реализуется с помощью условного оператора:

if условие then   оператор

Условный оператор работает так: 
1.      Проверяется выражение, которое является условием.
2.      Если условие истинно (true), выполняется оператор1, иначе (false) — оператор2.
Операторы  оператор1 и оператор2 никогда не выполняются вместе — работает только один из них. После выполнения условного оператора управление передается на оператор, который следует за условным.

Обратите внимание: в ветке if и в ветке else стоит ТОЛЬКО ОДИН ОПЕРАТОР!
А что делать, если надо выполнить не ОДИН, а НЕСКОЛЬКО операторов? Их надо "объединить" в один оператор при помощи операторных скобок begin  end 
if условие then 
   begin
     оператор11
     оператор12
     оператор13 
   end
else 
   begin
     оператор21
     оператор22
     оператор23 
   end

Работа на компьютере

I часть.
А теперь посмотрим, как работает  условный оператор
Напишите в тетради программу pas8_cl_07_name, которая определяет, является ли введенное число четным или нечетным.
Для определения четности используется операция  a mod 2.
 Алгоритм
Объявите целые переменные a, b
Выведите сообщение: 'Работает программа Пети Петрова'
Выведите сообщение: 'Программа определяет четность числа'
Выведите сообщение: 'Введите число '
Введите а 
Если а mod 2 = 0, то выведите сообщение: 'Число a=XX четное'
иначе выведите сообщение: 'Число a=XX нечетное'
Наберите программу в среде PascalABC.NET.
Запустите ее для значений: 8, 7, 0 и -5. В тетрадь запишите результаты.

II часть
Составить блок-схему, написать текст программы, отладить следующие программы
1. pas8_cl_08_name. Ввести число, вывести сообщение о том, делится ли оно на 5
2. If9. Даны две переменные вещественного типа: A, B. Перераспределить значения данных переменных так, чтобы в A оказалось меньшее из значений, а в B — большее. Вывести новые значения переменных A и B.

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

1. Подготовиться к контрольной работе. Темы: div, mod, if 

Прислать учителю информатики  по школьной эл почте письмо-отчет о выполнении домашнего задания.
Тема письма: 8 кл ДЗ к уроку 4 Паскаль  <ваша фамилия>

Задание Паскаль 3. Написать и отладить 2 программы
  1. If2. Дано целое число. Если оно является положительным, то вычесть из него 8; в противном случае прибавить к нему 6. Вывести полученное число
  2. Integer8. Дано двузначное число. Вывести число, полученное при перестановке цифр исходного числа
  3. Для каждой программы в тетради схематично зарисовать блок-схему   
  4. Для каждой программы после удачного выполнения сделать снимок экрана.
    Снимок экрана делать тогда, когда на экране есть результат выполнения. 
  5. К письму для каждой программы прикрепить файл программы с расширением .pas + снимок экрана (скриншот) в формате  png или jpg (не BMP!)
  6. Вариант1 получения снимка экрана: надо нажать клавишу print scrin, вставить данные  из буфера в окно программы paint, сохранить в формате png или jpg
  7. Вариант2 получения снимка экрана: найти папку Стандартные-Windows и посмотреть, есть ли в ней инструмент Ножницы. Если есть, то создать фрагмент изображения, обведя с помощью Ножниц  часть экрана, содержащую текст программы и результат работы программы

Ссылка на онлайн-компилятор: https://www.ideone.com/

вторник, 25 февраля 2020 г.

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

В информатике отдельный информационный объект (число, символ, строка и др) называется величиной. Величины бывают постоянные (константы) и переменные.


Константой называется величина, значение которой указывается в тексте программы и это значение не меняется во время работы программы.


Переменной  называется величина, значение которой меняется во время работы программы.


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


Итак, переменная - это величина, которая имеет имя, тип и значение. Чтобы выделить место для хранения значения переменной, ее надо объявить в программе.
Смотрите презентацию Программирование на языке Паскаль, глава Введение

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

4. Присвоить значение переменной - значит записать новое значение в переменную. Знак присвоения :=
a:=6;   d:=a;  d:=d+a

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

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

Операции с целыми числами Div и Mod

1. Представьте, что необходимо решить такую задачу:

Дано расстояние L в сантиметрах. Найти M количество полных метров в нем (1 метр = 100 см).

Попробуем использовать операцию деления нацело
M:= L div 100;
Например, 
M := 527 div 100;   // 5
M := 1274 div 100; // 12

2. Дано двузначное число A. Выделить младшую ed и старшую des цифры числа. 
Для выделения младшей цифры используем операцию mod, для выделения старшей - операцию div
ed := A mod 10; // единицы
des := A div 10; // десятки



Работа на ПК


I задание

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

II задание

1. Напишите программу Pas8_cl_06_name, которая вводит двузначное число A, выделяет из него младшую ed и старшую des цифры и выводит результат на экран.
Например, при вводе числа 75 программа выведет:
"В числе 75 десятков: 7, единиц : 5"
2. Сохраните программу под именем Pas8_cl_06_name.pas
3. Сделайте компиляцию. Если нет ошибок -  запустите на выполнение 3 раза с разными данными
4. Покажите учителю

III задание


Записать и отладить  2 программы:

Integer2. Дана масса M в килограммах. Используя операцию деления нацело, найти количество полных тонн в ней (1 тонна = 1000 кг).
Integer7. Дано двузначное число. Найти сумму и произведение его цифр


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

  1. Написать в тетради программу вычисления площади прямоугольного треугольника S по двум катетам a, b. Значения a и b - это исходные данные, их требуется ввести, S - результат работы программы, его требуется вывести
  2. Набрать на ПК. Дать имя программе  pas8_hm_03_name (name - фамилия автора программы)
  3. Сохранить файл под именем pas8_hm_03_name.pas
  4. Запустить программу в среде PascalABC.Net
  5. Сделать сканирование экрана ( кнопка Print Screen)
  6. Прислать учителю информатики до 17.02.19 (воскресенье) до 22.00 по школьной эл почте письмо-отчет о выполнении домашнего задания.
    Тема письма: 8 кл ДЗ к уроку 21 Паскаль <ваша фамилия>
  7. К письму прикрепить 2 файла: скриншот экрана с результатом выполнения программы и свой файл типа .pas,
  8. Если что-то не получилось, в письме написать причину невыполнения задания
  9. В тетради решить примеры:
  10. 15 div 5=
    15 mod 5=
    421 mod 10=
    421 div 10=
    357 mod 100=
    357 div 100=
    357 div 10 mod 10=

среда, 19 февраля 2020 г.

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

Дата проведения занятия 19.02.2020
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. Изучите интерфейс приложения.
5. Наберите программу в поле редактирования, указав в приветствии свои имя и фамилию 

program pas8_cl_01; 
begin
  writeln ('Вас приветствует программа Васи Иванова');
  write ('строка 1 и про');    
  writeln ('должение строки 1');
  writeln ('строка 2');
end.
6. Сохраните текст программы на локальном компьютере в своей папке, во вложенной папке Pascal_name под именем Pas8_cl_01.pas
Учтите, что в имени программы могут использоваться только латинские буквы, цифры и знак подчеркивания (НЕ тире)
7. Сделайте компиляцию программы (Ctrl + F9).
8. Если нет синтаксических ошибок, то запустите программу (F9)
9. Проанализируйте полученный результат
10. Перепишите в тетрадь текст программы


Самостоятельная работа на ПК





        CWA1Begin6


 Написать программу, которая в поле вывода "рисует " домик из звездочек.
 Пример:
         *
     * * * *
  *  *  *  *  *
  *             *
  *             *
  *             *
  *  *  *  *  *


На дополнительную оценку:

CWA1Begin7

Вывести таблицу умножения в виде представленном на картинке:



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

Для выполнения домашнего задания:
  1. Написать и запустить программу в среде PascalABC.Net
  2. Сделать сканирование экрана ( кнопка Print Screen)
  3. Прислать учителю информатики по школьной эл почте письмо-отчет о выполнении домашнего задания.
    Тема письма: 8 кл ДЗ к уроку 3 Паскаль <ваша фамилия>
  4. К письму прикрепить скриншот экрана с результатом выполнения программы и свой файл типа .pas,
  5. Если что-то не получилось, в письме написать причину невыполнения задания.

I задача
1. Составьте программу, которая нарисует прямоугольный равнобедренный треугольник с катетами по 4 звездочки

2. Дать имя программе - Pas8_hm_02 (name - фамилия автора программы
3. Сохраните файл под именем Pas8_hm_01.pas

II задача
  1. Написать в тетради программу, которая выводит в поле вывода  звездочками * * * первую букву вашего имени или фамилии. Например: Ольга
     ***
    *    *
    *    *
     ***
  2. Дать имя программе - Pas8_hm_02 (name - фамилия автора программы)
  3. Сохранить файл под именем Pas8_hm_02.pas

среда, 12 февраля 2020 г.

Алгоритм и исполнитель

Дата проведения занятия 13.02.20
Алгоритм и Исполнитель алгоритма — это базовые понятия теории алгоритмов.
Алгоритм – это понятное и точное предписание исполнителю выполнить конечную последовательность команд, приводящую от исходных данных к искомому результату.

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


Различают формальных и неформальных исполнителей. Формальный исполнитель одну и ту же команду всегда выполняет одинаково. Неформальный исполнитель одну и ту же команду может выполнить по-разному.

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

Система команд исполнителя (СКИ) - это совокупность всех команд, которые может выполнить конкретный исполнитель.

Каждый алгоритм обладает следующими свойствами:
  1. Конечность (результативность) алгоритма означает, что за конечное число шагов должен быть получен результат;
  2. Дискретность алгоритма означает, что алгоритм должен быть разбит на последовательность выполняемых шагов;
  3. Понятность алгоритма означает, что алгоритм должен содержать только те команды, которые входят в его СКИ;
  4. Точность алгоритма означает, что каждая команда должна пониматься однозначно;
  5. Массовость алгоритма означает, что однажды составленный алгоритм должен подходить для решения подобных задач с разными исходными данными.
  6. Детерминированность (определенность). Алгоритм обладает свойством детерминированности, если для одних и тех же наборов исходных данных он будет выдавать один и тот же результат, т.е. результат однозначно определяется исходными данными.

Способы записи алгоритмов

Марков А.А. (1903 - 1979) установил, что алгоритмы должны содержать предписания двух видов:
1) функциональные операторы - предписания, направленные на непосредственное преобразование информации;

2) логические операторы - предписания, определяющие дальнейшее направление действий. 
Именно эти операторы положены в основу большинства способов записи алгоритмов   


Работа на уроке

Работа с уроком цифры:
Пройдите по ссылке и выполните задание.

Работа с блок-схемами:
  1. Нарисуйте в тетради блок-схему вычисления среднего арифметического двух чисел по формуле
    c = ( a + b)/ 2 . Значения a и b - это исходные данные, их требуется ввести,
    с - результат работы алгоритма, его требуется вывести
  2. Запустите  редактор блок-схем afce (ярлык на рабочем столе)
  3. Создайте в редакторе блок-схем afce блок-схему вычисления среднего арифметического двух чисел.
  4. Экспортируйте блок-схему в рисунок aver2.png, рисунок сохраните в своей локальной папке
  5. Создайте в редакторе блок-схем afce блок-схему вычисления площади прямоугольника S по двум сторонам a, b. Значения a и b - это исходные данные, их требуется ввести,
    S - результат работы алгоритма, его требуется вывести
  6. Экспортируйте блок-схему в рисунок Spp.png, рисунок сохраните в своей локальной папке
Домашнее задание на 19.02.20
  1. Посмотрите презентацию Способы записи алгоритмов. 
  2. Начертите в тетради блок-схему вычисления площади прямоугольного треугольника S по двум катетам a, b. Значения a и b - это исходные данные, их требуется ввести,
    S - результат работы алгоритма, его требуется вывести
  3. Начертите в тетради блок-схему решения уравнения ax + b = 0. Значения a и b - это исходные данные, их требуется ввести, x - результат работы алгоритма, его требуется вывести