Главная » Учебные планы
Урок информатики в 11-ом классе (4)
Линейные алгоритмы
Из материалов сайта
Скородянской средней школы
Губкинского района, Белгородской области
Цель урока:
Изучить линейные алгоритмы. Проверить знания прошлого урока.
Воспитание умения слушать учителя.
Развитие познавательного интереса.
План урока:
Проверка домашнего задания.
Объяснение нового материала.
Основные понятия языка
Домашняя работа.
Подведение итогов урока.
Ход урока
Проверка домашнего задания.
Постановка цели урока.
Объяснение нового материала.
Линейные алгоритмы - это такие алгоритмы, когда действия выполняются в одну линию друг за другом.
Пример:
Вычислить значение функции
.
Линейный алгоритм реализуется на Бейсике следующим способом:
Ввод исходных данных производится с использованием команды присвоения, или команды INPUT, или команд DATA, READ, RESTORE.
Получение промежуточных данных, искомых результатов производится при помощи команды присвоения.
Искомый результат выводится на экран при помощи команды PRINT.
В Бейсике имеется достаточное количество зарезервированных английских слов - команд и операторов.
Команды - это зарезервированные английские слова, которые влияют на выполнение всей программы. Например, RUN, LIST, NEW, DELETE...
Операторы - это зарезервированные английские слова, которые влияют на выполнение одной строки или группы строк. Например, INPUT, GOTO, LET, REM. Рассмотрим некоторые операторы:
INPUT a, b, c - оператор ввода данных, где a, b, c - переменные.
Оператор INPUT останавливает выполнение программы и ждёт ввода данных. На экране в это время выводится символ "?", затем с клавиатуры необходимо набрать данные. Если данных несколько, то они набираются через запятую, в конце никакого знака (символа) не ставится. Переменные (данные) могут быть как числовые, так и символьные. В операторе INPUT в кавычках может быть подсказка, например,
INPUT "Введите значения x"; x
В этом случае после кавачек ставится ";" и набираются переменные. После того, как закончен ввод, необходимо нажать клавишу Enter.
PRINT "Выводимая информация" - оператор для вывода результатов на экран. После этого оператора в кавычках записывается то, что необходимо вывести на экран. Например, PRIINT "Сегодня 1 сентября". На экран будет выведено: Сегодня 1 сентября.
Если после оператора PRINT стоит только переменная, тогда на экран выводится её числовое значение, если переменная числовая, или символы, если переменная символьная.
PRINT x - будет выведено числовое значение x.
A$="школа"
PRINT A$ - будет выведено "школа".
Простые программы на Бейсике.
Пример:
Дана десятичная дробь. Округлить её с точностью до двух знаков после запятой.
Решение:
Пусть нам дано, например, число 4,6238. Умножим это число на 100. Получим 462,38. Прибавим 0,5, получим 462,88. Отбросим дробную часть и разделим на 100. Получим нужный результат округления. Описанный выше алгоритм даёт правильный результат, применительно к любой дроби.
На Бейсике этот алгоритм запишется следующим образом
10 INPUT"Введите_дробь";A
20 B=A*100
30 B=B+0.5
40 B=INT(B)
50 B=B/100
60 PRINT "Округлённая дробь-";B
Если программа написана на Turbo-Basic или QBasic –строки можно не нумеровать.
Наименьшее из заданных чисел определится по формуле
На Бейсике соответствующий алгоритм запишется:
INPUT "A=";A
INPUT "B=";B
X=(ABS(A-B)+A+B))/2
Y=(A+B-ABS(A-B))/2
PRINT "X=";X
PRINT "Y=";Y
Пример:
Вычислить значение функции
при x=1,369;1,18;2,936;3,15
Решение:
В этом примере значения x уже заданы, поэтому целесообразней вводить их не с помощью оператора INPUT, а операторами DATA, READ. Для перевода десятичного лагорифма в натуральный следует воспользоваться формулой.
10 REM Вычислить значение функции
20 DATA 1.369,1.18,2.936,3.15
30 READ X
40 L=LOG(X)/LOG(10)
50 Y=(SQR(X)+X^2*L)/(2*X*L^2)
60 PRINT "X=";X,"Y=";Y
70 GOTO 30
80 END
В этом примере использованы четыре новых оператора REM, DATA, READ и GOTO.
Оператор REM применяется для внесения комментариев в программу. Компьютером этот оператор не выполняется.
Операторы DATA и READ всегда применяются в паре. Формат их записи:
DATA(числовая константа, символьная константа в кавычках или без, но без запятых)
DATA 3, 1.25, "Номер телефона"
READ (переменная1, переменная2...) - этот оператор вводит данные из оператора DATA.
10 DATA 3,1.25,"Номер телефона"
20 READ X%,Y,A$
В этом примере X% присваивается 3; Y-1.25; A$ присваивается - Номер телефона. Кроме, рассмотренных выше в примере использован ещё один - оператор GOTO. Этот оператор передаёт управление той строке, номер которой указан за этим оператором. (В нашем примере строка 30).
В процессе выполнения программы примера на компьютере, вначале оператор READ выбирает из DATA первое значение x и вычисляет функцию y, затем выводит полученный результат на печать. Потом в работу включается оператор GOTO, который передаёт управление 30 строке, то есть возвращается к началу программы. Далее, оператор READ выбирает следующее значение x из DATA. Затем процесс повторяется, пока не закончатся данные в DATA.
Домашнее задание.
Вычислить значение функции
для пяти любых значений x, используя операторы DATA и READ. Составьте алгоритм и программу.
(Старинная задача). Три брата попросили хозяйку приготовить на ужин картофель. Пока хозяйка варила картофель, братья уснули; через час проснулся старший брат и, увидев на столе картофель, съел свою долю и опять заснул; через некоторое время проснулся второй и, не зная, что старший брат уже ел картофель, так же съел свою долю и заснул; наконец, проснулся младший брат и сделал тоже, что и старшие братья. Когда старший брат опять проснулся, то разбудил своих братьев, и тогда всё выяснилось; оставшиеся 8 картофелин поделили между собой средний и младший братья. Сколько штук картофеля подала хозяйка? Сколько из оставшихся 8 штук картофеля взял средний и сколько взял младший брат? Составьте алгоритм и программу решения этой задачи.
Опубликовано: 2006-01-09 21:00:02