Методика изучения основных алгоритмических конструкций

МИНИСТЕРСТВО ОБРАЗОВАНИЯ МОСКОВСКОЙ ОБЛАСТИ
Государственное образовательное  учреждение высшего профессионального  образования
МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ  ОБЛАСТНОЙ УНИВЕРСИТЕТ
(МГОУ)





Методика изучения основных алгоритмических конструкций – циклов в различных системах программирования с привлечением ЭОК системы 1С:Предприятие и использованием инновационных образовательных комплексов в условиях реализации ФГОС




Курсы повышения квалификации по программе
Применение инновационных образовательных комплексов на уроках информатики как условие реализации ФГОС



Слушатель





Глушков Николай Васильевич –
учитель высшей категории
средней общеобразовательной
школы № 15 г. Подольска Московской области , выпускник МОПИ
им. Н.К. Крупской физмат ф-т 1964 г.,
с окончанием аспирантуры в 1970 г
по кафедре теоретическая физика.





Научные руководители

кандидат педагогических наук, доцент Пантелеймонова А.В и
старший преподаватель Белова М.А.




Москва 2014
Оглавление

13 TOC \o "1-3" \u 14Введение 13 PAGEREF _Toc379323514 \h 14315
1. Роль и место изучения темы «Методика изучения основных алгоритмических конструкций – циклов в различных системах программирования с привлечением ЭОК системы 1С:Предприятие» в разделе «Программирование»
2.Основные алгоритмические конструкции -циклы в системе 1С:Предприятие и других системах программирования.

3. Методические рекомендации по изучению циклов с использованием ОК «1С:Школа. Информатика 10 кл» и других систем программирования.
4. Подборка задач для изучения циклов в языке 1С:Предприятие и других системах программирования.
Заключение 13 PAGEREF _Toc379323519 \h 143415
Литература 13 PAGEREF _Toc379323520 \h 143515
15
Введение

(Обоснование выбора темы и ее актульность)
Школы в условиях перехода на новые ФГОС решают задачи по обеспечению таких требований как создание возможностей для всестороннего личностного роста, формирование способности к саморазвитию и самообразованию, осознанному выбору и построению дальнейшей индивидуальной траектории образования на базе ориентировки в мире профессий и профессиональных предпочтений. Нужны гибкие решения для преподавания ИТ, отвечающего потребностям 21-го века. Президентская инициатива предполагает широкое внедрение в учебный процесс электронных учебников, электронных образовательных комплексов. Наметилась тенденция к тому, что необходимым, общепринятым средством обучения становятся электронные образовательные комплексы, в рамках которых реализуются образовательные программы с новым содержанием, более привлекательные для учеников, их родителей и общества.
Ускорение научно-технического прогресса, темпов и масштабов производства предъявляет повышенные требования к выпускникам школ. В связи с этим важнейшей задачей школы следует считать подготовку учащихся к будущей профессии специалистов, умело сочетающих знания специальности с широким использованием методов математического моделирования, а так же технических и программных средств ЭВМ..
В настоящее время все большее распространение во всех отраслях экономики и народного хозяйства приобретают решения на платформе 1С:Предприятие. Старшим школьникам, с целью способствования их профессиональному выбору, было бы полезно познакомиться с организацией алгоритмической конструкции циклов при создании различных математических и компьютерных моделей на языке программирования 1С:Предприятие. Автором данного проекта для сравнения представлены так же разработки программ алгоритмической структуры -цикл на языках ООП VisualBASIC и Паскаль.
Все выше сказанное определяет актуальность темы проекта «Методика изучения основных алгоритмических конструкций – циклов в различных системах программирования с привлечением ЭОК системы 1С:Предприятие».
Целью проекта является совершенствование методики обучения школьников основным алгоритмическим конструкциям – циклов в языках программирования с учетом профессиональной ориентации на промышленный язык программировании 1С:Предприятие.
Задачи проекта:
- рассмотреть роль и место изучения темы «Методика изучения основных алгоритмических конструкций – циклов» в разделе «Программирование» школьного курса информатики.
- Проанализировать теоретическую информацию для школьников по циклам в 1С:Предприятие и других языках программирования
- предложить методические рекомендации по изучению алгоритмической конструкции циклы с использованием ОК «1С:Школа. Информатика 10 кл» и др. языков программирования.
- разработать подборку задач для изучения данной темы.
Новизна исследования заключается в применении в образовательном процессе инновационного образовательного комплекса «1С:Школа. Информатика 10» и разработке методики обучения старших школьников данных языка программирования 1С:Предприятие.
Практическая значимость в возможности использовать систему задач для формирования представлений старших школьников об алгоритмической структуре циклы языка 1С:Предприятие.

Роль и место изучения темы «Алгоритмические конструкции циклы» в разделе «Программирование»
Первое знакомство с понятием «алгоритмической структуры –циклы» учащиеся делают в средней школе при построении таблиц, графиков, различных простейших математических , физических и др. моделей с помощью Приложения EXCEL или языков программирования. Более углубленно изучение этой темы продолжается в старшей школе - 10-11 классы – базовый и профильный уровни, где создаются разнообразные проекты : к примеру математического, экономического, физического и т.д. содержания при моделировании различных процессов.
В требованиях ФГОС среднего (полного) общего образования указаны следующие предметные результаты по предмету «Информатика» (базовый уровень):
1) сформированность представлений о роли информации и связанных с ней процессов в окружающем мире;
2) владение навыками алгоритмического мышления и понимание необходимости формального описания алгоритмов;
3) владение умением понимать программы, написанные на выбранном для изучения универсальном алгоритмическом языке высокого уровня; знанием основных конструкций программирования; умением анализировать алгоритмы с использованием таблиц;
4) владение стандартными приёмами написания на алгоритмическом языке программы для решения стандартной задачи с использованием основных конструкций программирования и отладки таких программ; использование готовых прикладных компьютерных программ по выбранной специализации;
5) сформированность представлений о компьютерно-математических моделях и необходимости анализа соответствия модели и моделируемого объекта (процесса); о способах хранения и простейшей обработке данных; понятия о базах данных и средствах доступа к ним, умений работать с ними;
6) владение компьютерными средствами представления и анализа данных;
7) сформированность базовых навыков и умений по соблюдению требований техники безопасности, гигиены и ресурсосбережения при работе со средствами информатизации; понимания основ правовых аспектов использования компьютерных программ и работы в Интернете.

Следует отметить , если правильно рассмотреть процесс школьного обучения, то из его анализа вытекает следующее: на каждом уроке учитель моделирует какой-то процесс в повторяющихся тактах . А ученики потом воспроизводят -моделируют свои процессы, через поставленные задачи.
2. Алгоритмические системы циклы в различных системах программирования с привлечением ЭОК системы 1С:Предприятие.
Циклические алгоритмы
Иногда в алгоритме требуется повторять одни и те же действия несколько раз. Число повторений может быть известно заранее, а может определяться условием, проверяемым в процессе выполнения алгоритма.
Пример Элементарным примером циклического алгоритма служит алгоритм прохождения лыжником дистанции за несколько дней. Лыжник прошел дистанцию в первый день 10 км и каждый последующий день увеличивал дистанцию на 10%. Сколько км пройдет лыжник за 8 дней. Это задача на сложный процент. Каждый раз дистанция увеличивается на 10 %.Нужно обсчитывать несколько раз одну и ту же формулу – копилка по сумме со сложным процентом.
Определение. Циклический алгоритм – это алгоритм, в котором некоторая последовательность шагов выполняется несколько раз.

В зависимости от того, как определяется количество повторений, циклы можно разделить на три группы: [ Cкачайте файл, чтобы посмотреть ссылку ], [ Cкачайте файл, чтобы посмотреть ссылку ] и [ Cкачайте файл, чтобы посмотреть ссылку ].
Цикл с предусловием
С помощью блок-схемы циклическую конструкцию с предусловием можно записать следующим образом:







[ Cкачайте файл, чтобы посмотреть ссылку ]

Такая конструкция называется циклом с предусловием, так как условие, которое определяет количество повторений в цикле, проверяется до начала выполнения тела цикла (повторяемых операторов).

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









4.6.4. Цикл с фиксированным числом повторений
Когда учитель заранее знает, какое количество тетрадей дано ему на проверку, реализовать алгоритм проверки тетрадей можно с использованием циклической конструкции с фиксированным числом повторений. Эти конструкции удобно использовать в таких задачах, как подсчет факториала числа n, вычисление n степени числа и им подобных, где заранее известно, сколько раз необходимо выполнить повторения. С помощью блок-схемы такую конструкцию можно записать следующим образом:









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















Стоит отметить, что в циклах с пред- и постусловием в разных языках программирования выход из цикла может определяться как истинным, так и ложным условием, все зависит от конкретной реализации оператора. Например, в языке Pascal в цикле с предусловием выход из цикла происходит в том случае, если условие стало ложным, а в цикле с постусловием, наоборот, выход из цикла происходит в том случае, если проверяемое условие стало истинным.

3 .Методические рекомендации по изучению циклов
План урока «Программирование циклов.
Цикл с предусловием»

Цель: освоить программирование циклов с предусловием. Требования к знаниям и умениям Учащиеся должны знать: конструкции цикла с предусловием; Правила записи арифметических выражений, операторы ввода и вывода, присваивания; Учащиеся должны уметь: пользоваться языком блок-схем, понимать описания алгоритмов на учебном алгоритмическом языке; составлять программы с циклами с предусловием; использовать операторы ввода, вывода, присваивания.
Программно-дидактическое оснащение: Сем., ;39, с.211; Угр., ;4.2.4, с.117; карточки: задания на урок, домашнее задание.
Х о д у р о ка I. Организационный момент II. Постановка целей урока В процессе решения множества задач часто требуется повторять те или иные действия. При этом бывают разные ситуации. Например:
количество повторений известно до выполнения тела цикла
до выполнения тела цикла количество повторений неизвестно;
тело цикла должно выполниться хотя бы один раз. Для разных ситуаций существуют различные циклические конструкции. В языке программирования Паскаль их три, в соответствии с пунктами, указанными выше. Самой универсальной и поэтому чаще других используемой конструкцией цикла является второй вариант ( цикл while).
III. Работа по теме урока
Цикл while является циклом с предусловием.

While <логическое выражение> do begin – (Группа операторов)
end; В заголовке цикла находится логическое выражение. Если оно истинно, то тело цикла выполняется, если ложно – то нет. Если тело цикла было выполнено, то ход программы снова возвращается в заголовок цикла. Условие выполнения тела снова проверяется (находится значение логического выражения). Тело цикла выполнится столько раз, сколько раз логическое выражение вернет true. Поэтому очень важно в теле цикла предусмотреть изменение переменной, фигурирующей в заголовке цикла, таким образом , чтобы когда-нибудь обязательно наступала ситуация false. Иначе произойдет так называемое зацикливание. Например , нужно распечатать n звездочек/ Решение: Var I,n: integer;
Begin
Write(Количество знаков’); readln (n);
I:=1;
While i<=n do
begin
Write((*));i:=i+1: end;
End.
IV.Практическая работа
Задание 1. Найдите сумму всех натуральных чисел из промежутка [1,m ]
Задание 2. Найдите сумму n чисел, вводимых с клавиатуры.
Задание 3.Выведите квадраты натуральных чисел, не превосходящих 50.
Задание 4. Возведите число в степень.
Решение для задания 4:
Var num,deg: integer; res:real;i:byte;
Begin
Write(число:’); readln(num);
Write(степень:’); readln(deg);
Res:=1;i:=0;
While i Begin
Res:=res*num;i:=i+1
End;
IF deg<0 then
Res:=1/res;
Writeln(res:10:5)
End.
V.Подведение итогов урока
– Как программируется цикл с предусловием на языке паскаль?
Домашнее задание:
1.Вывести все четные числа, начиная с числа N и кончая числом М.Числа N и M задает пользователь.
2.Вводятся 14 чисел. Определить, сколько среди них положительных (включая 0) и сколько отрицательных. Числа вводятся в одну переменную в цикле.
Ответы:
Program dz1;
Var
X, n, m: integer;
Begin
Write(n=’); readln (n); write(m=’); readln(m);
X:=n;
While x <= m do
Begin
If x mod2=0 then write(x,’’);
X:=x+1;
End;
End.
Program dz2;
Var I, N: integer; x,s: real;
begin
s1:=0;s2:=0; i:=1;
While i <=14 do
Begin
Write(введите’,I, -е число’);readln (x);
If x>=0 then s1:=s1+I else s2:=s2+i; I:=i+1;
End;
Write ('положительныx чисел’, s1:5,’отрицательных чисел ,s2:5);
End.

План урока .Программирование циклов с постусловием

Цель: освоить программирование циклов с постусловием
Требование к знаниям и умениям
Учащиеся должны знать:
Конструкции цикла с постусловием;
Правила записи арифметических выражений, операторы ввода, вывода, присваивания
Учащиеся должны уметь:
Пользоваться языком блок-схем, понимать описание алгоритмов наученном алгоритмическом языке;
Составлять программы с циклами и постусловием ;
Использовать операторы вводы, вывода, присваивания.
Программно-дидактическое оснащение: Сем.,§ 39,40,с. 211;Угр., § 4.2.4, с.117;карточки: проверочная работа «Цикл с предусловием», задания на урок, домашнее задание.
Ход урока
I.Организационный момент
II/ Актуализация знаний
Проверочная работа «Цикл с предусловием
1.Запишите конструкцию цикла с предусловием .В каких случаях применяется цикл с предусловием? 2.Запишите правильную структуру последовательности операторов . а:=2; b:=1;while a+b<8 do begin a:=a+1;b:=b+1 end ;S:=a+b. Сколько раз будет повторен цикл и каким будут значения переменных a,b,s после его завершения ? 3.Дана последовательность операторов, вычисляющих факториал f числа n,которая содержит ошибки. Найдите эти ошибки ,предварительно записав операторы в правильном виде. k:=1; f:=0; while p>=0 do f=f*k K:=k+1 Примечание. Факториалом натурального числа называется произведение всех натуральных чисел от 1 до этого числа, т.е. n!=1*2*3*-(n-2)*(n-1)*n. 4.Найдите и исправьте ошибки в следующем фрагменте программы, определяющей для заданного натурального числа n число, записанное цифрами в обратном порядке
P:=n; while p>=0 do begin a:=a+pmod10; p:=pdiv10 end; Ответы:
While <логическое выражение> do begin группа операторов end; Когда до выполнения цикла количество повторов неизвестно.
2 раза; a=5,b=3,s=8.
K:=1; f:=1
N:=5;
while k>=n do
begin
f= f*k;
k:=k+1;
end;
write(n=’,n);
end.

Read(n);
P:=n; a:=0; while p>=0 do begin a:=a*10+pmod10; p:=pdiv10 end;
III.Постановка целей урока
Оператор while как уже известно позволяет организовывать цикл. При выполнении этого оператора программа вычисляет значение этого условия. Если условие истинно, то исполнительная часть оператора while будет выполняться до тех пор пока условие не примет значения false. Если значение условия есть false в самом начале, то исполнительная часть оператора while вообще не будет выполняться. Иногда при решении задачи возникает необходимость выполнить тело цикла хотя бы один раз, а потом исследовать условие, повторять ли его еще раз. Эту задачу выполнит другой вид цикла Repeat.
IV.Работа по теме урока
Repeat – повторяй операторы until <условие>;до тех пор , пока условие не будет верным. Есть небольшое отличие в организации цикла Repeat по сравнению с while; для выполнения в цикле Repeat нескольких операторов не следует помещать эти операторы в операторные скобки begin .end. Зарезервированные слова Repeat и until действуют как операторные скобки. Конструкция Repeat . Until работает аналогично циклу while. Различие заключается в том, что цикл while проверяет условие до выполнения действий, в то время как Repeat проверяет условие после выполнения действий, это гарантирует хотя бы одно выполнение действий до завершения цикла. Например.
Repeat
read (number); sum:=sum+number;
until number = -1
b) Repeat I:=i+1;
writeln (sqr(I)) until number = -1

V Практическая работа
Задание № 1. Определите , является ли данное число простым. Простым называется число, которое не имеет делителей, кроме 1 и самого себя.
Решение: Var I,number: integer; begin writeln( ввести число’); read (Number); i:=1; repeat i:=i+1; until Number mod i=0; if number= I then writeln(number, является простым’) else writeln(number, делится на ,i); End.
Задание 2. Выведите на экран строку из звездочек. Решение:
Var I,n: integer; begin write( Ввести число знаков’); readln (n); i:=1; repeat write((*)’); i:=i+1; until i>n; End.
Задание 3. Выведите на экран квадраты натуральных чисел, не превосходящих 50. Решение:
Var x,y,n: integer; begin write( Ввести число n’); readln (n); x:=1; repeat
Y:=x*x;
If yn; End.
Задание4. Найдите НОД двух чисел.
Решение: Var x,y: integer; begin write( Введите два числа’); readln (x,y); repeat
If x>y then x:=x mod y else y:=y mod x;
Until (x=0) or (y=0);
writeln(НОД=’,x+y); End.
VII. Подведение итогов урока
– Как программируется цикл с постусловием на языке Паскаль? – Для каких целей лучше его использовать?
Домашнее задание.
Составить программу нахождения НОД трех чисел.
Составить программу нахождения НОК двух чисел,
Используя формулу A X B= НОД(A,B ) X НОД(A,B )

4 . Подборка задач для изучения циклов в языках WisualBasic, Паскаль, 1С:Предприятие и других системах программирования.
Примеры использования циклических конструкций в разных языках программирования.
Реализовать проект задачи по комбинаторике на 3-х языках программирования VBASIC, Pascal ABC, 1c Предприятие.
Каждая программа состоит из 3 модулей определения Перестановки из n элементов – P=n!, Размещения – A из n элементов по m , Сочетания из n элементов по m.
Алгоритм программы: 1.Вычисляется цикл для факториала N!. Он определяет число перестановок из n элементов – P. 2. Вычисляется цикл для факториала (n-m)!, по
формуле A=N!/(n-m)! определяем Размещение. 3. Вычисляется цикл для факториала (m)!, по
формуле С=N!/((n-m)!*M!) определяем Сочетание.
Листинг программы на языке VBASIC.
На рис представлена форма выполнения задачи по комбинаторике.
Основным моментом подготовки формы и кода программы является использование меток в инструменте «А» - т.е. объектов типа Label1,Lfbel2 и т.д. Они выполняют роль и непосредственно меток и переменных. В Свойстве метке присваивается имя, к примеру n, m и т.д. Данные попадают в окно метки через прокрутку «скролл» и тогда в коде программы это выглядит так : n=val(sh1.value), m=val(sh2.value) Результаты после обработки данных попадают в окна метки. Код написан без текстовых окон. Это очень удобный метод записи кода программы.

















Перестановки Rem Вычисление факториала nf=n!
Rem Процедура нажать кнопку
Priva
·te Sub Command1_Click()
Cls
Rem нач знач перем nf
nf = 1
Rem Начало цикла
For i = 1 To n
nf = nf * i
Rem конец цикла
Next
End Sub
Rem Процедура для прокрутки
Private Sub sh1_Change()
n = Val(sh1.Value)
End Sub
Rem ввести значение параметра m
Rem Процедура для прокрутки
Private Sub sh2_Change()
m = Val(sh2.Value)
End Sub


Rem Вычисление размещения из n элементов по m
Rem Процедура нажать кнопку
Private Sub Command2_Click()
Cls
Rem нач знач перем nm
nm = 1
Rem Начало цикла
For i = 1 To (n - m)
nm = nm * i
Rem конец цикла
Next
Rem Вычислить дробь А
A = nf / nm
End Sub
Сочетания
Rem вычисление факториала mf= m!
Private Sub Command3_Click()
Cls
Rem нач знач перем mf=m!
mf = 1
Rem Начало цикла
For i = 1 To m
mf = mf * i
Rem конец цикла
Next
Rem Вычислить дробь А
с= nf / (mf*nm)
End Sub



Программа Комбинаторика на языке Паскаль
program kombin;
var
i,n,m,p,mf,nm:integer;{Описание переменных}
a,c:real;
kd:integer;

begin
cls;
{Вычисление n!}
write(' Вычислить n!');

write('введитее n');
read(n);

p:=1;
for i:=1 to n do
begin
p:=p*i;
end;
writeln ('n!=',p);
{ Вычисление m!}
write(' Вычисление m!');
write('Введите m');
read(m);
mf:=1;
for i:=1 to m do
begin
mf:=mf*i;
end;
writeln ('m!=',mf);
{Вычисление (n-m)!}
write(' Вычисление (n-m)!' ) ;

nm:=1;
for i:=1 to (n-m) do
begin
nm:=nm*i;
end;
writeln ('(n-m)!=',nm);
writeln('введите код -1- Размещения, код-2 Сочетания');
readln (kd);
if kd=1
then begin
write('Размещения из n по m элементов') ;
write(' ');
a:=p/nm ; writeln ('a=',a);
end;
if kd=2
then begin
writeln('Сочетания из n по m элементов');
c:=p/(mf*nm) ;

writeln ('c=',c);
end;
end.

Программа вычисление интеграла на языке Паскаль.
Вычислить интеграл методом трапеций :
Предел интегрирования от о до п /2, под знаком интеграла функция
Sin3(x)*cos2(x)

program integral;
var a,b,x,z,zt,dz,dx:real;
n,i:integer;
begin
cls;
writeln('ввод a,b,n');
read(a,b,n);
z:=(sqr(sin(A))*sin(a)*sqr(cos(A))+ sqr(sin(B))*sin(B)*sqr(cos(B)))/2;
dx:=(b-a)/n;x:=a;
for i:=1 to n-1 do
begin
x:=x+dx;
z:=z+sqr(sin(x))*sin(x)*sqr(cos(x));
end;
z:=z*dx; zt:=3.141592/2;
dz:=abs(zt-z)/(zt*100);
writeln(' Приближенное z=',z:9:5);
writeln(' точное zt=',zt:9:5);
writeln(' относит погрешность ,dz:9:5);
end.

Программа по определению суммы ряда с оценкой, выполненная на языке VBASIC

Рекурентная формула ряда для общего члена ряда a= -ax2/((2n-1)(2n-2))
N = 1,2,3,4 .. Оценка - EP для значения элемента ряда 0.00001

Private Sub Command1_Click()
Cls
x = Val(InputBox("введите х "))
ep = Val(InputBox("введите ep "))
a = x
s = 0
n = 1

While Abs(a) > ep
s = s + a: n = n + 1
a = -a * x * x / ((2 * n - 1) * (2 * n - 2))
Wend
Print "сумма ряда=", s
Print "Число членов ряда=", n
End Sub
-----------------------------------------------------------------------------------
Программа по определению суммы ряда с оценкой, выполненная на языке 1C Предприятие.
Процедура ЦиклРяд(Команда)
Перем x;
Перем eps;
Перем a;
Перем s;
Перем N;

ВвестиЧисло(x,"Ввести число x");
ВвестиЧисло(eps,"Ввести число eps");


a = x;s = 0;N = 1;
Пока a >= eps Цикл;
s = s + a; n = n + 1;
a =(a*x*x)/((2*n -1)*(2*n -2)) ;
КонецЦикла;
Сообщить("Cумма ряда=" + s);
Сообщить("Число членов ряда=" + n);
КонецПроцедуры ----------------------------------------------------------------------------- Программа вычисление операций по комбинаторике:- язык 1с предприятие
Перемещения, размещения и сочетания.
Выполняются циклы для определения перестановок из n , n-m и m элементов
Т.е. n! , (n-m)!, m! Затем по формулам вычисляются размещения и сочетания из n по m элементов.
Процедура ЦиклКомбинаторика(Команда)
Переем n;
Перем m;

Ввестичисло(n,"ввести число n ",2);
Факториал = 1;
Для i=1 по n Цикл
Факториал = факториал*i ;
КонецЦикла;
Сообщить(Строка(n) + "!=" + строка(факториал));
nf=строка(факториал);
Ввестичисло(m,"ввести число m ",2);
Факториал = 1;
Для i=1 по m Цикл
Факториал = факториал*i ;
КонецЦикла;
Сообщить(Строка(m) + "!=" + строка(факториал));
mf=строка(факториал);
Факториал = 1;
Для i=1 по (n- m) Цикл
Факториал = факториал*i ;
КонецЦикла;
Сообщить(Строка(n-m) + "!=" + строка(факториал));
nm=строка(факториал);
a= nf/nm;
c=a/mf ;
Сообщить("a="+a);
Сообщить("c="+c);
КонецПроцедуры

Вычислить интеграл
От функции sin3(x)*cos2(x) в пределах от 0 до п/2
язык 1с предприятие

Процедура ЦиклПока2(Команда)
Перем i;
Перем s;
s=0;
i = 0;
Пока i<3.14/2 Цикл ;
s = s + sin(I)*sin(I)*sin(I)*cos(I)*cos(I)*0.01;

i = i+0.01;
КонецЦикла;
Сообщить("s="+s);

КонецПроцедуры

Вычислить площадь трапеции заключенной между линиями
У=2x и у=x3 в пределах от – п/2 до п/2
язык 1с Предприятие

Процедура ЦиклПока1(Команда)
Перем i;
Перем s;
s=0;
i = 0;
Пока i<=1.4 Цикл ;
s = s + (2*i-i*i*i)*0.01;

i = i+0.01;
КонецЦикла;
Сообщить("2s="+s*2);

КонецПроцедуры

Точность вычисления не уступает погрешности для программы на Паскале
по методу трапеций.

Задача амеба
Процедура ВычислитьЦиклДо(Команда)
Перем sh;
Перем n;
sh = 0;
n = 1;
Условие = Истина;
Пока Условие Цикл
Сообщить("n=" + n+"sh="+sh);
n=n*2;

Условие = (sh<=24);
sh=sh+3
КонецЦикла;

КонецПроцедуры
-------------------------------------------------

Задача амеба. Вычислить число клеток амебы через 24 часа, если в начале была 1 клетка . 1с Предприятие

КонецПроцедуры Процедура ВычислитьЦиклПока(Команда)
Перем sh;
Перем n;
sh = 0;
n = 1;
Условие = Истина;
Пока Условие Цикл ;
n = 2*n ;
sh= sh+3;
Сообщить("n="+n +",sh="+sh);
Условие =(sh>= 24);
КонецЦикла ;

КонецПроцедуры
--------------------------------------------------------- Расчет функции y=25x2+5x-7
1с Предприятие
Процедура РасчетФункции(Команда)
перем x;
перем y;
x=1;
Пока x<12 Цикл
y=25*x*x+5*x-7 ;
Сообщить("x=" +x +" Y=" +y);
x= x+1;
КонецЦикла ;
КонецПроцедуры
-------------------------------------------------------------------------------------- вычисление факториала n! 1с Предприятие
Процедура ВычислитьЦиклПока(Команда)
Перем n;
Перем i;

n = 8;
факториал = 1;
i = 1;
Условие = Истина ;
Пока Условие Цикл ;
факториал = факториал*i ;
i = i+1;
Условие = (i<= n);
КонецЦикла;
Сообщить(строка(n)+"!="+строка(факториал));
Конецпроцедуры


Операторы графики в циклах
Графические операторы язык Vbasic

Цикл с графическими операторами на языке VBASIC
Private Sub Command5_Click()
Picture1.Scale (-50, 50)-(50, -50)
Picture1.BackColor = vbCyan
Picture1.DrawWidth = 2
For I = 1 To 50 Step 5
Picture1.Circle (0, 0), I, vbRed
For j = 1 To 1000 Step 0.0001
Next
Picture1.Circle (0, 0), I, vbCyan
Next
Cls
For k = 50 To 1 Step -5
Picture1.Circle (0, 0), k, vbRed
For n = 1 To 1000 Step 0.0001
Next
Picture1.Circle (0, 0), k, vbCyan
Next
End Sub фон Private Sub Command6_Click()
I = Val(InputBox(I))
Picture1.BackColor = QBColor(I)
End Sub


Задача файл последовательного доступа на языке VBASIC
Rem Подготовка текстового файла
private sub command1_click()
dim marka as string, tsvet as string, god as integer
open "C:\Documents and Settings\учитель\Рабочий стол\car.txt" for output as #1
for i = 1 to 3
marka = inputbox("wwod marka")
tsvet = inputbox("wwod tsvet")
god = inputbox("wwod god")
write #1, marka, tsvet, god
next
close #1
end sub

Rem Подготовка текстового файла
private sub command2_click()
dim marka as string, tsvet as string, god as integer
open "C:\Documents and Settings\учитель\Рабочий стол" for input as #1
do until eof(1)
input #1, marka, tsvet, god
list1.additem marka
list2.additem tsvet
list3.additem god
loop
close #1
end sub

rem вывод текстового файла
private sub command3_click()
dim txtstroka as string
open "C:\Documents and Settings\учитель\Рабочий стол" for input as #1
do until eof(1)
line input #1, txtstroka
print txtstroka
loop
close #1
end sub
------------------------------------------------------------------------------------------------------------------------------------ rem вывод текстового файла

private sub command1_click()
dim marka as string, tsvet as string, god as integer
open "C:\Documents and Settings\учитель\Рабочий стол\car.txt" for output as #1
for i = 1 to 3
marka = inputbox("wwod marka")
tsvet = inputbox("wwod tsvet")
god = inputbox("wwod god")
write #1, marka, tsvet, god
next
close #1
end sub

private sub command2_click()
dim marka as string, tsvet as string, god as integer
open "C:\Documents and Settings\учитель\Рабочий стол" for input as #1
do until eof(1)
input #1, marka, tsvet, god
list1.additem marka
list2.additem tsvet
list3.additem god
loop
close #1
end sub

private sub command3_click()
dim txtstroka as string
open "C:\Documents and Settings\учитель\Рабочий стол" for input as #1
do until eof(1)
line input #1, txtstroka
print txtstroka
loop
close #1
end sub
------------------------------------------------------------------------------------------------------------------------------------ Задачи на языке VBASIC случайные величины в цикле

Задачи на графику
Private Sub Command1_Click()
Randomize
Picture1.Scale (-100, 100)-(100, -100)
Picture1.FillStyle = 0
For i = 1 To 150 Step 0.001
y = Int((50 - 1) * Rnd + 1)
Picture1.FillColor = QBColor(y / 5)
Picture1.Circle (i, 5 * Sin(i)), y, QBColor(y / 25)
Next
End Sub

Private Sub Command1_Click()
Randomize
Picture1.Scale (-100, 100)-(100, -100)
Picture1.FillStyle = 0
For i = 1 To 150 Step 0.001

Picture1.FillColor = QBColor(Rnd * 10)
Picture1.Circle (Rnd * 20, -Rnd * 30), Rnd * 8, QBColor(Rnd * 5)
Next
End Sub
Private Sub Command1_Click()
Randomize
Picture1.Scale (-100, 100)-(100, -100)
Picture1.FillStyle = 0
Picture1.BackColor = QBColor(7)
For i = 1 To 50 Step 0.001
Picture1.FillColor = QBColor(Rnd * 10)
Picture1.Circle (Rnd * 20 + Rnd * 50, -Rnd * 30 + Rnd * 50), Rnd * 8, QBColor(Rnd * 5)
Picture1.FillColor = QBColor(7)
Picture1.Circle (Rnd * 250, Sin(Rnd * 250)), Rnd * 8, QBColor(7)
Next
End Sub
Задача. Нахождение суммы случайных величин
Private Sub Command1_Click()
Randomize
s = 0
For i = 1 To 10
y = Rnd * 150: List1.AddItem (y)
s = s + y
Next
Print “s=”, s
End Sub







Код программы представленного проекта
Private Sub Command1_Click()
Picture1.Scale (-50, 50)-(50, -50)
Picture1.BackColor = vbCyan
Picture1.DrawWidth = 2
Picture1.Line (-50, 0)-(50, 0), vbRed
Picture1.Line (0, 50)-(0, -50), vbBlue
Picture1.Line (0, 40)-(-40, 20), vbBlue
Picture1.Line (-40, 20)-(40, 20), vbGreen
Picture1.Line (40, 20)-(0, 40), vbRed
End Sub

Private Sub Command2_Click()
Picture1.Scale (-50, 50)-(50, -50)
Picture1.DrawWidth = 2
Picture1.Line (-50, 0)-(50, 0), vbRed
Picture1.Line (0, 50)-(0, -50), vbBlue
Picture1.FillStyle = 4
Picture1.FillColor = QBColor(5)
Picture1.Circle (0, 0), 15, vbBlue
End Sub

Private Sub Command3_Click()
Picture1.Scale (-50, 50)-(50, -50)
Picture1.DrawWidth = 2
Picture1.Line (-50, 0)-(50, 0), vbRed
Picture1.Line (0, 50)-(0, -50), vbBlue
Picture1.Line (-50, 40)-(-10, 10), vbGreen, BF
End Sub

Private Sub Command4_Click()
Picture1.Scale (-50, 50)-(50, -50)
Picture1.BackColor = vbCyan
Picture1.DrawWidth = 2
Picture1.Line (-50, 0)-(50, 0), vbRed
Picture1.Line (0, 50)-(0, -50), vbBlue
Picture1.Line (-30, 20)-(30, -20), vbGreen, BF
Picture1.FillStyle = 0
Picture1.FillColor = vbCyan
Picture1.Circle (-25, 0), 20, vbCyan
Picture1.Circle (25, 0), 20, vbCyan
End Sub

Private Sub Command5_Click()
Picture1.Scale (-50, 50)-(50, -50)
Picture1.BackColor = vbCyan
Picture1.DrawWidth = 2
For I = 1 To 50 Step 5
Picture1.Circle (0, 0), I, vbRed
For j = 1 To 1000 Step 0.0001
Next
Picture1.Circle (0, 0), I, vbCyan
Next
Cls
For k = 50 To 1 Step -5
Picture1.Circle (0, 0), k, vbRed
For n = 1 To 1000 Step 0.0001
Next
Picture1.Circle (0, 0), k, vbCyan
Next
End Sub

Private Sub Command6_Click()
I = Val(InputBox(I))
Picture1.BackColor = QBColor(I)
End Sub
============================================ Графические задачи на языке Паскаль
Перемещение прямоугольника по синусоиде

uses graphABC;
var a,b,h,xc,yc,x1,y1,x2,y2,x3,y3,x4,y4,x5,y5:integer;
x,m,u,u1,u2,r:real;
begin
xc:=windowwidth div 2; //центр экрана
yc:=windowheight div 2;
a:=30;//стороны прямоугольника
b:=15;
r:=sqrt(a*a+b*b);//радиус описанной окружности
u:=arctan(b/a);//угол между большей стороной и диагональю
u1:=0;//начальный угол поворота прямоугольника
h:=yc-round(r)-20;//амплитуда движения по синусоиде
m:=(xc-r)/(2*pi);//масштаб по Х
x:=-2*pi;//левый край
x5:=xc+round(x*m);//положение центра прямоугольника
y5:=yc-round(sin(x)*h);
lockdrawing;
while x5<=2*xc do
begin
clearwindow;
x1:=x5+round(r*cos(u1+u));
y1:=y5-round(r*sin(u1+u));
x2:=x5+round(r*cos(u1+pi-u));
y2:=y5-round(r*sin(u1+pi-u));
x3:=x5+round(r*cos(u1+pi+u));
y3:=y5-round(r*sin(u1+pi+u));
x4:=x5+round(r*cos(u1-u));
y4:=y5-round(r*sin(u1-u));
setpencolor(clRed);
line(x1,y1,x2,y2);
line(x2,y2,x3,y3);
line(x3,y3,x4,y4);
line(x4,y4,x1,y1);
sleep(300);
u1:=u1+0.8;
x:=x+0.1;
x5:=xc+round(x*m);
y5:=yc-round(sin(x)*h);
redraw
end;
end.

Задача Паровозик Анимация
uses graphABC;
var xx, i: integer;

procedure Parovoz(x: integer);
begin
//поезд +

line(x+400,300,x+361,329);
line(x+361,329,x+400,329);
lineto(x+400,300);
floodfill(x+399,303,clSilver); // цвет ковша поезда

line(x+490,240,x+470,260);
line(x+490,240,x+510,260);
line(x+510,260,x+470,260);
floodfill(x+486,245,clSilver);

setbrushcolor(clSilver);
rectangle(x+470,260,x+510,310);
Rectangle(x+400,330, x+540, 300);
rectangle(x+525,300,x+535,250);
rectangle(x+420,290,x+440,301);

setbrushcolor(clwhite);
circle(x+430,340,10); //колеса
circle(x+490,340,10); //колеса
line(x+430,340,x+490,340);
rectangle(x+480,270,x+500,301);
//человек +

circle(x+490,280,5); //голова
circle(x+489,279,1); //глаз
line(x+490,285,x+490,300); //тулуб
line(x+490,289,x+480,289);
//человек -

//дым
setbrushcolor(cldkgray);
circle(x+540+random(5),220+random(5),10+random(5));
circle(x+565+random(5),210+random(5),20+random(5));
circle(x+590+random(5),200+random(5),20+random(5));
circle(x+615+random(5),190+random(5),10+random(5));
end;

procedure Obl (x,y: integer);
begin
// verh
setbrushcolor(clblue);
circle(x+25+random(5),y+random(5),15 +random(5));
circle(x+52+random(5),y+random(5),19 +random(5));
circle(x+80+random(5),y+random(5),15 +random(5));
end;

procedure Fon;
begin
//рельсы +
line(0,350,640,350); //верхняя линия
line(0,360,640,360);//нижняя линия
lineto(640,350); //палочка по бокам рельс
floodfill(351,359,clbrown);
//рельсы -
setbrushcolor(clyellow);
circle(520,70,25);
end;

begin
xx:=500;
lockdrawing;
while true do
begin
clearwindow(clSkyBlue);
Fon;
Parovoz(xx);
for i:=1 to 3 do
Obl (i*100-50,i*50);
xx:=xx-5;
sleep(10);
redraw;
if xx<-700 then xx:=500;
end;
end.
























Графический объект Паскаль
program abcobjects;
uses abcobjects;
var
c:circleabc;
i:integer;
begin
sleep(10);
for i:=1 to 360 do
begin
c:=createcircleabc(round(cos(i*pi/180)*100)+100,round(sin(i*pi/180)*100)+100,20,clrandom);
c:=createcircleabc(round(cos(i*pi/180)*100)+150,round(sin(i*pi/180)*100)+150,20,clrandom);
c:=createcircleabc(round(cos(i*pi/180)*100)+200,round(sin(i*pi/180)*100)+250,20,clrandom);
c:=createcircleabc(round(cos(i*pi/180)*100)+300,round(sin(i*pi/180)*100)+300,20,clrandom);
end;
end.



















============================
Задача рыбка
// это есть в примерах C:\PABCWork\SAMPLES\GraphABC\movingobject.pas
// Демонстрация элементарной анимации. Перемещение картинки
uses GraphABC;

const speed=1;

var
w,h,i,j,pic: integer;
begin
SetWindowCaption('Перемещение картинки');
pic:=LoadPicture('demo.bmp');
w:=PictureWidth(pic);
h:=PictureHeight(pic);
SetBrushColor(clWhite);
for i:=0 to WindowWidth-w do
begin
DrawPicture(pic,i,0);
if i mod speed = 0 then Sleep(1);
FillRect(i,0,i+1,0+h);
end;
DestroyPicture(pic);
end.

Полет шарика по параболе ПАСКАЛЬ
PROGRAM SUNSEY;
USES ABCOBJECTS;
VAR
C:CIRCLEABC;
I:INTEGER;
BEGIN
CLS; RANDOMIZE;
C:=CREATECIRCLEABC(0,0,40,CLRANDOM);
FOR I:=1 TO 1360 DO
BEGIN
SLEEP(15);
C.MOVEON(ROUND(COS(I*PI/180)*11),ROUND((SIN(I*PI/180))*11));
END;
END.

























Заключение

Цели проекта «Методика изучения основных алгоритмических конструкций – циклов в системе 1С:Предприятие с использованием инновационных образовательных комплексов в условиях реализации ФГОС» достигнуты..
В работе рассмотрены роль и место изучения темы «Методика изучения основных алгоритмических конструкций – циклов в системе 1С:Предприятие с использованием инновационных образовательных комплексов в условиях реализации ФГОС» в разделе «Программирование» школьного курса информатики. В условиях реализации ФГОС, для достижения поставленных результатов обучения необходимо использовать в учебном процессе инновационные образовательные комплексы. ОК можно использовать на всех этапах урока информатики и для организации самостоятельной работы учащихся.
Теоретическая информация по теме «Методика изучения основных алгоритмических конструкций – циклов в различных системах программирования с привлечением ЭОК системы 1С:Предприе» представлена в обобщенном и систематизированном виде в п. 2 проекта.
В работе даны методические рекомендации по изучению данной темы с использованием ОК «1С:Школа. Информатика 10 кл» Для изучения данной темы могут быть использованы п.4.6 4.7 ОК.
В проекте предложена подборка задач для изучения циклов с использованием ОК, задания которого могут быть дополнены системой задач для изучения циклов на языке «1С:Предприятие».



Литература
1С:Школа. Информатика, 10 класс [Электронный ресурс] / 1С. – М.: 1С-Паблишинг, 2012. – 1 электрон. опт. диск (CD-ROM).
1С:Школа. Информатика, 11 класс [Электронный ресурс] / 1С. – М.: 1С-Паблишинг, 2012. – 1 электрон. опт. диск (CD-ROM).
ФЕДЕРАЛЬНЫЙ ГОСУДАРСТВЕННЫЙ ОБРАЗОВАТЕЛЬНЫЙ СТАНДАРТ среднего (полного) общего образования [Электронный ресурс]// Режим доступа [ Cкачайте файл, чтобы посмотреть ссылку ]
Пантелеймонова А.В., Белова М.А., Бычкова Д.Д., Подготовка учителя информатики с использованием образовательного комплекса "1С:Школа. Информатика, 10 кл.» [Текст]/ А.В. Пантелеймонова, М.А. Белова, Д.Д Бычкова – М.: ООО "1С-Паблишинг", 2012 - 284 с.: ил.
Лапчик М.П. и др. Методика преподавания информатики: Учеб. пособие для студ. пед. вузов [Текст]/ М.П.Лапчик, И.Г.Семакин, Е.К.Хеннер; Под общей ред. М. П. Лапчика. М.: Издательский центр «Академия», 2012. Режим доступа [ Cкачайте файл, чтобы посмотреть ссылку ]
Н.А.Сухих. Поурочные разработки по информатике.9 класс.–М.:ВАКО,2013.–288 с.
М.Д. Князева . Программирование на языке VISUAL BASIC6.Учебное пособие –М.: КУДИЦ-ОБРАЗ,2006ю–176 с.














13PAGE 15


13PAGE 14915



Цикл с предусловием. Тело цикла может не выполняться ни одного раза







Тело цикла

Да

Нет

Условие

Цикл с постусловием. Тело цикла выполнится хотя бы один раз

Да

Нет

Условие

Тело цикла

Нет

Параметр цикла

Тело цикла

Да











Реализация циклических конструкций в целом во многих языках очень похожа:

Цикл с предусловием
Цикл с постусловием
Цикл с фиксированным числом повторений

Basic
DO [{WHILE | UNTIL} условие] [список операторов] LOOP Или цикл WHILE (условие) Список операторов WEND
DO [список операторов] LOOP [{WHILE | UNTIL } условие]
FOR счетчик = <начальное значение> TO <конечное значение> [STEP <приращение>] [список операторов] next счетчик

Pascal
while выражение do оператор;
repeat Список операторов until (выражение);
for переменная := <начальное значение> {to | downto} <конечное значение> do оператор;

C
while (выражение) { оператор }
do оператор while (выражение)
for (выражение1; выражение2; выражение3) оператор

Семантика этих операторов в разных языках также схожа:
Цикл с предусловием
Цикл с постусловием
Цикл с фиксированным
числом повторений

Сначала проверяется условие, определяющее вход в цикл. Если оно истинно, то выполняются операторы тела цикла.
Сначала выполняются операторы тела цикла, а после проверяется условие, которое определяет выход из цикла.
Цикл выполняется от
начального до конеч-
ного значения счетчика с указанным шагом.





C:\Program Files\Образовательные комплексы\Информатика, 10 кл\E4HOME_INFORM_10\data\res\DL_RES_3F3B79AA-A12D-4831-83D8-B8EE8D9BC8A0\[INF10_04_06].htmlC:\Program Files\Образовательные комплексы\Информатика, 10 кл\E4HOME_INFORM_10\data\res\DL_RES_3F3B79AA-A12D-4831-83D8-B8EE8D9BC8A0\[INF10_04_06].htmlC:\Program Files\Образовательные комплексы\Информатика, 10 кл\E4HOME_INFORM_10\data\res\DL_RES_3F3B79AA-A12D-4831-83D8-B8EE8D9BC8A0\[INF10_04_06].htmlC:\Program Files\Образовательные комплексы\Информатика, 10 кл\E4HOME_INFORM_10\data\res\DL_RES_3F3B79AA-A12D-4831-83D8-B8EE8D9BC8A0\[INF10_04_06].html
·Zoom In