Книги
чёрным по белому
Главное меню
Главная О нас Добавить материал Поиск по сайту Карта книг Карта сайта
Книги
Археология Архитектура Бизнес Биология Ветеринария Военная промышленность География Геология Гороскоп Дизайн Журналы Инженерия Информационные ресурсы Искусство История Компьютерная литература Криптология Кулинария Культура Лингвистика Математика Медицина Менеджмент Металлургия Минералогия Музыка Научная литература Нумизматика Образование Охота Педагогика Политика Промышленные производства Психология Путеводители Религия Рыбалка Садоводство Саморазвитие Семиотика Социология Спорт Столярное дело Строительство Техника Туризм Фантастика Физика Футурология Химия Художественная литература Экология Экономика Электроника Энергетика Этика Юриспруденция
Новые книги
Цуканов Б.И. "Время в психике человека" (Медицина)

Суворов С. "Танк Т-64. Первенец танков 2-го поколения " (Военная промышленность)

Нестеров В.А. "Основы проэктирования ракет класса воздух- воздух и авиационных катапульных установок для них" (Военная промышленность)

Фогль Б. "101 вопрос, который задала бы ваша кошка своему ветеринару если бы умела говорить" (Ветеринария)

Яблоков Н.П. "Криминалистика" (Юриспруденция)
Реклама

Преподавание базового курса информатики в средней школе - Семакин И.Г.

Семакин И.Г., Шеина Т.Ю. Преподавание базового курса информатики в средней школе — Бином лаборатория знаний, 2004. — 542 c.
ISBN 5-94774-093-1
Скачать (прямая ссылка): prepodavaniyebazovogokursa2004.pdf
Предыдущая << 1 .. 88 89 90 91 92 93 < 94 > 95 96 97 98 99 100 .. 147 >> Следующая

Б разделе 12*4 рассмотрен алгоритм упорядочения значений двух переменных. Для решения данной задачи требуется трижды применить этот алгоритм: упорядочить А и В, упорядочить В и С (после этого максимальное значение попадет в С)* еще раз упорядочить А и В. Таким образом, алгоритм будет иметь структуру трех последовательных неполных ветвлений.
н&ч вывод ‘Возраст Саши;" ваод Б
вывод ’ВСдеДОСт Маши:' *тйд W
если
то вывод ’Сода стардо
алг Саша-наша
вещ S, Й
Program SsshatMashe; var Sj M : real;
Begin write {’Возраст Саши;1);
readlo { 5);
write ('Воараст watafei; 1} я reedln (M);
LE
then write ('Cau& старше
b
маши1)
elee if S-M
then write pCaiua и
|йначё если S-M
то выард 'Cama и Маша ровесники'
иначе вывод 1 Mauci
старше СаДО1
Маша ровесники1} еХзе write ['Маша
Введение в программирование
311
ЙЛГ СОРТИРОВКА-} веа А, В, с, х нач
ввод А, В, С если А>В то
Х:=А; A:-Bj В:=Х
кв
если Б>С то
К:=ар В:=С; С:*Х
кв
sc ЛЯ А>В то
Х;~А; А:-В; В:=Х
кэ
вывод А, Б, G
кон
Program S0ftT„3;
vat А, Ь, С, S: real;
begin
reading, &, С); if ft*B then Toegin
Xi=A; A:=B; B:^X end? if B>C then begin
X:'B; B:=C; Ci4( e™jf if A>B Chen begin
X: = A; B:=X
&ndF ?write (A,fl,C)
end.
По поводу рассмотренной задачи сделаем следующее замечание. Это задача4 которая выводит на идею использования вспомогательных алгоритмов. Упорядочение трех переменных производится трехкратным применением алгоритма упорядочения двух переменных, поэтому разумно этот алгоритм оформить как вспомогательный* Программы, реализующие вспомогательные алгоритмы * называются подпрограммами. В Паскале есть два вида подпрограмм: йодар&гражжьь-кроде-дуры и подпрограммы-функции, В данной задаче можно использовать процедуру.
В главе 12 части II учебника подпрограммы не рассматриваются. Это объясняется ограниченностью учебного времени, которое можно выделить в базовом курсе на тему «Введение в программирование*. При наличии дополнительного времени рекомендуется дать ученикам представление о подпрограммах* Рассмотренная здесь задача может быть использована как опорная для раскрытия этой темы. Приведем пример программы сортировки значений трех переменных с использован и-
312
Часть 2
ем процедуры (правила работы с процедурами смотрите в учебниках по Паскалю),
real);
Program S0R_3;
var A, В, С : real;
Procedure SQR2 (vat X, У :
var Z ! realj
begin
Z:*Xl X:~Y; Y:=Z
ertd;
begin readingA,В,c>;
ЗОЙ2fA,BJ;
BOR2tB,C)r SOR3 (Aj B] ;
end.
Пример 7
[5]: часть II, глава 12, раздел 12.7, задание 8. Дано вещественное число X и натуральное N, Составить алгоритм вычисления X^ Написать программу на Па скале.
В Паскале нет операции возведения в степень. Если показатель степени — целое положительное чис л о, то возводить в Степень нужно путеад N-кратного умножения основания самого на себя. Реализуется это циклическим алгоритмом. г
цел К, i; вещ X нам ввод N
Ввод X
I;=l; Y;*1;
пака i<=®, повторять
кц
Y:*У*Х I:-i+l
кц
Вывод ?
КОН
var N, i: integer; X: re^I; begin readln №);
readln(X)} i:=1; V:=l; while Л<-Д do bfigin
Y;=Y*X;
i:=i+i
end;
WriteЛVj
end.
Введение в программирование_____________________313
При выполнении трассировки этого алгоритма обязательно проверьте правильность его работы при N = 0. Как известно из математики* — 1; Трассировка доказывает, что и в этом случае алгоритм будет давать правильный результат-
Замечания по поводу заданий 10, 11 к разделу 12.7, Для выполнения этих заданий используется алгоритм Евклида, описанный на АЯ и реализованный на Паскале в данном разделе. Как и в задаче с сортировкой трех переменных, здесь удобно использовать подпрограммы, Рекомендуем» при углубленном изучении темы, сделать это* Алгоритм Евклида может быть реализован как подпрограммой-процедурой> так и подпрограммой-функцией.
В конце рассмотрим еще один тип задач* связанный с последовательным вводом значений и их обработкой в одном цикле. Такие задачи приводятся в задачнике-практикуме .
Пример 8
Задачник-практикум: раздел 4.3, задача 33* После* до&а?пельно вводятся N целых чисел, Найти максимальное из них.
В программировании часто приходится решать задачу поиска максимального (минимального) значения в числовом массиве. В разделе «Введение в программирование» не рассматриваются структурированные данные» в том числе массивы. Однако эту задачу можно решить и без использования массива, ограничившись простыми переменными* Для этого ввод данных и обработку надо совместить в одном цикле- Вот как это делается.
314
Часть 2
Алг максимум цел Ет, 1, %, МАХ
НАЧ
вы®од 1 уедите ®'; ввод 14 выаод 1 введите X' i а аод X MAXi^Xj i:-l iXQXa 1<N, повторять йц
рыв ад 'Введите X*; ВВОД К
если Х>ЙАХ
то МАХ.'-Х
кв
х i =i+l
кц
ВКЬоД МАХ КОК
pj-ografo maximjun
var И, i, Xf MAX: integer;
begin
vwite {" введйтб 1511; readln fMJ /
write { ' введагге X* j ; readlrj (x) ;
KAXt^X; i*=l;
while 1<N do
begin
write ff Вэеднте X1) ; reading);
if X>MAX
then MAX^X;
i : = i +1
Snd;
’writelTi(MAX)
end.
Дополнительный материал 315
Дополнительный материал
Предыдущая << 1 .. 88 89 90 91 92 93 < 94 > 95 96 97 98 99 100 .. 147 >> Следующая