Добавить материал и получить бесплатное свидетельство о публикации в СМИ
Эл. №ФС77-60625 от 20.01.2015
Инфоурок / Информатика / Другие методич. материалы / Методика изучения основных алгоритмических конструкций

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


До 7 декабря продлён приём заявок на
Международный конкурс "Мириады открытий"
(конкурс сразу по 24 предметам за один оргвзнос)

  • Информатика

Поделитесь материалом с коллегами:


МИНИСТЕРСТВО ОБРАЗОВАНИЯ МОСКОВСКОЙ ОБЛАСТИ

Государственное образовательное  учреждение высшего профессионального  образования

МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ  ОБЛАСТНОЙ УНИВЕРСИТЕТ

(МГОУ)






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





Курсы повышения квалификации по программе

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




Слушатель





Глушков Николай Васильевич –

учитель высшей категории

средней общеобразовательной

школы № 15 г. Подольска Московской области , выпускник МОПИ

им. Н.К. Крупской физмат ф-т 1964 г.,

с окончанием аспирантуры в 1970 г

по кафедре теоретическая физика.




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


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

старший преподаватель Белова М.А.




Москва 2014

Оглавление


Введение


(Обоснование выбора темы и ее актульность)

Школы в условиях перехода на новые ФГОС решают задачи по обеспечению таких требований как создание возможностей для всестороннего личностного роста, формирование способности к саморазвитию и самообразованию, осознанному выбору и построению дальнейшей индивидуальной траектории образования на базе ориентировки в мире профессий и профессиональных предпочтений. Нужны гибкие решения для преподавания ИТ, отвечающего потребностям 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 %.Нужно обсчитывать несколько раз одну и ту же формулу – копилка по сумме со сложным процентом.

Определение. Циклический алгоритм – это алгоритм, в котором некоторая последовательность шагов выполняется несколько раз.

В зависимости от того, как определяется количество повторений, циклы можно разделить на три группы: циклы с предусловием, циклы с постусловием и циклы с фиксированным числом повторений.

Цикл с предусловием

С



hello_html_m2df47aa7.gif помощью блок-схемы циклическую конструкцию с предусловием можно записать следующим образом:

hello_html_6add59eb.gifhello_html_787c589.gifhello_html_cb2a2aa.gif

hello_html_796c601c.gifhello_html_m39445357.gif

Условие

Нет





hello_html_m4913a2c5.gif

Да



hello_html_212d3cfb.gif

Тело цикла



hello_html_m244b283d.gifhello_html_m6c7aadf8.gif

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




hello_html_5fbae60.png



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



Цикл с постусловием

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

hello_html_m2ee8e0d8.gif

hello_html_m1fa3c395.gifhello_html_m4c88f316.gifhello_html_4b236416.gif

Тело цикла

hello_html_66a0a31c.gif

hello_html_1aa9deb3.gif

hello_html_m76b74bd.gif

Условие

Нет



hello_html_m1758ab3b.gif

hello_html_4641c3ba.gif

Да

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

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

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



hello_html_m10e22f4e.gif








Для организации любого цикла необходимо следующее:

  1. Задать перед началом цикла начальные значения параметров цикла.

  2. Изменять параметры цикла перед каждым новым повторением цикла.

  3. Проверять условие повторения или окончания цикла.

  4. Переходить к началу цикла, если он не закончен, или выходить из цикла.

4.6.5. Операторы циклов

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

В действительности в программировании можно обойтись одной циклической конструкцией с предусловием. Однако для удобства программирования во многих языках реализованы все три циклические конструкции.

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


Цикл с предусловием

Цикл с постусловием

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

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)
оператор

Семантика этих операторов в разных языках также схожа:

Цикл с предусловием

Цикл с постусловием

Цикл с фиксированным

числом повторений

Сначала проверяется условие, определяющее вход в цикл. Если оно истинно, то выполняются операторы тела цикла.

Сначала выполняются операторы тела цикла, а после проверяется условие, которое определяет выход из цикла.

Цикл выполняется от

начального до конеч-

ного значения счетчика с указанным шагом.



























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



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

План урока «Программирование циклов.

Цикл с предусловием»


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

Программно-дидактическое оснащение: Сем., ;39, с.211; Угр., ;4.2.4, с.117; карточки: задания на урок, домашнее задание.

Х о д у р о ка
I. Организационный момент
II. Постановка целей урока
В процессе решения множества задач часто требуется повторять те или иные действия. При этом бывают разные ситуации.
Например:

  1. количество повторений известно до выполнения тела цикла

  2. до выполнения тела цикла количество повторений неизвестно;

  3. тело цикла должно выполниться хотя бы один раз.
    Для разных ситуаций существуют различные циклические конструкции. В языке программирования Паскаль их три, в соответствии с пунктами, указанными выше. Самой универсальной и поэтому чаще других используемой конструкцией цикла является второй вариант ( цикл 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) и сколько отрицательных. Числа вводятся в одну переменную в цикле.

Ответы:

  1. 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.

  1. 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;
Ответы:

  1. While <логическое выражение> do begin группа операторов end; Когда до выполнения цикла количество повторов неизвестно.

  2. 2 раза; a=5,b=3,s=8.

  3. 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 проверяет условие после выполнения действий, это гарантирует хотя бы одно выполнение действий до завершения цикла. Например.

  1. 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 yx:=x+1;
until y>n;
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.
Подведение итогов урока

Как программируется цикл с постусловием на языке Паскаль?
– Для каких целей лучше его использовать?

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

  1. Составить программу нахождения НОД трех чисел.

  2. Составить программу нахождения НОК двух чисел,

Используя формулу A X B= НОД(A,B ) X НОД(A,B )



4 . Подборка задач для изучения циклов в языках WisualBasic, Паскаль, 1С:Предприятие и других системах программирования.

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

  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.

На рис представлена форма выполнения задачи по комбинаторике.

О

hello_html_176d814d.png

сновным моментом подготовки формы и кода программы является использование меток в инструменте «А» - т.е. объектов типа Label1,Lfbel2 и т.д. Они выполняют роль и непосредственно меток и переменных.
В Свойстве метке присваивается имя, к примеру n, m и т.д.
Данные попадают в окно метки через прокрутку «скролл» и тогда в коде программы это выглядит так : n=val(sh1.value), m=val(sh2.value)
Результаты после обработки данных попадают в окна метки. Код написан без текстовых окон. Это очень удобный метод записи кода программы.















hello_html_m205132d4.png





















Перестановки
Rem Вычисление факториала nf=n!

Rem Процедура нажать кнопку

Private 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

Prints=”, s

End Sub



hello_html_6f26a7d7.png



hello_html_af04927.png

Код программы представленного проекта

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);

hello_html_m45b9e1b8.png

redraw;

if xx<-700 then xx:=500;

end;

end.












hello_html_m3bcdda5a.png














Графический объект Паскаль

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.


hello_html_11c8ade0.png



















============================

Задача рыбка

// это есть в примерах 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. 1С:Школа. Информатика, 10 класс [Электронный ресурс] / 1С. – М.: 1С-Паблишинг, 2012. – 1 электрон. опт. диск (CD-ROM).

  2. 1С:Школа. Информатика, 11 класс [Электронный ресурс] / 1С. – М.: 1С-Паблишинг, 2012. – 1 электрон. опт. диск (CD-ROM).

  3. ФЕДЕРАЛЬНЫЙ ГОСУДАРСТВЕННЫЙ ОБРАЗОВАТЕЛЬНЫЙ СТАНДАРТ среднего (полного) общего образования [Электронный ресурс]// Режим доступа http://standart.edu.ru/catalog.aspx?CatalogId=6408

  4. Пантелеймонова А.В., Белова М.А., Бычкова Д.Д., Подготовка учителя информатики с использованием образовательного комплекса "1С:Школа. Информатика, 10 кл.» [Текст]/ А.В. Пантелеймонова, М.А. Белова, Д.Д Бычкова – М.: ООО "1С-Паблишинг", 2012 - 284 с.: ил.

  5. Лапчик М.П. и др. Методика преподавания информатики: Учеб. пособие для студ. пед. вузов [Текст]/ М.П.Лапчик, И.Г.Семакин, Е.К.Хеннер; Под общей ред. М. П. Лапчика. — М.: Издательский центр «Академия», 2012. Режим доступа http://businessfor.ru/m/frtyh/metodika_prepodavanija_informatiki_-_lapchik.html

  6. Н.А.Сухих. Поурочные разработки по информатике.9 класс.–М.:ВАКО,2013.–288 с.

  7. М.Д. Князева . Программирование на языке VISUAL BASIC6.Учебное пособие –М.: КУДИЦ-ОБРАЗ,2006ю–176 с.









57 вебинаров для учителей на разные темы
ПЕРЕЙТИ к бесплатному просмотру
(заказ свидетельства о просмотре - только до 11 декабря)

Краткое описание документа:

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

Автор
Дата добавления 04.06.2015
Раздел Информатика
Подраздел Другие методич. материалы
Просмотров335
Номер материала 556084
Получить свидетельство о публикации

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