СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Модуль 2 Линейные алгоритмы на языке программирования Паскаль

Категория: Информатика

Нажмите, чтобы узнать подробности

Раздаточный материал по основам языка программирования Паскаль для учащихся 8-9 классов. Возможно использование для самостоятельного обучения

Просмотр содержимого документа
«_004_Линейные_алгоритмы_М2_БЛОК1»

В записанной выше программе использованы поясняющие комментарии. Комментарии - это любой текст, обрамлённый фигурными скобками { и } или символами (* и *).


Вопросы для повторения:

  1. Какая команда служит для ввода данных? Для вывода данных?

  2. Чем отличается вывод информации на экран компьютера оператором write( ) от вывода оператором writeln( ) ?

  3. Как вывести на экран текст?

  4. Можно ли вывести на экран несколько переменных или текстов одним оператором writeln()?

  5. Что означает число 7 в команде writeln(pi:7:5)? А что означает число 5?

  6. Сколько знаков после запятой будет выведено при записи команды: a) writeln(pi:7:5); b) writeln(pi:5:7) ?

  7. Какие символы используются для размещения комментариев в программе?

Задания для самостоятельной работы:

  1. Имеются два числа.

  1. Вычислите сумму и разность этих чисел, используя два оператора readln.

  2. Перепишите программу так, чтобы использовался один оператор readln.

  3. Добавьте комментарии к программе.

  1. Имеются три числа. Вычислите их произведение.

  2. По заданным сторонам прямоугольника a и b вычислите его периметр и площадь.

  3. Человеку сегодня исполнилось R лет. Сколько ему дней? Часов? Минут? Секунд? (Високосные годы не учитывать)

  4. После начала некоторого эксперимента прошло t часов m минут и k секунд. Сколько всего секунд длится эксперимент?

  5. Задано расстояние между городами в вёрстах. Переведите это расстояние в километры (точность: три знака после запятой) используя данные:

1 верста=500 саженям; 1 сажень=3 аршина; 1 аршин=0.7112 метра

Изучаем “Pascal









МОДУЛЬ2_Блок № 1



Тема урока:

Ввод и вывод данных. Форматы вывода.

Составление линейных алгоритмов.

Комментарии в программе.







Цель занятия:


  1. Научиться осуществлять ввод и вывод данных;

  2. Познакомиться с форматами команд ввода и вывода данных;

  3. Самостоятельно написать несколько простых программ.







Операторы ввода и вывода информации.

Для вывода информации на экран компьютера используется оператор: - write( ) - writeln( )

В скобках необходимо записывать данные, которые будут выведены на экран при выполнении программы.


Для ввода информации с клавиатуры в компьютер используется оператор: - read( ) - readln( )

В скобках необходимо записывать данные, которые мы хотим вводить при работе программы.


Рассмотрим несколько примеров:

Составим программу вычисляющую s = а / b и p=a*b.

program zadacha2_1a;

var a,b,s,p:real;

Begin

writeln('введите число a ');

readln(a);

writeln('введите число b ');

readln(b);

s:=a/b;

p:=a*b;

writeln('а/b =',s);

writeln('а*b =',p);

End.

В данном примере ввод и вывод данных для каждой переменной осуществляется отдельно. А можно было записать и так:

program zadacha2_1b;

var a,b,s:real;

Begin

writeln('введите числа a и b');

readln(a,b);

s:=a/b;

p:=a*b;

writeln('а/b = ',s,' а*b = ',p);

End.

В этой задаче использовался вещественный тип числа – real, поэтому ответ был получен в полулогарифмической форме записи числа. Вспоминаем:

2.5670000000Е+02 следует понимать 2.567 * 102

3.4906710000Е-03 следует понимать 3.490671 * 10-3.

Если мы хотим при выводе на экран реальных чисел указать определённое число знаков после запятой, то можно воспользоваться форматом вывода writeln(a:n1:n2). Где

n1 - количество знакомест выделенных под всё число;

n2 - количество знакомест выделенных под дробную часть числа.

Например команда writeln(pi) выведет строку:

3.1415926536E+00

а команда writeln(pi:9:3) выведет строку:

3.142

пропустив перед выводимым числом четыре пробела и выровняв 3.142 (всего 5 знаков) по правому краю девяти знакомест.


Составим программу, выводящую на экран число π.

program zadacha2_2;

Begin

writeln(pi:9:3);

End.

Изменяя числа в формате вывода(:9:3, :9:2, :17:3, :17:7, :3:7 и т.д.) просмотрите и проанализируйте полученные результаты.


Задана сторона куба. Вычислить объем куба и площадь боковой поверхности.

program zadacha2_3;

var a,v,s:real; {описание переменных}

Begin

writeln('Введите сторону куба'); {ввод данных}

read(a);

v:=a*a*a; (*вычисление объёма*)

s:=6*a*a; {вычисление площади поверхности}

{вывод результатов}

writeln('Объём = ',v:8:3,' Площадь поверхности = ',s:8:3);

End.

Просмотр содержимого документа
«_005_Линейные_алгоритмы_М2_БЛОК2»

Вопросы для повторения:

  1. Чем отличается операция / от операции div?

  2. Есть ли в Pascal операция возведения в степень?

  3. Выполняется ли равенство:

(264 mod 100) div 10 = (368 div 10) mod 10.

  1. Придумайте формулу для нахождения предпоследней цифры числа?

  2. Можно ли производить операции mod и div над переменными, которые описаны как real?

  3. Как должна быть описана переменная fl, если она вычисляется по формуле fl:=a / b? А как можно описать переменные a и b?

  4. Как должна быть описана переменная k, если она вычисляется по формуле k:=a div b? А как нужно описать переменные a и b?


Задания для самостоятельной работы:

  1. Задано двухзначное число. Чему равна последняя цифра числа?

  2. Задано двухзначное число. Чему равна первая цифра числа?

  3. В двухзначное число вписать ноль в середину и получить трехзначное число.

  4. Найдите сумму цифр заданного трёхзначного числа.

  5. Найдите цифры заданного четырёхзначного числа.

  6. Задано пятизначное число. Найдите цифры и сумму цифр пятизначного числа.

  7. С начала суток прошло k минут. Определите сколько сейчас часов и минут.

  8. Идёт k-ая секунда суток. Определить который сейчас час (в часах, минутах и секундах).

  9. Робинзон Крузо провёл на острове f дней. Сколько полных недель он пробыл на острове?

  10. Поезд перевозит s тонн груза. Сколько автомобилей грузоподъемностью b тонн (b

  11. Дано действительное число a. Не пользуясь никакими другими операциями кроме умножения, получить:

  1. a13 за пять операций;

  2. a21 за шесть операций;

  3. a3 и a10 за четыре операции;

  4. a4 и a12 и a28 за шесть операций.

Изучаем “Pascal









МОДУЛЬ2_Блок № 2



Тема урока:

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

Операции div и mod.







Цель занятия:


  1. Закрепить умения ввода и вывода данных;

  2. Научиться использовать различные типы данных;

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









Арифметические операции.

В языке Pascal используется 6 арифметических операций.

арифметическая операция (а=14,b=4) результат

  • сложение (+) S:=a+b S=18

  • вычитание (-) S:=a-b S=10

  • умножение (*) S:=a*b S=56

  • деление (/) S:=a / b S=3.5

  • целочисленное деление S:=a div b S=3

  • остаток от целочисленного деления S:=a mod b S=2

Нет возведения в степень. Если степень целая, её заменяют умножением: а3S:=a*a*a

Для возведения числа в произвольную степень используется следующее соотношение: xy=e ln(x ) =eylnx тогда xy=exр(y*ln(x))


Рассмотрим несколько примеров:

Заданы два числа. Найдите их сумму.

рrogram zadacha2_4;

var a,b,s:byte;

Begin

writeln('введите целое число a ');

read(a);

write('введите целое число b ');

read(b);

s:=a+b;

writeln('s =',s);

End.

Проанализируйте полученный результат при a+b255. Поменяйте тип данных byte на integer. Что получается теперь? Просмотрите, до какой предельной суммы a+b вычисления происходят верно? Установите тип данных longint. Просмотрите суммы.


Заданы два целых числа k и d. Используя только арифметические операции, найдите целую и дробную части от деления k на d.

program zadacha2_5;

var a,drobn:real;

k,d,cel:integer;

Begin

writeln('введите два числа'); readln(k,d);

cel:=k div d; {целочисленное деление}

a:=k/d; {обычное деление}

drobn:=a-cel;

writeln('целая часть - ',cel);

writeln('дробная часть - ',drobn);

Еnd.

Можно ли было в данной программе все переменные определить как integer или как real? Попробуйте и проанализируйте.


Дано трёхзначное число. Чему равны его цифры?

program zadacha2_6;

var a,с1,с2,с3:integer;

Begin

writeln('введите трёхзначное число '); readln(a);

c1:=a div 100;

c2:=(a mod 100) div 10; {или c2:=(a div 10) mod 10;}

c3:=a mod 10;

writeln('первая цифра -',c1);

writeln('вторая цифра -',c2);

writeln('третья цифра -',c3);

Еnd.


Дано действительное число a. Используя только пять операций умножения получить a15.

program zadacha2_7;

var a,b,c,d,s:longint;

Begin

writeln('введите число  a'); readln(a);

b:=a*a; {вторая степень}

с:=b*b; {4 степень}

d:=c*a; {5 степень}

s:=d*d*d; {15 степень}

writeln('результат = ',s);

Еnd.

Просмотр содержимого документа
«_006_Линейные_алгоритмы_М2_БЛОК3»

Вопросы для повторения:

  1. В чём отличие функции int(x) от функции trunc(x)?

  2. Чему равно: int(-7.7);

  3. Чему равно: round(-7.7);

  4. Придумайте три способа возведения числа b в четвёртую степень.

  5. Вычислите: sqr(sqrt(7)).

  6. С использованием каких функций можно вычислить tg x.


Задания для самостоятельной работы:

  1. Задано число x. Вычислите s, если:

  1. s = cos x - sin x + |x-7| + x2 - 1

(Введите x=10 и сравните устные вычисления с результатом работы программы)





  1. Задано вещественное число f. Вычислите разность целой и дробной части числа f.

  2. Задано трёхзначное (четырёхзначное) число. Найдите цифры заданного числа, используя только функцию:

  1. int();

  2. trunc();

  3. frac().

  1. Задана сторона a равностороннего треугольника. Вычислите высоту треугольника и его площадь.

  2. Даны числа n, k, m. Вычислите x и у, если:


  1. x = n (sin k + cos(m-2));



  1. x =2n4+6n3-n2+3n-9;



  1. x=cos(1+|m-en|-k2);

Изучаем “Pascal”









МОДУЛЬ2_Блок № 3



Тема урока:

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








Цель занятия:


  1. Получить навыки использования основных функций;

  2. Научиться использовать различные типы данных;

  3. Закрепить умения по работе в среде Паскаля.









Основные математические функции.

sqr(x) - возведение X в квадрат

sqrt(x) - корень квадратный из X

abs(x) - модуль от X

int(x) - целая часть X (результат - вещественное число)

trunc(x) - целая часть X (результат - целое число)

round(x) - округляет число X до целого (результат - целое число)

frac(x) - дробная часть от X

pi - выдаёт число 3.1415926….. (19 знаков после запятой)

sin(x) - синус X

cos(x) - косинус X

arctan(x) - арктангенс X

exp(x) - возведение числа е=2.7183… в стерень Xх)

ln(x) - логорифм числа X

random(x) - выбирается случайное число от 0 до X-1 (целое)

random - выбирается случайное число от 0 до 1 (вещественное)


Рассмотрим несколько примеров:

З
аданы
a, x, y. Вычислите S=| a | + x+ y 2

program zadacha2_8;

var a,x,y,s:real;

Begin

writeln('введите число x ');

readln(x);

writeln('введите число y ');

readln(y);

writeln('введите число a ');

readln(a);

s:=abs(a)+sqrt(x+sqr(y));

writeln('s =',s);

End.


Задан радиус (целое число). Вычислить площадь круга и длину окружности.

program zadacha2_9;

var r:integer;

l,s:?????; {подумайте, какой тип данных необходимо записать}

Begin

writeln('введите радиус окружности r ');

readln(r);

l:=2*pi*r;

s:=pi*sqr(r);

writeln('площадь круга = ',s,' длина окружности = ',l);

End.


Заменяя в программе функцию int() на функции trunc(), round(), frac() и правильно используя типы данных, заполните таблицу:


-3.7

-3.2

-3

3.2

3.7

3

Int(x)







Trunc(x)







Round(x)







Frac(x)








program zadacha2_10;

var a:real;

d:real;

Begin

writeln('введите число ');

readln(a);

d:=int(a);

writeln('результат - ',d);

End.


Заданы x, y. Вычислите S = x y.

Воспользуемся соотношением записанном в блоке 2: xy=exр(y*ln(x))

program zadacha2_11;

var x,y:integer;s:real;

Begin

writeln('Введите число');readln(x);

writeln('Введите степень');readln(y);

s:=exp(y*(ln(x)));

writeln(x,' в степени ',y,' = ',s:9:3);

End.

Просмотр содержимого документа
«_007_Линейные_алгоритмы_М2_БЛОК4»

  1. Дано действительное число x. Не пользуясь никакими другими арифметическими операциями, кроме умножения, сложения и вычитания, вычислить 2x4 - 3x3 + 4x2 - 5x + 6. Разрешается использовать не более 4 умножений и 4 сложений и вычитаний.

  2. Дано действительное число x. Не пользуясь никакими другими арифметическими операциями, кроме умножения, сложения и вычитания, вычислить 1 - 2x + 3x2 - 4x3 и 1 + 2x + 3x2 + 4x3. Разрешается использовать не более восьми операций.

  3. Дана сторона a квадрата. Вычислите периметр, длину диагонали и площадь квадрата.

  4. Даны стороны a и b прямоугольника. Вычислите периметр, длину диагонали и площадь прямоугольника.

  5. Дана сторона a равностороннего треугольника. Вычислите периметр и площадь треугольника.

  6. Дана длина ребра куба. Вычислите диагональ куба, объём куба и площадь его боковой поверхности.

  7. Три сопротивления R1, R2, R3 соединены параллельно. Найдите сопротивление соединения.

  8. Треугольник задан своими сторонами a, b, c. Используя формулу Герона (s = √ p(p-a)(p-b)(p-c), где p - полупериметр p=(a+b+c)/2 ) вычислите площадь треугольника.

  9. Вычислите расстояние d между двумя точками с координатами x1, y1, x2, y2 (расстояние d = √ (x1-x2)2+(y1-y2)2 ).

  10. Треугольник задан координатами своих вершин x1, y1, x2, y2, x3, y3. Вычислите площадь треугольника.

  11. Сумма первых n членов арифметической прогрессии вычисляется по формуле Sn=(a1+an) ∙ n/2 где an=a1+d ∙ (n-1). Даны первый член прогрессии a1 и разность прогрессии d и количество членов прогрессии n. Вычислить Sn. Установить экспериментальным путём, при каком n значение Sn выходит за пределы integer. (Арифметическая прогрессия - это последовательность чисел, в которой разность между двумя соседними элементами постоянна. Например: 3, 7, 11, 15 ,19, . . . Здесь 3 - первый член прогрессии (a1), d=4 - разность прогрессии.)

  12. Задана температура в градусах по шкале Цельсия. Используя формулу перевода температуры из градусов по шкале Цельсия в градусы по шкале Фаренгейта F = 1.8 C + 32 получите температуру по Фаренгейту.

Изучаем “Pascal









МОДУЛЬ2_Блок № 4



Тема урока:

Практикум по составлению

линейных алгоритмов.

Решение прикладных задач.







Цель занятия:


  1. Закрепить умения ввода и вывода данных;

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

  3. Закрепить знания по использованию различных типов данных.







Вопросы для повторения:

  1. Найдите и объясните ошибки в описаниях переменных целого типа:

Var a, b, c : integer;

s{путь} v{скорость} t{время} : integer;

d, e, f, : integer;

const : integer;

d+t : integer;

x,, y : integer;

q, w, e, r, t : integer

k, l ; integer;

  1. Вычислите устно:

a) 17 div 6 b) 34 mod 8 c) 19 div 4

d) 89 div 9 e) 89 mod 9 f) 77 mod 7

  1. Какие числа можно получить при вычислении выражения x mod 5 = ?

  2. Вычислите значения выражений:

  1. trunc (2.8) e ) round (2.8)

  2. trunc (2.1) f ) round (2.1)

  3. trunc (-1.6) g ) round (-1.6)

  4. trunc (-1.1) h ) round (-1.1)


Чему равен результат работы программ при a = 253:

p

program zadacha2_12b;

var a,x,y,z,b:integer;

Begin

readln(a);

x:=a div 100;

y:=(a div 10) mod 10;

z:=a mod 10;

b:=y*z;

writeln(b);

End.


rogram zadacha2_12a;

var a,x,y,z,b:integer;

Begin

readln(a);

x:=a div 100;

y:=(a div 10) mod 10;

z:=a mod 10;

b:=x*100+z;

writeln(b);

End.


Сократите длину записанных выше программ сохранив их назначение.

Найдите и исправьте ошибки в программе:

program zadacha2_13;

var a,b:real;

c,e:integer;

Begin

writeln('Введите два целых числа'); readln(a);

c:=a/b;

d:=a mod b;

e:=c+d;

writeln(c);writeln(d);writeln(e);

End.

Задания для самостоятельной работы:

  1. Даны два действительные числа. Найти среднее арифметическое этих чисел.

  2. Дано трёхзначное число. Определить:

  1. сумму и произведение цифр числа;

  2. число, образованное перестановкой цифр исходного числа;

  3. число, полученное перестановкой цифр сотен и десятков;

  4. число, полученное перестановкой цифр десятков и единиц.

  1. Дано пятизначное число, записанное в двоичной системе счисления (СС). Переведите данное число в десятичную СС.

  2. Дано четырёхзначное число. Получите двузначное число, удалив из исходного четырёхзначного числа цифры:

  1. тысяч и десятков (например: 2783 → 73);

  2. сотен и единиц (например: 2783 → 28);

  3. десятков и единиц (например: 2783 → 27);

  4. получите другие двухзначные числа удалением цифр из исходного четырёхзначного числа.

  1. Дано действительное число a. Не пользуясь никакими другими операциями кроме умножения, получить:

  1. a6 за три операции;

  2. a7 за четыре операции;

  3. a9 за четыре операции;

  4. a28 за шесть операций;

  5. a5 и a13 за пять операций;

  6. a2, a5 и a17 за шесть операций.


Скачать

Рекомендуем курсы ПК и ППК для учителей

Вебинар для учителей

Свидетельство об участии БЕСПЛАТНО!