Разработки уроков
информатики по теме:
«Программирование
на языке Паскаль».
Урок 1-2
Тема: Правила ТБ. Этапы
решения задач на ЭВМ. Алгоритм. Свойства алгоритма. Исполнитель алгоритма.
Цель: повторить правила ТБ при работе в компьютерном классе,
Определить этапы решения задач на ЭВМ,
Ввести
понятие алгоритма и его свойств.
1.
Правила ТБ. Заполнить журнал по ТБ.
2.
Новый материал
·
Задача в информатике
·
Этапы решения задачи
1.
Постановка задачи
2.
Математическая формализация
3.
Составление алгоритма
4.
Запись алгоритма на языке программирования
5.
Исполнение программы
6.
Анализ результатов и корректировка алгоритма, в
случае необходимости.
·
Алгоритм – четкая последовательность действий.
·
Исполнитель алгоритма
·
Игра Баше. Имеется 15 предметов. Соперники ходят по
очереди, за каждый ход любой из играющих может взять 1, 2 или 3 предмета.
Проигрывает тот, кто вынужден взять последний предмет.
Алгоритм
выигрыша для первого игрока имеет вид:
1)
взять 2 предмета
2)
второй и последующие ходы делать так, чтобы
количество предметов, взятых вместе с соперником за очередной ход, в сумме
составляло 4.
Данный
алгоритм приводит к выигрышу для 7, 11, 15, 19 предметов.
15
пр.
|
2
|
4-x
|
4-y
|
4-z
|
x
|
y
|
z
|
1
|
21
|
x
|
y
|
z
|
c
|
d
|
1
|
4-x
|
4-y
|
4-z
|
4-c
|
4-d
|
|
·
Задумайте натуральное число
1)
Умножите его на 5
2)
Прибавить 8
3)
Сумму умножить на 2
Алгоритм
отгадывания числа
1)
вычесть из результата 16
2)
отбросить крайнюю правую цифру, получим искомое
число.
(x*5+8)*2=y
10x = y-16
·
Свойства алгоритма
¨
Дискретность
¨
Точность
¨
Понятность
¨
Конечность
¨
Массовость
3.
Решение задач.
1)
Составить алгоритм, как набрать из реки 7л воды,
если имеются сосуды емкостью 3л и 8л.
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
3л
|
0
|
3
|
0
|
3
|
0
|
2
|
2
|
3
|
8л
|
8
|
5
|
5
|
2
|
2
|
0
|
8
|
7
|
2)
Алгоритм Евклида (НОД)
1.
Если числа равны, то взять любое из них в качестве
ответа, иначе продолжить выполнение алгоритма.
2.
Найти большее из чисел.
3.
Заменить большее число разностью большего и
меньшего чисел.
4.
Начать сначала.
3)
Исполнитель умеет:
Умножать
число на 2;
Увеличивать
число на 1.
Составить
для этого исполнителя алгоритм получения числа 100 из единицы.
4)
Исполнитель умеет из дроби a/b получать любую из дробей (a-b)/b, (a+b)/b, b/a. Как получить из дроби ½ дробь ¼ ?
4. Итог урока.
5. Домашнее задание. § 38(авт. И.Г. Семакин.
Информатика 7-9), записи в тетради.
Составить алгоритм.
1.
Некий человек должен перевезти в лодке через реку
волка, козу и капусту. Каждый раз он может перевезти только либо волка, либо
козу, либо капусту. На одном берегу нельзя оставить вместе козу и волка, а
также козу и капусту. Составить алгоритм переправы на другой берег.
2.
Разведывательный дозор в составе двух человек
подошел к реке. Мост был разрушен, а река слишком глубока и широка, чтобы
переправить через нее вброд или вплавь. Около берега в маленькой лодке
проплывали два мальчика. Как переправиться на этой лодке через реку, если она
может выдержать только либо одного взрослого, либо двух мальчиков?
Урок 3-4
Тема: Алфавит языка
Паскаль. Типы данных. Арифметические операции. Арифметические выражения.
Структура программы на языке Паскаль. Основные операторы.
Цель: познакомить со средой
программирования Паскаль; познакомить с основными типами данных и основными
операциями над данными, определить структуру программы.
1.
Опрос.
·
Назовите этапы решения задач на ЭВМ.
·
Дайте определение алгоритма. Назовите свойства
алгоритма. Привести пример алгоритма.
·
Прочитать алгоритм к задаче про волка, козу,
капусту.
2.
Новый материал.
·
Паскаль был разработан в 1968-1970 гг. Н.Витером.
Турбо Паскаль появился в 1984 году.
·
Алфавит
·
Латинские прописные и строчные буквы
·
Цифры 0-9
·
Знаки + - * / \ < > ^ , . ; : ‘ () _
·
Служебные слова.
·
Константы – числа, символы, строки, которые не
изменяют своего значения в процессе выполнения программы.
CONST e=2.71 (число Эйлера)
Р=3.14
·
Переменные – величины, которые меняются в процессе
выполнения программы. Объявляя переменную заданного типа, вы отводите в памяти
место, где будет хранится ее значение.
Типы
данных в Паскале:
1.
Простые
2.
Структурированные
3.
Ссылочные
4.
Процедурные
5.
Объектные
Простые типы данных
Порядковые Вещественные
Целый
Логический
Символьный
Ограниченный
Перечисляемый
Целочисленный тип
Тип
|
|
Диапазон
значений
|
Формат
|
Shorting
|
Короткий
|
-128..127
|
1 байт
|
Integer
|
Целый
|
-32768..32867
|
2 байта
|
Longint
|
Длинный
|
-2 147 483 648..2
147 483 647
|
4 байта
|
Вещественный
тип
Тип
|
|
Точность
|
Формат
|
Real
|
Вещественный
|
11-12 знаков
|
6 байт
|
Double
|
Двойной точности
|
15-16 знаков
|
8 байт
|
·
Арифметические выражения и операции.
Арифметическое
выражение состоит из операндов, скобок, знаков операций.
Сложение
|
+
|
Вычитание
|
-
|
Умножение
|
*
|
Деление
|
/
|
Целочисленное
деление 11 div 5=2
|
Div
|
Остаток от
деления 11 mod 5=1
|
Mod
|
Арифметические
функции
|x|
|
abs(x)
|
x2
|
sqr(x)
|
|
sqrt(x)
|
|
pi
|
sin x
|
sin(x)
|
cos x
|
cos(x)
|
·
Записать математические выражения на языке Паскаль:
, ,
, .
·
Перевести из линейной записи в обычную.
a/b/c; a*b/c;
a+b/c; (a+b)/c; a+b/b+c; (a+b)/(b+c).
·
Основные операторы.
·
Read (a1, a2,…,an) – оператор ввода данных
Readln (a1, a2,…,an)
Readln – переход на новую строку при вводе данных, используют, если необходимо
задержать исполнение программы до нажатия Enter.
·
Write (a1, a2,…,an) – оператор вывода данных
Writeln (a1, a2,…,an)
Writeln – переход на следующую строку.
·
:= оператор
присваивания. Вычисляет значение выражения, стоящего справа и присваивает
переменной стоящей слева. Нельзя с помощью одного оператора присваивания
присвоить нескольким переменным одно и то же значение. Например: нельзя
записать i:=j:=k:=0;
необходимо: i:=0; j:=0; k:=0.
·
Структура программы.
program имя программы; {заголовок
программы}
uses имя модуля1,..; {раздел библ.
модулей}
label имя метки
1,..; {раздел меток}
const имя константы = значение константы;
{раздел констант}
type ; {раздел
типов}
var
; {раздел переменных}
begin
операторы
end.
3.
Решение задач.
- Составить программу
вычисления периметра и площади прямоугольника.
Program z1;
Var a, b, p,
s: real;
Begin
Writeln(‘b’);
Readln
(a, b);
P:=
2*(a+b);
S:=a*b;
Writeln
(p, s);
Readln;
End.
4.
Итог урока.
5.
Домашнее задание. Выучить конспект.
Записать
данные выражения на Паскале: , , ,
, .
Урок 5-6
Тема: Составление линейных алгоритмов.
Цель: учить составлять линейные алгоритмы, реализовывать их на компьютере,
учить
тестировать программу, находить ошибки, корректировать программу.
1.
Проверка домашнего задания.
2.
Письменный опрос
I вариант
1.
Назовите этапы решения задач с помощью
ЭВМ.
2.
Перечислите стандартные функции на Паскале
3.
Запишите выражение на языке Паскаль
|
II вариант
1.
Алгоритм и его свойства.
2.
Перечислите основные операторы на Паскале
3.
Запишите выражение на языке Паскаль
|
3.
Решение задач.
1.
Вычислить сторону ромба, если известны две его диагонали.
Program z2;
Var a, d1, d2:
real;
Begin
Writeln (‘Введи диагонали’);
Readln (d1,
d2);
a:=
sqrt(sqr(d1/2)+ sqr(d2/2));
Writeln
(‘a=’,a);
Readln;
End.
2.
Вычислить периметр и площадь ромба, у которого сторона и меньшая диагональ
равны а. ()
4. Итог урока.
5. Домашнее задание.
1.
Вычислить длину окружности и площадь круга по
заданному радиусу.
2.
Вычислить площадь прямоугольного треугольника по
его катетам.
Урок 7-8
Тема: Составление линейных алгоритмов.
Цель: учить составлять линейные алгоритмы, реализовывать их на компьютере,
учить
тестировать программу, находить ошибки, корректировать программу.
1.
Проверка домашнего задания.
a.
Вычислить длину окружности и площадь круга по
заданному радиусу.
Program z1;
Var r, c, s:
real;
Begin
Writeln (‘Введи радиус’);
Readln (r);
c:= 2*3,14*r;
s:=3,14*sqr(r);
Writeln
(‘c=’,c);
Writeln
(‘s=’,s);
Readln;
End.
b.
Вычислить площадь прямоугольного треугольника по
его катетам.
Program
z2;
Var a,b,s:
real;
Begin
Writeln (‘Введи катеты’);
Readln (a,b);
s:=1/2*a*b;
Writeln
(‘s=’,s);
Readln;
End.
2.
Решение задач.
a.
Даны два целых числа. Найти их среднее
арифметическое и среднее геометрическое.
b.
Даны длины сторон прямоугольного параллелепипеда.
Найти объем и площадь боковой поверхности.
V = abc
S = 2(a+b)c
c.
Найти сумму кубов корней уравнения x2 - ax - 2 = 0.
d.
Найти целую часть и остаток от деления а на b. а и b целые числа.
Program z5;
Var a, b, c,
d: Integer;
Begin
Writeln (‘Введи числа’);
Readln (a, b);
c:= a mod b ;
d:= a div b;
Writeln (‘остаток’,c);
Writeln (‘целая часть’,d);
Readln;
End.
3. Итог урока.
4. Домашнее задание.
1.
Вычислить периметр прямоугольного треугольника по
его катетам.
2.
От полуночи минутная стрелка описала угол в k градусов. Какое время показывают часы.
Program z7;
Var k, ch,
min: Integer;
Begin
Writeln (‘Введи угол’);
Readln (k);
ch:= k div 360
;
min:= k mod
360 div 6;
Writeln (ch, ‘часов’, min, ‘минут’);
Readln;
End.
Урок 9-10
Тема: Решение линейных задач. Контрольная работа № 1 «Решение линейных
задач»
Цель: закрепить навык составления линейных алгоритмов,
контроль
знаний учащихся
1.
Проверка домашнего задания.
2.
Решение задач.
1. Устная
работа
·
Найти ошибки:
a)
A:= 25+B;
b)
4-B:=A;
c)
ABS(A):= B;
d)
4:=B;
e)
B:=SQR(A);
f)
B:=A;
Ошибки
в задании b), c), d).
·
Определить значения x, y.
x:=1.2; y:=x*2;
y:=y-5*x;
x:=ABS(y);
Writeln (x, y);
Ответ: х=3.6; y=-3.6.
·
Определить значения x, y.
a:=-7;
b=a/2;
a:=(a+b)/2;
b:=a-b;
Writeln (a,b);
Ответ: а=-5.25;
b=-1.75.
2.
Определить объем цилиндра и площадь его полной
поверхности, если известны радиус основания и высота цилиндра.
Формулы:
V=πr2h; S=2πr(r+h).
3.
Найти сумму цифр заданного трехзначного числа.
Program z6;
Var n, a1, a2,
a3, s: Integer;
Begin
Writeln (‘Введи число’);
Readln (n);
a1:= n div
100 ;
a2:= n div 10
mod 10;
a3:= n mod 10;
s:= a1+a2+a3;
Writeln (‘сумма’, s);
Readln;
End.
4. Дано трехзначное число. Найти число, полученное при
прочтении его цифр справа налево. (123321)
Program z8;
Var n, a1, a2,
a3, n1: Integer;
Begin
Writeln (‘Введи число’);
Readln (n);
a1:= n div
100 ;
a2:= n div 10
mod 10;
a3:= n mod 10;
n1:= a3*100+ a2*10+a1;
Writeln (‘новое число’, n1);
Readln;
End.
3. Контрольная работа №1 «Решение линейных задач»
1
вариант
|
2
вариант
|
1. Дайте
определение алгоритма. Перечислите свойства алгоритма
|
1.
Перечислите этапы решения задач на ЭВМ.
|
2. Указать
значения величин S и k после
выполнения следующих операторов присваивания:
|
s:=14
k:=-3
d:=s+1
s:=d
k:=2*S
|
s:=0
k:=30
d:=k-5
k:=2*d
s:=k-100
|
3. В
каком из примеров допущены ошибки и какие именно?
|
Var A, B: real;
a)
A:= 5 – B;
b)
A+B:=5;
c)
Sqrt(A):=B;
d)
A:=B;
e)
5:=A;
f)
A:=5;
|
Var A, B: integer;
a)
A:= B+7;
b)
A-B:=4
c)
Abs(A):=5-B
d)
B:=A
e)
A:=-7
f)
A:= Sqrt(B)
|
4.
Записать выражение по правилам языка Паскаль
|
|
|
5. Вычислите
площадь треугольника по известным длинам его сторон. Воспользуйтесь формулой
Герона: где .
|
5. Определите
расстояние, пройденное телом за время t, если известны
его начальная скорость и постоянное ускорение. Формула: .
|
6. Найти высоту
равностороннего треугольника, если сторона равна a.
|
6. Найти боковую сторону равнобедренного треугольника, если основание
a, высота к основанию h.
|
Урок 11-12
Тема: Операторы
условного и безусловного перехода на Паскале.
Цель: Познакомить с операторами условного и
безусловного перехода, правилами записи условий.
1. Анализ контрольной работы.
2. Новый материал.
Если
в программе после выполнения очередного оператора надо выполнить не следующий
по порядку, а другой, помеченный для этого меткой, используется оператор
безусловного перехода GOTO. Он
осуществляет переход к инструкции, перед которой стоит метка, объявленная в
разделе меток Label.
Условный оператор
Условный оператор имеет полную
и краткую формы.
Полная форма условного оператора выглядит следующим образом:
if
условие
then
оператор1
else
оператор2;
В качестве условия
указывается операция отношения. Сложные условия составляются из простых с помощью
логических операций and, or. Если условие оказывается истинным, то выполняется оператор1
, в
противном случае выполняется оператор2
.
Краткая форма
условного оператора имеет вид:
if
условие
then
оператор;
Если условие оказывается
истинным, то выполняется оператор
, в противном случае происходит переход к следующему оператору
программы.
Если в качестве
оператора выполняются несколько операторов, то они заключаются в операторные
скобки begin…end.
3. Решение
задач.
Задача 1. Даны два
числа. Найти большее из них.
Задача 2. Найти
большее из трех чисел.
program z1;
uses crt;
var
a,b,c,max:real;
begin
writeln ('Введи числа');
readln(a,b,c);
if a>b then
max:=a else max:=b;
if c>max
then max:=c;
writeln(max);
end.
Задача 3.
Принадлежит ли число n интервалу (a,b).
Задача 4. Вычислить
значение функции: .
4. Итог урока.
5. Домашнее
задание.
1.
Могут ли углы α, β, γ быть углами одного треугольника.
2.
Даны точки М(1,2) и Р(3, а). Лежит ли отрезок МР в I четверти.
Дополнительно.
- Составьте
программу, которая уменьшает первое число в пять раз, если оно больше
второго по абсолютной величине.
- По заданному
значению х вычислить значение
- Определить
принадлежит ли точка (x, y) фигуре
4. Дано двузначное
число. Определить кратна ли трем сумма его цифр.
Урок 13-14
Тема: Операторы
условного и безусловного перехода на Паскале.
Цель: отрабатывать
навык правильного использования условного оператора.
1. Проверка дом. задания.
1.
Могут ли углы α, β, γ быть углами одного треугольника.
2. Даны точки М(1,2)
и Р(3, а). Лежит ли отрезок МР в I четверти.
2. Решение задач.
Задача 1. Является
ли заданное число четным.
Задача 2. Является
ли число а полным квадратом.
If sqr(a) =Int (sqr(a)) then write (‘yes’) else write (‘no’);
Задача 3. Является
ли треугольник с углами а и b равносторонним.
If (a=60) and
(b=60) then write (‘yes’) else write (‘no’);
Задача 4. Является
ли равнобедренным треугольник со сторонами 2, 3, х.
If (x=2)
or (x=3) then write (‘yes’) else write (‘no’);
Задача 5. Выяснить
взаимное расположение прямой y=kx+b и точки (m, n).
Задача 6. Вывести
на экран номер четверти, которой принадлежит точка (x,y) ().
Begin
If (x>0)
and (y>0) then
Writeln (‘I ’)
Else if
(x>0) and (y<0) then
Writeln (‘IV
’)
Else if
(x<0) and (y>0) then
Writeln (‘II
’)
Else Writeln
(‘III ’);
Readln;
End.
Задача 7. Решить
квадратное уравнение.
Program kvur;
uses crt;
var d, a, b,
c, x, x1, x2: real;
begin
readln (a, b, c);
d:=sqr(b)-4*a*c;
if d>0 then
begin x1:= (-b-sqrt(d))/(2*a); x2:= (-b+sqrt(d))/(2*a);
writeln(x1:7:3,x2:7:3); end
else
if d=0 then begin x:=-b/(2*a);writeln(x:7:3); end
else writeln ('korney no');
end.
Задача 8.
Принадлежит ли точка фигуре.
3.Итог урока.
4. Домашнее
задание.
1.Выяснить
оканчивается ли заданное число нулем.
2.
Выяснить взаимное расположение прямой ОХ и точки (a,b).
Урок 15-16
Тема: Оператор выбора на Паскале.
Цель: Познакомить учащихся
с форматом оператора выбора; добиваться понимания учениками особенностей
применения оператора, учить учащихся составлять программы на использование
оператора выбора.
1. Проверка дом. задания.
1.Выяснить
оканчивается ли заданное число нулем.
2.
Выяснить взаимное расположение прямой ОХ и точки (a,b).
2.
Самостоятельная работа.
I
вариант
|
II вариант
|
1. Дано
натуральное число. Верно ли, что оно заканчивается нечетной цифрой.
2. Известен рост
трех человек. Определить, одинаков ли их рост.
|
1.Дано
натуральное число. Верно ли, что оно заканчивается четной цифрой.
2. Известны длины
трех сторон треугольника. Является ли треугольник разносторонним.
|
3. Новый материал
Оператор выбора
Не рекомендуют использовать многократно вложенный друг в
друга условный оператор if. Если необходимо проверить много условий и в
зависимости от них выполнять те или иные действия, то используют оператор выбора
case
.
Оператор выбора выполняет одно действие из нескольких в зависимости от значения
некоторого выражения, называемого переключателем (селектором). Он имеет
следующий вид:
case
переключатель
of
список выбора 1: оператор1;
...
список выбора N: операторN;
else
оператор0
end
;
Переключатель
представляет собой выражение порядкового типа (целого, символьного,
перечислимого или интервального), а списки выбора содержат константы
совместимого типа. Как и в операторе if
,
ветка else
может отсутствовать.
Оператор case
работает
следующим образом. Если в одном из списков выбора найдено текущее значение
переключателя, то выполняется оператор, соответствующий данному списку. Если же
значение переключателя не найдено ни в одном списке, то выполняется оператор по
ветке else
или, если ветка else
отсутствует, оператор case
не выполняет никаких действий.
Список выбора состоит
либо из одной константы, либо из диапазона значений вида a..b
(константа a
должна быть меньше
константы b
);
можно также перечислить несколько констант или диапазонов через запятую:
case
DayOfWeek of
1..5: writeln('
Будний
день
');
6,7: writeln('
Выходной
день
');
end
;
3. Решение задач.
Задача 1.
Составить программу, которая в зависимости от порядкого номера дня недели
выводит на экран его название.
Program z1;
Var n: integer;
Begin
Read (n);
Case n of или n mod 7
1: Write (‘понедельник’);
2: Write (‘вторник’);
3: Write (‘среда’);
4: Write (‘четверг’);
5: Write (‘пятница’);
6: Write (‘суббота’);
7(0): Write (‘воскресенье’);
end;
end.
Задача 2. Выполнить
заданную арифметическую операцию с двумя числами.
program z2;
uses crt;
var op:char;
a,b,s:real;
begin
write('введи числа '); readln(a,b);
write('введи знак
операции '); readln(op);
case op of
'+': s:=a+b;
'-': s:=a-b;
'*': s:=a*b;
'/': s:=a/b;
end;
write(a, op, b,'=',s);
end.
Задача 3. По количеству набранных при
тестировании баллов выставить соответствующую отметку. Пусть введена
100-бальная система и заданы следующие критерии оценивания:
Сумма баллов
|
90-100
|
80-89
|
65-79
|
<65
|
Отметка
|
5
|
4
|
3
|
2
|
program z2;
uses crt;
var s : integer;
b: 2..5;
begin
write('Введите балл '); readln(s);
case s of
90..100: b:=5;
80..89: b:=4;
65..79: b:=3;
else b:=2
end;
write('Отметка ', b);
end.
Задача 4. В старояпонском
календаре принят 60-летний цикл, состоящий из пяти 12-летних подциклов.
Подциклы обозначались названиями цветов: зеленый, красный, желтый, белый и
черный. Внутри каждого подцикла годы носили названия животных: крыса, корова,
тигр, заяц, дракон, змея, лошадь, овца, обезьяна, курица, собака и свинья.
Например: 1984 год – год начала очередного цикла – назывался Годом Зеленой
Крысы.
Составить
программу, которая по заданному номеру года нашей эры n напечатает его название по старояпонскому календарю. Рассмотреть два
случая:
а) Значение n
≥ 1984;
б) Значение n
может быть любым натуральным числом.
program z2;
uses crt;
var n : integer;
begin
write('введи год '); readln(n);
n:=(n-1984) mod 12;
case n of
0: write('крыса');
1: write('корова');
2: write('тигр');
3: write('заяц');
4: write('дракон');
5: write('змея');
6: write('лошадь');
7: write('овца');
8: write('обезьяна');
9: write('курица');
10: write('собака');
11: write('свинья');
end;
end.
|
program z2;
uses crt;
var n,m : integer;
begin
write(' введи год '); readln(n);
if n>= 1984 then begin m:=(n-1984) mod 5;
n:=(n-1984) mod 12;end
else begin m:= 5-(1984-n) mod 5;
n:= 12-(1984-n) mod 12; end;
case m of
0: write('зеленый ');
1: write('красный ');
2: write('желтый
');
3: write('белый ');
4: write('черный ');
end;
case n of
0: write('крыса
');
1: write('корова
');
2: write('тигр
');
3: write('заяц
');
4: write('дракон
');
5: write('змея
');
6: write('лошадь');
7: write('овца');
8: write('обезьяна');
9: write('курица');
10: write('собака');
11: write('свинья');
end;
end.
|
4. Итог урока.
5. Домашнее задание:
1.
Принадлежит ли точка фигуре.
|
2. Вычислить
значение функции..
|
Урок 17-18
Тема: Решение
задач на ветвление. Контрольная работа № 2 «Решение задач с развилкой».
Цель: закрепить
знания учащихся, подготовить к контрольной работе. Контроль знаний учащихся.
1. Проверка дом. задания
2. Анализ сам.
работы
3. Решение задач.
1. Принадлежит ли
точка прямой Ax+By+C=0; параболе ax2+b=0.
2. Даны радиус
круга и сторона квадрата. У какой фигуры площадь больше?
3. Является ли
биссектрисой прямая, лежащая внутри угла и образующая с его сторонами углы А и
В.
4. Дано значение х.
Вычислить y, если .
4. Контрольная работа.
I
вариант
|
II
вариант
|
1. Запишите операторы условного перехода.
|
1. Запишите оператор выбора.
|
2. Какое значение примет переменная a после выполнения фрагмента программы?
a:=4;
If a<0 then a:=a+1 else
a:=a-1;
Write(a);
|
2. Какое значение примет переменная c
после выполнения фрагмента программы?
c:=7;
If c >0 then c:=c+3 else
c:=c-2;
Write(c);
|
3. Известно значение х. Вычислить y, если
|
3. Известно значение х. Вычислить y, если
|
4. Даны координаты точки. Выяснить лежит ли
эта точка во второй координатной четверти.
|
4. Даны координаты точки. Выяснить лежит ли
эта точка в третьей координатной четверти.
|
5.Дано двузначное число n. Определить больше ли числа 9 сумма его цифр?
|
5.Дано двузначное число n. Определить кратна ли трем сумма его цифр?
|
6*. Работа светофора для пешеходов
запрограммирована следующим образом: в начале каждого часа в течении трех минут
горит зеленый сигнал, затем в течении одной минуты – желтый, затем в течении
двух минут – красный. С начала работы светофора прошло t мин. Какой свет горит?
|
Урок
19-20
Тема:
Операторы цикла на Паскале. Цикл со счетчиком.
Цель:
познакомить учащихся
с форматом оператора цикла с параметром; объяснить особенности применения
оператора;
1. Анализ контрольной работы.
2. Новый материал
·
Цикл представляет собой
последовательность операторов, которая выполняется неоднократно.
·
Оператор цикла for – цикл
со счетчиком (используется
с заранее известным числом повторений)
Оператор цикла for
имеет одну
из двух форм:
for
переменная:=начальное значение to
конечное значение do
оператор;
или
for
переменная:=начальное значение downto
конечное значение do
оператор;
Текст от слова for
до слова do
включительно
называется заголовком цикла, а оператор после do
- телом
цикла. Переменная после слова for
называется параметром
цикла. Для первой формы цикла с ключевым словом to
параметр
цикла меняется от начального значения до конечного значения, увеличиваясь
всякий раз на единицу, а для второй формы ключевым словом downto
-
уменьшаясь на единицу. Для каждого значения переменной-параметра выполняется
тело цикла.
3. Решение задач.
Задача 1. Вычислить 12+22+…+122.
program z1;
uses crt;
var i:integer; s: longint;
begin
s:=0;
for i:=1 to 100 do s:=s+sqr(i);
writeln
(s); S= 650
end.
Задача 2. Найти все делители числа n.
program z1;
uses crt;
var n, i: integer; k: real;
begin
read (n);
for i:=1 to n do
if n mod I = 0 then writeln
(i);
end.
Задача 3. Напечатать таблицу квадратных корней
из чисел от 1 до 20.
program z3;
uses crt;
var i: integer; b: real;
begin
for i:=1 to 20 do
begin
b:= sqrt(i);
writeln (i: 4, b:7:2);
end;
end.
Задача 4. Составить таблицу перевода метров в
ярды, если 1м = 0,91 ярда на [1; 20].
program z4;
uses crt;
var i: integer; b: real;
begin
for i:=1 to 20 do
begin
b:= i*0.91;
writeln (i: 4, b:7:2);
end;
end.
Задача 5. Сберкасса начисляет 30% годовых.
Какой станет сумма S, положенная в банк на n лет.
program z5;
uses crt;
var i: integer; b: real;
begin
writeln (‘Введите сумму’); read (s);
writeln (‘Введите
кол-во лет’); read (n);
for i:=1 to n do
s:= s+s*0.3;
writeln (s:7:2);
end.
Задача 6. Найти все натуральные корни, меньшие
100, уравнения x4- 10x3+38x2-79x+70=0.
program z6;
uses crt;
var x: integer;
begin
for x:=1 to 100 do
if sqr(sqr(x))- 10*x* sqr(x)+38* sqr(x)-79*x+70=0
then writeln (x);
end.
Задача 7. Вычислить n!
program z1;
uses crt;
var n,i:integer; s: longint;
begin
read (n); s:=1;
for i:=1 to n do s:=s*i ;
writeln(s);
end.
4. Итог урока.
5. Домашнее
задание.
1.
Напечатать таблицу перевода дюймов в см. 1
дюйм = 2.54 см
2.
Вычислить
Урок
21-22
Тема:
Операторы цикла на Паскале. Цикл с предусловием.
Цель:
познакомить
учащихся с форматом оператора цикла с предусловием, учить составлять программы
на использование оператора цикла с предусловием.
1. Проверка домашнего задания.
2. Самостоятельная работа.
1 вариант
|
2 вариант
|
1. Составить таблицу значений
функции
|
y=x2-5x+6 на [-5; 5]
|
y=-x2-x+6 на [-7; 8]
|
2. Напечатать таблицу
соответствия между
|
весом в фунтах и в кг. 1ф= 0,4
кг
|
расстоянием в милях и в км. 1
миля = 1,8 км
|
3. Новый
материал.
Оператор цикла while
– цикл с предусловием
Оператор цикла while
имеет
следующую форму:
while
условие do
оператор
Условие
представляет собой выражение логического типа, а оператор после do
называется телом цикла. Перед
каждой итерацией цикла условие вычисляется, и если оно истинно, то выполняется
тело цикла, в противном случае происходит выход из цикла.
Если условие всегда оказывается
истинным, то может произойти зацикливание:
while
2>1 do
write(1);
Чтобы прервать зациклившуюся программу,
следует использовать комбинацию клавиш Ctrl-F2
Точка с запятой сразу после do
в Pascal ABC считается
синтаксической ошибкой.
4.Решение задач.
Задача 1. Вычислить 12+32+…+252.
program z2;
uses crt;
var i:integer; s: longint;
begin
s:=0; i:=1;
while i<=25 do begin
s:=s+sqr(i); i:=i+2; end;
writeln (s);
end.
Задача 2. Найти НОД(а, b).
program z1;
uses crt;
var a, b: integer;
begin
read (a, b);
while a<>b do
if a>b then a:=a-b else
b:=b-a;
writeln (a);
end.
Задача 3. Даны натуральные числа a
и b, обозначающие соответственно
числитель и знаменатель дроби. Сократить дробь, т.е. найти такие натуральные
числа p и q, не имеющие
общих делителей, что p / q
= a / b.
program z1;
uses crt;
var a,b,m,n:integer; p,q: real;
begin
read (a,b);
m:=a; n:=b;
while m<>n do
if m>n then m:=m-n else
n:=n-m;
p:= a/m;
q:= b/m;
writeln(p,'/',q);
end.
Задача 4. Среди чисел 1, 4, 9, 16, 25, … найти первое число, большее n.
program z1;
uses crt;
var i, n: integer;
begin
read (n);
i:=1;
while sqr(i)<n do
i:=i+1;
writeln (sqr(i));
end.
Задача 5.
Определить количество цифр в числе.
program z1;
uses crt;
var n,i: integer;
begin
readln (n);
i:=0;
while n <>0 do
begin
n:= n div 10;
i:=i+1; end;
write (i);
end.
5. Итог урока.
6. Домашнее задание.
Задача 1. Дано число n.
a) напечатать те натуральные числа, квадрат
которых не превышает n.
b) найти первое натуральное число, квадрат
которого больше n.
program faktorial;
uses crt;
var n: real;
i: integer;
begin
read (n);
i:=1;
repeat
n:=n/i;
i:=i+1;
until n=1;
write (i-1);
end.
4.
Итог урока.
5.
Домашнее задание.
Найти наименьшее общее
кратное (НОК) чисел n и m, если HOK(n, m)=n*m/(HOД(n, m)).
Урок
25-26
Тема:
Операторы цикла на Паскале. Решение задач.
Цель: отрабатывать
навык решения задач с использованием операторов цикла, закреплять знания
учащихся.
- Проверка дом. задания
- Устная работа
Дана
последовательность операторов. Сколько раз будет повторен цикл? Чему будут
равны значения a, b, s.
|
а) a=1; b=1;
while
a+b<8 do
begin
a=a+1; b=b+2;end;
s=a+b;
|
б) a=1; b=1;
while
a <=3 do
begin
a=a+1;
b=b+1;
end;
|
|
|
в) s=0; i=0;
while
i<5 do
begin
i=i+1;
s=s+100
div i ;
end;
|
г) s=0; i=1;
while
i>1 do
begin
s=s+100
div I;
i=i-1;
end;
|
i
|
0
|
1
|
2
|
3
|
4
|
5
|
s
|
0
|
100
|
150
|
183
|
208
|
228
|
|
|
3. Решение задач.
Задача 1. Определить сумму цифр натурального
числа n и вывести его запись в обратном порядке.
program z3;
uses crt;
var k, s, n: integer; a: longint;
begin
readln (n);
k:=0; s:=0; a:=0;
while n<>0 do
begin
k:=k+1;
s:=s+ n mod 10;
a:= a*10 +n mod 10;
n:= n div 10;
end;
writeln ('число цифр
', k, ' сумма цифр; ', s);
writeln (‘Запись в
обр. порядке; ',a);
end.
Задача 2. Произведение N
первых нечетных чисел равно p. Сколько сомножителей взято?
program z1; {k
-сомножители, a- число сомножителей , s - произведение}
uses crt;
var k,s,p:integer; a: longint;
begin
readln(p);
k:=1; s:=1; a:=0;
while p<>s do
begin
s:=s*k;
k:=k+2;
a:=a+1;
end;
writeln ('число сомножителей; ',a);
end.
Контрольный
пример: 105 – 4 сомножителя (105=1*3*5*7).
Задача 3. Найти все трехзначные числа, которые
при делении на 47 дают в остатке 43.
program ostatok;
uses crt;
var i, x: integer;
begin
for i:=100 to 999 do
if i mod 47=43 then writeln (i);
end.
Задача 4.
program z2;
uses crt;
var a,b,c,n: integer;
begin
for a:=100 to 999 do
begin
b:=sqr(a);
c:=b mod 1000;
if a=c then writeln (a:7,b:7);
end;
end.
Задача 5. Распечатать в столбик таблицу
умножения на 7.
program z1;
uses crt;
var p,i:integer;
begin
for i:= 1 to 9 do begin
p:=i*7;
writeln (i,'*7=',p);
end;
end.
Задача 6. Найти среднее арифметическое
квадратов всех целых чисел от a до b. (Значения a и b вводятся с клавиатуры.)
program z1;
uses crt;
var i,a,b,n:integer;s:real;
begin
readln(a,b);
for i:= a to b do begin
s:=s+sqr(i); n:=n+1; end;
s:=s/n;
writeln (s);
end.
Задача 7. Вычислить сумму .
Задача 8. Напечатать минимальное число,
большее 200, которое нацело делиться на 17.
4. Итог урока.
5. Домашнее задание.
1. Вывести на экран все целые числа от a до b, кратные некоторому числу с.
2. Найти среднее арифметическое квадратов всех
целых чисел от 1 до 100.
program z1;
uses crt;
var i:integer;s:real;
begin
for i:= 1 to 100 do
s:=s+sqr(i);
s:=s/100;
writeln (s);
end.
Урок 27-28
Тема: Вложенные циклы. Решение задач.
Цель: объяснить
принцип работы вложенных циклов; отрабатывать навык решения задач с вложенными
циклами.
- Проверка домашнего задания
- Самостоятельная работа.
1 вариант
|
2
вариант
|
1. Дано число m. Найти произведение
2*4*6*…*2m.
2. Сколько раз повторится тело цикла:
x:=1;
While x<5 do
begin
Writeln(x);
x:=x+3;
end;
|
1. Напечатать таблицу значений функции y=x3-sin(x) на промежутке [-7; 7] с шагом равным
единице.
2. Сколько раз повторится тело цикла:
a:=2;
While a<7 do
begin
Writeln(a);
a:=a+2;
end;
|
- Новый материал.
При
решении некоторых задач приходится использовать вложенные циклы. Внутренний и
внешний циклы могут быть любыми из трех рассмотренных ранее циклов. Правила
организации как внешнего, так и внутреннего циклов такие же, как и для простого
цикла каждого из этих видов. Но при использовании вложенных циклов необходимо
соблюдать следующее условие: внутренний цикл должен полностью укладываться в
циклическую часть внешнего цикла.
- Решение задач.
Задача 1. Найти все целочисленные решения
системы.
Задача 2. Найти все двузначные числа, сумма
квадратов цифр которых делится на 19.
Задача 3. В десятичной записи числа 42..4 две
цифры пропущены. Восстановите их, если известно, что это число кратно 72.
program z1;
uses crt;
var a,b,c:integer;
begin
for a:= 0 to 9 do
for b:=0 to 9 do
begin
c:=42004+a*100+b*10;
if c mod 72=0 then write (c:6);
end;
end.
42 264,
42 624, 42 984.
Задача 4. Представить натуральное число m в виде суммы квадратов двух натуральных чисел.
Задача 5. К числу 0884 слева и справа
приписали по цифре так, чтобы полученное число было бы полным квадратом целого
числа.(208849=4572)
program z1;
uses crt;
var a,b,c:integer;
d:real;
begin
for a:= 1 to 9 do
for b:=0 to 9 do
begin
c:=8840+a*100000+b;
d:=sqrt(c);
if d=int(d) then write (c:6);
end;
end.
Задача 6. Имеется 100 руб. Сколько быков,
коров и телят можно купить на все эти деньги, если плата за быка – 10 руб., за
корову – 5 руб., за теленка – полтинник (0,5 руб.) и надо купить 100 голов
скота?
program z1;
uses crt;
var a,b,c:integer;
begin
for a:= 1 to 10 do
for b:=1 to 20 do
for c:=1 to 200 do
с:= 100-(a+b);
begin
if (a+b+c=100)and
(a*10+b*5+c*0.5=100) then if
(a*10+b*5+c*0.5=100)
writeln (a:6,b:6,c:6);
end;
end.
Задача 7. Напечатать в возрастающем порядке
все трехзначные числа, в десятичной записи которых нет одинаковых цифр.
program z1;
uses crt;
var a,b,c:integer;
begin
for a:= 1 to 9 do
for b:=0 to 9 do
for c:=0 to 9 do
if (a<>b)and
(b<>c)and (a<>c) then write ((a*100+b*10+c):5);
end.
Задача 8. Напечатать таблицу умножения.
program tablumnog;
uses crt;
var a,b,n:integer;
begin
for a:= 1 to 9 do begin
for b:=1 to 9 do
write (a:3,'*',b,'=',a*b:2);
writeln ;
end;
end.
Задача 9*. Найти
все совершенные числа, меньшие числа n.(Совершенное число,
равно сумме всех своих делителей, исключая самого себя, например 6=1+2+3.)(6,
28, 496, 8128,…, всего найдено 24 совершенных числа.)
program z3;
uses crt;
var i,j,n,m:integer;
begin
write('введи число'); read(n);
for i:= 2 to n do begin
m:=0;
for j:=1 to i-1 do
if i mod j=0 then m:=m+j;
if m=i then writeln (i) ;
end;
end.
Задача 10*.
Натуральное число из n цифр является числом Армстронга,
если сумма его цифр, возведенных в n-степень, равна самому
числу (напр., 153=13+53+33). Получить все
числа Армстронга, состоящие трех цифр. (153, 370, 371, 407)
program z1;
uses crt;
var a,b,c,n: integer;
begin
for a:=100 to 999 do
begin
c:=0;n:=a;
while n<>0 do
begin
b:=n mod 10;
c:=c+sqr(b)*b;
n:=n div 10;
end;
if a=c then writeln (a);
end;
end.
5.
Итог урока.
5. Домашнее задание.
- Найти все целочисленные решения системы.
- Найти все трехзначные числа, у которых сумма
кубов его цифр равна самому числу.
- Определить количество трехзначных
натуральных чисел, сумма цифр которых равна целому числу n (0<n<28).
program z1;
uses crt;
var a,b,c,n,i: integer;
begin
read (n);
for a:=1 to 9 do
for b:=0 to 9 do
for c:=9 to 9 do
begin
if a+b+c=n then begin i:=I+1;
writeln (a*100+b*10+c);end;
end;
writeln (I);
end.
- Найти все двузначные числа, которые делятся
на n или содержат цифру n.
program z1;
uses crt;
var a,b,c,n,i: integer;
begin
read (n);
for a:=1 to 9 do
for b:=0 to 9 do
if ((a*100+b) mod n=0) or (a=n)
or (b=n)then write ((a*100+b*10+c):4);
end.
Урок 29-30
Тема: Решение
задач на циклы. Контрольная работа №3 «Циклы на Паскале».
Цель: закрепить
навыки решения задач на Паскале; контроль знаний учащихся.
I.
Проверка домашнего задания (Повторить теоретические вопросы).
II.
Решение задач
- Найти сумму делителей каждого из целых чисел
от 50 до 70.
program z1;
uses crt;
var a,b,c,i: integer;
begin
for a:=50 to 70 do begin i:=0;
for b:=1 to a do
if a mod b = 0 then
i:=i+b; writeln(a:4,i:5);
end;
end.
- Найти все натуральные числа a, b, c из интервала от 1
до 20, для которых выполняется равенство: a2-b2=c.
- Вычислить сумму: .
- . Найти все целочисленные решения системы
III. Контрольная работа №3 «Циклы на
Паскале».
1
вариант
|
2
вариант
|
1. Может ли тело цикла с параметром не
выполниться ни разу? Когда?
|
1. Что такое цикл?
|
2. Как оформляется цикл с предусловием. В
каких случаях используется данный цикл.
|
2. Как оформляется цикл с параметром. В
каких случаях используется данный цикл.
|
3.
Сколько раз повторится цикл, какие значения примут переменные,
после
выполнения программы
|
x:=2;
While x<=5 do
begin
Writeln(x);
x:=x+3;
end;
writeln(x);
|
a:=-2;
While a<=3 do
begin
Writeln(x);
a:=a+2;
end;
writeln(a);
|
4. Найти все целочисленные решения системы
|
4. . Найти все целочисленные решения
системы
|
5. Найти сумму .
|
5. Найти сумму .
|
Урок
31-32
Тема: «Описание и
использование массивов. Заполнение массива данными»
Цель:
сформировать у
учащихся умение заполнять одномерные массивы, выводить их на экран и
обрабатывать.
I.
Анализ контрольной работы.
II.
Новый материал.
Если работа программы связана с
хранением и обработкой большого количества однотипных переменных, для их
представления в программе используют массивы. Массив представляет собой
совокупность данных одного типа и общим для всех элементов именем. Элементы
массива пронумерованы, и обратиться к каждому из них можно по номеру. Номера
элементов массива иначе называют индексами, а сами элементы массива –
переменными с индексами.
Характеристики массива:
·
Тип –
общий тип всех элементов массива;
·
Размерность
– количество индексов массива;
·
Диапазон
изменения индекса – определяет количество элементов в массиве.
Индекс – это целая константа или
переменная типа integer. При обращении к элементу
массива индекс указывается в квадратных скобках после имени массива. Например: a[3], b[1,2].
Описание массива в разделе VAR
Описать массив - это объявит в
разделе описания переменных var с
использованием зарезервированного слова array (т.е. массив). В общем, виде выглядит так:
Var ИмяМассива: array [НижняяГраница..ВерхняяГраница]
Of ТипЭлементов;
Например:
Var a: array [1..100] of integer; { 100 элементов – целые числа}
Var b: array [1..50] of
char; {51 элемент - символы}
Но прежде необходимо указать тип.
Type
имяТипа =array [НижняяГраница..ВерхняяГраница] of ТипЭлементов;
var ИмяМассива : имяТипа;
Заполнение массива данными
Массивы, объявленные в разделе
описания переменных, необходимо заполнить данными, прежде чем выполнять с ними
какие-либо действия.
Способы задания массива:
·
Ввод
данных с клавиатуры;
program
massiv ;
uses crt;
type
mas=array [1..10] of integer;
var i:
integer;
m:mas;
begin
for
i:=1 to 10 do
begin
write
('Элемент #', i, ': ' );
readln
(m[i]);
end;
end.
·
С
помощью датчика случайных чисел;
program
massiv ;
uses crt;
type
mas=array [1..10] of integer;
var i:
integer;
m:mas;
begin
randomize;
for i:=1 to 10 do
begin
m[i]:= random(20)+1;
write(m[i], ' ');
end;
writeln;
end.
·
Присваиванием
заданных значений:
a[1]:=29;
a[2]:=34; и
т.д.
·
Считывая
значения элементов из файла.
В
любом случае для заполнения массива используется цикл for.
Вывод массива:
Вывод массива из 5 элементов:
·
В
столбец:
For i:=1 to 5 do writeln (a[i]);
·
В одну
строку, через пробел:
For i:=1 to 5 do writeln (a[i], ‘ ‘);
·
С
заданием формата, где под каждый элемент отводится 4 позиции:
For i:=1 to 5 do write (a[i] : 4);
Базовые задачи на массивы:
1.
На
суммировку
2.
На
количество
3.
На
замену.
III. Закрепление. Решение задач.
Задача 1. Создать массив из n элементов. Напечатать элементы массива
в прямом и обратном порядке.
program massiv
;
uses crt;
type
mas=array[1..1000] of integer;
var i,n:
integer;
m:mas;
begin writeln ('введи кол-во эл-в массива') ;
readln
(n);
randomize;
for i:=1 to n do
begin
m[i]:=random(45)+1;
write(m[i], ' ');
end;
writeln;
for
i:=n downto 1 do
begin
write(m[i], ' ');
end; end.
Задача 2. Дан массив целых чисел. Определить:
1) сумму всех элементов массива; 2) произведение всех элементов массива; 3)
среднее арифметическое всех элементов массива.
program massiv ;
uses crt;
type mas=array[1..1000] of integer;
var i,s,n,p,k: integer;
m:mas;
begin
randomize;
for i:=1 to 10 do
begin
m[i]:=random(45)+1;
write(m[i], ' ');
s:=S+m[i];
end;
writeln;
write( s);
end.
|
program massiv ;
uses crt;
type mas=array[1..1000] of integer;
var i,s,n,p,k: integer;
m:mas;
begin s:=1;
randomize;
for i:=1 to 10 do
begin
m[i]:=random(5)+1;
write(m[i], ' ');
s:=S*m[i];
end;
writeln;
write( s);
end.
|
program massiv ;
uses crt;
type mas=array[1..1000] of integer;
var i,n,p,k: integer;
m:mas; s:real;
begin s:=0;
randomize;
for i:=1 to 10 do
begin
m[i]:=random(10)+1;
write(m[i], ' ');
s:=S+m[i];
end;
writeln;
write( s/10);
end.
|
Задача 3*. Переставить элементы,
стоящие на нечетных местах, с соответствующими элементами на четных местах.
program massiv ;
uses crt;
type mas=array[1..1000] of
integer;
var i,n,r: integer;
m:mas;
begin writeln
('введи кол-во эл-в массива') ;
readln (n);
randomize;
for i:=1 to n do
begin
m[i]:=random(45)+1;
write(m[i], ' ');
end;
writeln;
i:=1;
while i<= n-1 do
begin
r:=m[i]; m[i]:=m[i+1];
m[i+1]:=r;
inc(i,2); end;
for i:=1 to n do
write(m[i], ' ');
end.
IV. Итог урока.
V. Домашнее задание.
1. Дан массив целых чисел. Выяснить, верно, ли
что сумма элементов массива есть четное число.
2. Дан массив целых чисел. Напечатать все
элементы, оканчивающиеся нулем.
Урок 33-34
Тема: Действия с одномерными массивами
Цель: отрабатывать навык решения задач на массив.
1.
Проверка дом. задания.
2. Решение задач.
Задача 1. Дано натуральное число n (n≤999999). Заполнить массив его цифрами, расположенными в
обратном порядке (первый элемент равен последней цифре, второй – предпоследней
и т.д.).
program massiv ;
uses crt;
type mas=array[1..1000] of
integer;
var i,n,r: integer;
m:mas;
begin writeln ('введи число') ;
readln (n); i:=1;
repeat
m[i]:= n mod 10;
n:= n div 10;
i:=i+1;
until n=0;
for r:=1 to i-1 do
write(m[r], ' ');
end.
Задача
2. Дан массив целых чисел. Выяснить: 1) является ли p-й
элемент массива положительным числом; 2) является ли k-й
элемент массива четным числом; 3) какой элемент массива больше, k-й или p-й.
1) program massiv ;
uses crt;
type mas=array[1..1000] of
integer;
var i,n,p,k: integer;
m:mas;
begin writeln ('введи
p') ;
readln (p);
randomize;
for i:=1 to 10 do
begin
m[i]:=random(45)+1-23;
write(m[i], ' ');
end;
writeln;
if m[p]>0 then
write( ' положит.
')
else write( ' нет ');
end.
|
program massiv ;
uses crt;
type mas=array[1..1000] of
integer;
var i,n,p,k: integer;
m:mas;
begin writeln (' введи
k') ;
readln (k);
randomize;
for i:=1 to 10 do
begin
m[i]:=random(45)+1;
write(m[i], ' ');
end;
writeln;
if m[k] mod 2=0 then
write( ' yes ')
else write( ' no ');
end.
|
program massiv ;
uses crt;
type mas=array[1..1000] of
integer;
var i,n,p,k: integer;
m:mas;
begin writeln (' введи
k,p') ;
readln (k,p);
randomize;
for i:=1 to 10 do
begin
m[i]:=random(45)+1;
write(m[i], ' ');
end;
writeln;
if m[k]>m[p] then
write( ' k ')
else write( ' p ');
end.
|
Задача 3. Посчитать кол-во четных элементов
массива.
program massiv ;
uses crt;
type mas=array[1..1000] of integer;
var i,n,s: integer;
m:mas;
begin writeln ('введи число') ;
readln (n);
randomize;
for i:=1 to n do
begin
m[i]:=random(45)+1;
write(m[i], ' ');
if m[i] mod 2=0 then s:=s+1;
или inc(s,1)
end;
writeln;
write(s );
end.
Задача 4. Удалить из массива k-й элемент.
program massiv ;
uses crt;
type mas=array[1..1000] of
integer;
var i,n,k: integer;
m:mas;
begin writeln ('введи число') ;
readln (n);
randomize;
for i:=1 to n do
begin
m[i]:=random(45)+1;
write(m[i], ' ');
end;
writeln;
write('введи номер эл-та '); readln (k) ;
writeln;
for i:=1 to n do
if i>=k then m[i]:=m[i+1];
for i:=1 to n-1 do
write(m[i], ' ');
end.
Задача 5. Вставить элемент в массив.
program massiv ;
uses crt;
type mas=array[1..1000] of
integer;
var i,n,k,r: integer;
m:mas;
begin writeln ('введи число') ;
readln (n);
randomize;
for i:=1 to n do
begin
m[i]:=random(45)+1;
write(m[i], ' ');
end;
writeln;
write('введи номер эл-та '); readln (k) ;
write('введи эл-т ');
readln (r) ;
writeln;
for i:=n+1 downto 1 do
if i>k then m[i]:=m[i-1];
m[k]:=r;
for i:=1 to n+1 do
write(m[i], ' ');
end.
3. Итог урока.
4.
Домашнее задание.
1.
Дан массив целых чисел. Все элементы, оканчивающиеся
цифрой 4, уменьшить вдвое.
2.
Массив содержит 2n элементов. Из суммы первых n его элементов
вычесть сумму последних n элементов.
Урок 35-36
Тема: Действия с одномерными массивами.
Цель: отработка
навыка решения задач на массивы.
- Повторение. Проверка домашнего задания.
·
Что такое массив?
·
Перечислите способы задания массива.
·
Как описывается массив на Паскале?
·
Назовите базовые задачи на массивы.
- Решение задач.
- Задача 1. Дан массив.
Составить программу расчета квадратного корня из любого элемента массива.
- Задача 2. Дан массив.
Все его элементы увеличить в два раза.
- Задача 3. Дан массив.
Напечатать все четные элементы.
- Задача 4. Дан массив. Определить количество
элементов кратных а.
- Массив задан
датчиком случайных чисел. Найти сумму четных элементов массива.
- Массив задан с клавиатуры. Определить
имеется ли в массиве заданный элемент.
3. Итог урока.
4. Домашнее
задание.
1. Дан массив.
Найти среднее арифметическое элементов массива, больших 10.
2. Дан массив. Определить
количество элементов, отличных от последнего элемента.
Урок 37-38
Тема: Действия с одномерными массивами. Нахождение
максимального (минимального) элемента массива.
Цель: формировать у учащихся
умение заполнять одномерные массивы, выводить их на экран и обрабатывать.
- Проверка
домашнего задания.
- Самостоятельная
работа
1
вариант
|
2
вариант
|
1. Массив задан датчиком случайных чисел.
Заменить нулевые элементы числом 100.
2. Массив задан датчиком случайных чисел.
Верно ли, что сумма элементов, которые больше 20, превышает 100.
|
1. Массив задан датчиком случайных чисел.
Посчитать количество нулевые элементов массива.
2. Массив задан датчиком случайных чисел.
Верно ли, что сумма элементов, кратна 11.
|
- Новый материал.
Задача 1. Найти максимальный элемент массива.
Алгоритм.
min- минимальный элемент, l – его номер.
- Кладем в min а[1], в l=1.
- Сравниваем min с
последующим элементом массива. Если а[i]<
min, то в min
кладем а[i], в l=i, в противном случае ничего не
делаем.
- Начать сначала, пока не кончится массив.
program massiv ;
uses crt;
type mas=array[1..1000] of
integer;
var i,n,max, l: integer;
m:mas;
begin writeln ('введи число') ;
readln (n);
randomize;
for i:=1 to n do
begin
m[i]:=random(45)+1;
write(m[i], ' ');
end;
writeln;
max:=m[1]; l:=1;
for i:=2 to n do
if m[i]>max then begin
max:=m[i]; l:=i; end;
write(max , ' его номер ', l );
end.
Задача 2. Определить на сколько максимальный
элемент больше минимального.
- Итог урока.
- Домашнее задание.
1.
Какое число в массиве встретится раньше:
максимальное или минимальное.
2.
В массиве хранится информация о росте 35 человек.
Определить у скольких человек самый большой рост.
Урок 39-40
Тема: Решение
задач. Контрольная работа №4 «Действия с одномерными массивами».
Цель: систематизация
знаний учащихся; контроль знаний учащихся.
I.
Закрепление. Решение задач.
·
Что такое массив?
·
Способы заполнения массива?
·
Перечислите базовые задачи на массивы.
1.
Верно ли, что максимальный элемент - число четное?
2.
Дан массив А(15). Определить количество элементов
равных 37.
3.
Дан массив А(13). Найти сумму элементов больших 17,
но меньших 65.
4.
Дан массив А(13). Напечатать все элементы,
оканчивающиеся на цифру пять.
II. Контрольная работа.
I
вариант
|
II
вариант
|
1. Перечислите способы заполнения массива.
2. Дан массив А(15). Определить сумму
элементов массива кратных 7.
3. Дан массив В(12). Напечатать все
элементы, оканчивающиеся нулем.
4. В массиве хранится информация о стоимости
каждой из 60 книг. Определить количество самых дешевых книг.
|
1. Перечислите базовые задачи на массивы.
2. Дан массив С(17). Определить количество
элементов массива кратных 11.
3. Дан массив D(11).
Напечатать все элементы, не превышающие числа 30.
4. В массиве хранится информация о
количестве осадков, выпавших за каждый день октября. Определить количество
дней, когда выпало самое большое число осадков.
|
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.