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

Урок 16. Подпрограммы-функции

Повторить материал о подпрограммах

В чем различие между процедурой и функцией?
Функция - вспомогательный алгоритм,  который может принимать параметры, но в отличие от процедуры,  функция всегда возвращает значение - результат.
Примеры встроенных функций: sin, cos, abs, whereX, whereY...
 Результатом выполнения функции может быть число, символ, символьная строка или данные другого типа.

Алгоритм функции, которая вычисляет сумму цифр числа

На формальном языке:
сумма:=0
начало цикла пока n<> 0
      сумма:=сумма + mod (n,10)
      n:= div (n,10)
конец цикла
На языке Pascal:
program funcSum;
var N: integer;
function sumDigits(n: integer):integer;
var sum: integer;
begin
  sum:= 0;
  while n <> 0 do begin
    sum:= sum + n mod 10;
    n:= n div 10;
  end;
sumDigits:= sum;
end;
begin
  write ( 'Введите целое число: ' );
  read ( N );
  write ( 'Сумма цифр ', sumDigits(N))  

end.

Примеры вызова функции

x:= 2*sumDigits(n+5);
z:= sumDigits(k)+ sumDigits(m);

Практическое задание и Домашнее задание

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

Урок 15. Подготовка к ДКР

Итоги выполнения предыдущего задания

Смотрите комментарии в своих рабочих листах. 
Советую работать самостоятельно и задавать вопросы учителю, а не полагаться на мнение соседа :(. 

Подготовка к ДКР

Диагностическая контрольная работа состоится 23 января на уроке по расписанию.
Для повторения материала за базовый курс Информатики поработаем с тестами.
Тесты (4 варианта) расположены на школьном сервере по адресу:
\\server.sc640\public1\learn\11i\ЕГЭ-ДКР\тесты-22-12
За правильный ответ по каждому заданию начисляется 1 балл.
Задания 12, 13, 17, 18 рекомендуем отложить на конец.
Номер варианта указывает учитель.

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

Урок 14. Подпрограммы. Изменяемые параметры

 Прочитайте документ  - Область действия переменных в программе
Что делает процедура Swap:
Program Exchange1;
var x,y : integer;
procedure Swap (a, b: integer);
var c: integer;
beginc:=a; a:=b; b:=c;end;
begin
x:=2; y:=3; Swap (x, y);  Write(x, ' ', y);
end.
Что должна вывести эта программа?
Выполним эту программу в среде PascalABC. Значения переменных x и y остались прежними! 
Процедура Swap работает с копиями переданных ей параметров. Это значит, что процедура создает в памяти временные локальные переменные с именами  a и b и копирует в них переданные основной программой значения переменных   x и y.  Поэтому все перестановки в процедуре были сделаны с копиями, а значения переменных  x и y в основной программе не изменились. Такая передача параметров называется передачей по значению, а параметры называют параметрами - значениями.
Чтобы  решить эту проблему,  нужно явно сказать, чтобы процедура работала с теми же ячейками памяти, что и основная программа. Для этого при перечислении формальных параметров в процедуре указывают слово var: 
Program Exchange2;
var x,y : integer;
procedure Swap (var a, b: integer);
var c: integer;
begin
c:=a; a:=b; b:=c;
end;
begin
x:=2; y:=3; Swap (x, y);  Write(x, ' ', y);
end.
Выполним эту программу в среде PascalABC. Значения переменных x и y поменялись местами! 
Такая передача параметров называется передачей по ссылке, а параметры называют параметрами - переменными/
Практическое задание и Домашнее задание

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

Урок 13. Вызов подпрограмм с параметрами

Продолжаем работать с подпрограммами модуля CRT

Используя подпрограммы модуля CRT, напишите программы для следующих задач:
Задача 2. Вывести на экран цветное окно, в котором написан цветной текст, вводимый с клавиатуры.
Задача 3. Составить анкету (опросник) для сбора сведений. Собранные ответы вывести в табличном виде.
Темы анкет: 
а) День рождения школы Вопросы - 1) Имя, 2) класс, 3) сколько лет учишься в той школе, 4) отзыв о школе 
б) ДКР  Вопрос - 1) Сколько нулей в двоичной записи десятичного числа 1010?  
в) Любимые предметы Вопросы 1) Имя, 2) Какие предметы нравятся, 3) какие предметы не нравятся
Написанные программы сохранить в папке progr на локальном компьютере и загрузить на облачный диск в свою папку Программирование.

среда, 27 ноября 2013 г.

Урок 11. Переменные в подпрограммах. Параметры

В подпрограммах можно использовать переменные так же, как и в основной программе.
Как передать данные из основной программы в подпрограмму?
Один из способов -  использовать параметры подпрограммы.

Параметры подпрограммы

В заголовке подпрограммы можно описать переменные, которые будут использоваться внутри подпрограммы. Эти переменные называют параметрами.
 В заголовке можно перечислить несколько параметров. В этом случае они разделяются символом ; (точка с запятой).
Для вызова процедуры с параметром требуется указать данные, которые передаются подпрограмме для обработки, в соответствии со списком параметров. 
Примеры процедур с параметром:
Описание:
procedure PrintSquare(i: integer);  
begin writeln(i*i);end;
Тогда при вызове PrintSquare(5*a-b) значение 5*a-b будет вычислено и присвоено переменной i, после чего выполнится тело процедуры.
procedure Mult2(var a: integer);
begin
  a:=a*2;
end;
после вызова Mult(d) значение d увеличится в 2 раза.
Параметры, описываемые в заголовке подпрограммы, называют формальными.
Параметры, указываемые при вызове подпрограммы, называют фактическими. 
Типы переменных, которые используют как фактические параметры, должны совпадать с типами соответствующих формальных параметров.
Практическая работа
Домашнее задание
  1. Доделать классную работу.
  2. Написать программу для Задачи 2, предложенной на Рабочем листе Подпрограммы с параметрами. 
Свои программы загрузить в свою папку Программирование на облачным диске

среда, 20 ноября 2013 г.

Урок 10. Оформление и вызов подпрограмм. Модули подпрограмм

Как на языке Pascal оформляются подпрограммы?
Где располагаются описания подпрограмм?


Модули - библиотеки подпрограмм

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

Практическая работа
  1. Задание на оформление процедур (по вариантам)
  2. В программе Sum-max-min оформить в виде подпрограммы алгоритм заполнения массива.
  3. Изменить программу Sum-max-min так, чтобы входных чисел было  а) 10, б) - указанное число n
Домашняя работа

  1. Изучить  справку к среде PascalABC - Содержание - Стандартные модули - Модуль CRT
  2. Изучить работу программы CRTColors.pas. Написать программ вывода в окно CRT рисунка

*******************

разными цветами

вторник, 12 ноября 2013 г.

Урок 9. Подпрограммы - процедуры и функции

С функциями и процедурами мы знакомились еще в Лого. Тогда мы говорили о вспомогательных алгоритмах.
В программировании часто бывает нужно одну и ту же группу команд повторять несколько раз. Если повторение происходит “на месте” — используют цикл (while, или for).
Если код (операторы) нужно повторять в разных местах программы — его оформляют в виде подпрограммы.
Подпрограмма — программа, которую можно вызывать из других программ, указав ее имя.
Подпрограмма реализует вспомогательный алгоритм.
Основная программа — программа, реализующая основной алгоритм решения задачи и содержащая в себе обращения к подпрограммам.
 Правила оформления подпрограммы на языке Pascal смотрите в документе, там же находится описание практической работы.

Практическая работа
Домашнее задание
  1. Уметь рисовать блок-схемы для процедур  max и  min
  2. В программу  Sum-max-min вставить операторы вывода  условия задачи и комментарии и проверить ее работу
  3. Изменить программу Sum-max-min так, чтобы входных чисел было
а) 10, б) указанное число n
и проверить работу программы
  1. Читать справку к среде PascalABC -
Содержание - Справочник по языку - Процедуры и функции - Описание процедур и функций