Инструкционно-технологическая карта к практическому занятию на тему "Алгоритмы исследования элементарных функций"
электронный образовательный ресурс по информатике и икт

Сегида Алексей Николаевич

Инструкционно-технологическая карта к практическому занятию по ОУД.11 Информатика для специальности 09.02.07 Информационные системы и программирование.

Скачать:


Предварительный просмотр:

Инструкционно-технологическая карта

Практическая работа № 19

Тема: «Алгоритмы исследования элементарных функций.»

Цель работы:

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

Оборудование:

инструкционно-технологическая карта практической работы №19, ПК, набор необходимого программного обеспечения, предусмотренного программой учебной дисциплины.

Отводимое время:

2 часа

Ход работы

  1. Прочитать теоретический материал.
  2. Выполнить задание.
  3. Составить отчет по выполненной работе.
  4. Сдать преподавателю и защитить отчет.

Теоретическая часть к практической работе.

Алгоритмы

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

Алгоритм - это точное описание последовательности действий для исполнителя.

Исполнителем называют человека, животное или машину, способных понимать и выполнять некоторые команды.

Формальный исполнитель любую команду всегда выполняет одинаково, не обдумывая её.

Любой алгоритм можно составить с помощью трёх базовых конструкций: следования (последовательного выполнения команд), ветвления (выбора одного из двух вариантов действий) и цикла (повторения одинаковой группы действий).

Алгоритмы можно записывать на естественном языке (например, русском), в виде блок-схем или на языке программирования. Запись алгоритма на языке программирования называется программой.

Первая программа

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

program qq;

begin

{ основная программа }

end.

Заголовок программы начинается словом program (по-английски - программа), в имени программы нельзя использовать русские буквы и пробелы, после него ставится точка с запятой.

Все служебные слова тоже записываются на английском языке. Тело программы ограничивают служебные слова begin и end, после слова end ставится точка. Комментариями считается всё, что записано в фигурных скобках.

Если вы наберёте рассмотренную первую программу без ошибок в среде программирования и запустите её, она отработает, но никаких результатов её работы видно не будет, ведь в теле программы нет ни одной команды.

Вывод текста

Теперь научим программу делать что-то полезное, например выводить текст на экран. Пусть она при запуске приветствует вас:

Привет!

Вот как выглядит такая программа:

program Hello;

begin

write ('Привет!')

end.

В языке Паскаль для вывода данных используют стандартную (встроенную) процедуру write. Такая процедура называется оператором вывода.

Обратите внимание, что в программе на языке Паскаль каждая команда (оператор) заканчивается точкой с запятой, но перед словом end её можно не ставить.

Вася решил дополнить программу так, чтобы она выводила сообщение с его именем. Он записал оператор вывода так:

write ('Привет', Вася!);

Эта программа не работает. Исправьте её.

Теперь попробуем вывести второе приветствие:

Привет, Вася!

Привет, Петя!

Если запустить программу с такими операторами:

writе('Привет, Вася!');4.JPG

writе('Привет, Петя!');

то мы увидим не совсем то, что хотели:

Привет, Вася!Привет, Петя!5.JPG

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

writeln ('Привет, Вася!');

write ( 'Привет, Петя!');

И у нас получится:

writeln ('Привет, Вася!');

write ( 'Привет, Петя!');

Линейные программы

Переменные

Начнём с того, что научим компьютер складывать два целых числа. Программа должна:

1) запросить у пользователя два целых числа;

2) сложить их;

3) вывести результат сложения.

Запишем программу, в которую вместо команд пока вставим комментарии:

Program Sum

begin

{ ввести два числа }

{ сложить их }

{ вывести результат }

End.

Попробуйте запустить эту программу. Что получилось?

Компьютер не может выполнить эту программу, потому что команд «ввести два числа» и ей подобных, которые записаны в комментариях, нет в его системе команд. Будем постепенно расшифровывать комментарии - записывать вместо них операторы языка программирования.

Исходные данные (числа), которые будет вводить человек, нужно сохранить в памяти компьютера. Для этого используют переменные.

Переменная - это величина, которая имеет имя, тип и значение.

Значение переменной может изменяться во время выполнения

программы.

Переменная обозначает ячейку памяти. Она может хранить только одно значение. При записи в неё нового значения «старое» стирается и его уже никак не восстановить.

Переменные в программе необходимо объявлять. При объявлении указывается тип переменной и её имя (идентификатор, от слова «идентифицировать» - отличать от других). С идентификаторами мы уже встречались: имя программы - это тоже идентификатор.

Идентификатор - это имя программы или переменной.

Вот так объявляются целочисленные переменные (в которых могут храниться только целые значения) с именами а, b и с:

var а, b, с: integer;

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

Имена переменных строятся по тем же правилам, что и имена программ. В языке Паскаль можно использовать в именах латинские буквы (строчные и прописные буквы не различаются), цифры и знак подчёркивания «_». Имя не может начинаться с цифры, иначе транслятору будет сложнее различить, где начинается имя, а где - число.

Тип переменной нужен для того, чтобы определить:

• какие значения может принимать переменная;

• какие операции можно выполнять с этой переменной;

• сколько памяти нужно выделить для хранения значения.

Значение переменной сразу после объявления не определено: переменной выделяется некоторая область памяти, там мог быть до этого записан любой двоичный код.

Работа с переменными

Присвоить значение переменной можно двумя способами. Во первых, можно записать нужное значение прямо в программе:

а: = 5;

Оператор, содержащий символы «:=», - это оператор присваивания, с его помощью присваивают новое значение переменной. Он выполняется так: вычисляется выражение справа от символов «:=», а затем результат записывается в переменную, имя которой указано слева.

Для вывода значения переменной на экран используют тот же оператор write, который раньше применяли для вывода текста:

write(a);

После выполнения программы на экране появится:

Очень часто программа хранится как исполняемый файл - готовые к выполнению машинные коды. В этом случае текст программы (исходный код) нам недоступен и в нём ничего нельзя исправить. Для того чтобы пользователь смог как-то поменять исходные данные, программист может предусмотреть их ввод с клавиатуры.

Для ввода данных с клавиатуры используется оператор read. Например, ввести значение переменной а можно так:

read(a);

Выполняя эту команду, компьютер ожидает, пока пользователь наберёт значение и введёт его, нажав клавишу Enter. Это значение будет присвоено переменной а, которая указана в операторе ввода.

Если в операторе ввода записаны две переменные:

read(a, b);

то программа ожидает ввода двух чисел (через пробел). Первое из них будет записано в первую переменную (в нашем примере - в переменную а), а второе - во вторую (b).

Приведём полную программу сложения двух чисел:

program summa;

var a,b,c:integer;

begin

read(a,b);

c:=a+b;

write(c)

end.

У этой программы сложения чисел есть два недостатка:

1) перед вводом данных пользователь не знает, что от него требуется (сколько чисел нужно вводить и каких);

2) результат выдается в виде числа, которое означает неизвестно что.

Хотелось бы, чтобы диалог программы с пользователем выглядел так:

Введите два числа: 2 3

2+3 = 5

Это можно сделать при помощи оператора write :

При выводе результата ситуация несколько усложняется, потому что нужно вывести значения трёх переменных и два символа: «+» и «=». Можно выводить их по очереди:

write(a);

write('+');

write(b);

write('=');

write(c)

но удобнее объединить все выводимые данные в один список вывода, элементы в котором разделены запятыми:

write(a,'+',b,'=',c)

Обратите внимание, что имена переменных записаны без апострофов, а все выводимые символы - в апострофах. Если в списке вывода указано имя переменной а, программа выведет не букву «а», а значение, которое хранится в переменной а.

Арифметические выражения

Арифметические выражения обычно записываются в одну строчку. Они могут содержать :константы (постоянные значения), имена переменных, знаки арифметических операций, круглые скобки (для изменения порядка действий). Например, присваивание

в программе запишется как

a:=(c+b-1)/2*d;

Операция умножения обозначается знаком «*», а операция деления - знаком «/».

Какое же действие будет выполняться первым, какое – вторым и т. д.? Это определяется приоритетом (старшинством) операций. Операции выполняются в следующем порядке:

• действия в скобках;

• умножение и деление, слева направо;

• сложение и вычитание, слева направо.

Таким образом, умножение и деление имеют одинаковый приоритет, более высокий, чем сложение и вычитание.

Результат деления ( операции «/») может быть нецелым числом, такие числа называются вещественными. Вещественное значение нельзя записать в целочисленную переменную. Вещественную переменную х объявляют так:

var х:real;

При записи вещественных чисел в программе целую и дробную части разделяют не запятой (как принято в России), а точкой. Например:

var х: real;

х: = 123.456;

В языке Паскаль операции возведения в

степень нет. Но его можно записать следующим образом:

(x*x*x*x*x)

Операции с целыми числами

Часто нужно получить целый результат деления целых чисел и остаток от деления. Например, известен интервал времени в секундах (скажем, 175 секунд) и нужно определить, сколько в нём целых минут и оставшихся секунд (175 с = 2 мин 55 с). Здесь число минут - это целая часть от деления 175 на 60, а 55 секунд - это остаток от этого деления.

В таких случаях в Паскале используют команды div и mod (они имеют такой же приоритет, как умножение и деление):

t:=175;

m:=t div 60;

s:=t mod 60;

С помощью этих операций удобно работать с отдельными цифрами числа. К примеру когда нам нужно найти остаток от деления мы проводим лишь операцию mod.

N:=1765;

a:=N mod 100;

Если разделить число на 10 и взять только целую часть, мы отбросим последнюю цифру числа: значение div.

N:=1765;

a:=N div 100;

Давайте произведём эксперимент. Посмотрим, что выведет на экран такая программа:

var a, b, с: integer;

x: real;

...

a:=1; b:=2; с:=3;

x:=12.34567891234;

writeln(a, b, с);

writeln(x)

Все три значения, записанные в первом операторе вывода, сливаются друг с другом. Для того чтобы разделить их, нужно добавить в список вывода пробелы (в апострофах!) между каждой парой значений переменных:

writeln(a,' ',b,' ', c);

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

writeln(a, b:4, c:5);

Это так называемый форматный вывод : мы сказали, что значение переменной b должно занимать четыре позиции на экране, а значение с - пять:

Но мы можем сами задать формат вывода, например, такими способами:

x:=12.34567891234;

writeln(a, b:4, c:5);

writeln('x=',x:10:5);

writeln('x=',x:8:4);

writeln('x=',x:2:3);

writeln('x=',x:0:2);

writeln('x=',x:0:1);

Если не нужно выводить лишние пробелы, а требуется только ограничить количество знаков в дробной части числа, можно задать нулевое общее количество позиций :

writeln('x=',x:0:2);

Операции с вещественными числами

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

write(sqrt(x))

Контрольные вопросы.

1. С какого служебного слова в Pascal начинается описании переменных?

2. Как в Pascal обозначаются целочисленные переменные?

3. Как в Pascal обозначаются вещественные переменные?

4. Какими словами в Pascal ограничивается тело программы?

5. Какая процедура в Pascal используется для вывода данных? Как она называется?

6. Какая процедура в Pascal используется для ввода данных с клавиатуры? Как она называется?

7. Как в Pascal называется оператор, содержащий символы «двоеточие равно»?

8. Чем отличаются два оператора вывода:

write (а ) ;

wr ite('a' ) ;?

Практическая работа.

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

2. Требуется написать программу, которая выводит скорость и время движения автомобиля и выводит на экран расстояние, которое он проехал.

3. Напишите програму. Чему будут равны значения переменных a и b после выполнения программмы, если вначале они имели значения a = 4 и b = 7?.

a

b

4

7

a:= a + 1

b:= b + 1

a:= a + b

b:= b + a

a:= a + 1

Ответ: a =   b =

5. Определите порядок действий компьютера при вычислении выражения (впишите номер выполняемого действия над знаком операции):

6. Напишите программу для вычисления данного выражения  на языке программирования:

7. Напишите программу вычисления значение вещественной переменной c при a = 2 и b = 3:

а)

с:= a + 1 / 3

б)

с:= a + 4 / 2 * 3 + 6

в)

с:= (a + 4) / 2 * 3

г)

с:= (a + 4) /(b + 3) * a

8. Что будет выведено в результате работы следующей программы:

var a,b,c,d,e: integer;

...

a:=1; b:=2; c:=3;

d:=4; e:=5;

writeln(a:4);

writeln(b:3,b:2);

writeln(c:2,c:4);

writeln(d,d,d,d,d,d,d);

write(e:4);

9. Напишите программу, которая вычисляет квадратный корень введённого числа.


По теме: методические разработки, презентации и конспекты

Основные этапы исследования элементарных функций

Урок алгебры в 9 классе по теме "Основные этапы исследования  элементарных функций"  является повторительно-обобщающим перед контрольной работой. Целью урока является развитие навыков чтения...

Технологические карты для практических занятий.

Технологическая карта для практических занятий....

Инструкционно-технологическая карта к практическому занятию на тему "Создание модели процесса с помощью Visio"

Инструкционно-технологическая карта к практическому занятию по МДК 1.2. Методы и средства проектирования инормационных систем для специальности 09.02.04 Информационные системы (по отраслям)...

Инструкционно-технологическая карта к практическому занятию на тему "Архитектурная схема организации"

Инструкционно-технологическая карта к практическому занятию по УП по ПМ 01 Эксплуатация и модификация информационных систем для специальности 09.02.04 Информационные системы (по отраслям)...

Инструкционно-технологическая карта к практическому занятию на тему "Разработка ИС для создания и редактирования БД. Создание интерфейса программы"

Инструкционно-технологическая карта к практическому занятию по УП по ПМ 01 Эксплуатация и модификация информационных систем для специальности 09.02.04 Информационные системы (по отраслям)...

Инструкционно-технологическая карта к практическому занятию на тему "ПРОГРАММНАЯ РЕАЛИЗАЦИЯ КРИПТОГРАФИЧЕСКИХ АЛГОРИТМОВ"

Инструкционно-технологическая карта к практическому занятию по МДК 01.01 Эксплуатация информационной системы для специальности 09.02.04 Информационные системы (по отраслям)...