Как составить линейный алгоритм вычисления у по формуле


Предмет: Информатика,


автор: ii7446988

Ответы

Автор ответа: dfatoran





18

Ответ:

Объяснение:

Код могу на С++ написать, на Паскале уже и не вспомню как.

там где стрелка идет от НЕТ можешь вставить доп. блок с вывод надписи например “ошибка” или х не равно 3, как уже пожелаешь

Приложения:


dfatoran:
да, ещё после x,y добавь блок как в начале где надпись начало, только надпись конец напиши

dfatoran:
это в самой блок схеме, если что в псевдокоде ничего менять не нужно

ii7446988:
спасибо))) .

Предыдущий вопрос

Следующий вопрос

Интересные вопросы

Предмет: Обществознание,
автор: ruslanamamaeva

Функции сми!!!
Обществознание 9 класс срочно!!!!!

4 года назад

Предмет: Алгебра,
автор: slavakrivun9

помогитееееееееееееееее с решением

4 года назад

Предмет: Английский язык,
автор: itsdarina13

Помогите пж 30 баллов

4 года назад

Предмет: Алгебра,
автор: 2346788

разложите на множители 2/3 х^3-8/27х

6 лет назад

Предмет: Математика,
автор: Øгýpчиķ

Помогите, пожалуйста.
🙂

6 лет назад

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

Algo_970x90-20219-0c5b45.png

Прежде чем приступить к рассмотрению основной темы статьи, следует сделать краткое отступление и сказать несколько слов про алгоритмический язык.

Алгоритмический язык

Представьте, что человеку, работающему за компьютером, поставлена некая вычислительная задача. В языке программирования решение этой задачи выполняется с помощью алгоритмизации. Решение предполагает:
— разбиение на этапы;
— разработку алгоритма;
— составление программы решения на алгоритмическом языке;
— ввод данных;
— отладку программы (возможны ошибки — их надо исправить);
— выполнение на ПК;
— анализ результатов.

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

Свойства алгоритма

Их несколько:
конечность. Любой алгоритм должен быть завершённым, а окончание наступает после выполнения определённого числа шагов;
однозначность, понятность. Не допускается разных толкований, неопределённости и двусмысленности — всё должно быть чётко и ясно, а также понятно исполнителю — и правила выполнения действий линейного алгоритма, и сами действия;
результативность. Итог работы — результат, полученный за конечное число шагов;
универсальность, массовость. Качественный алгоритм способен решать не одну задачу, а целый класс задач, имеющих схожую постановку/структуру.

Линейная структура

Любой алгоритм составляется из ряда базовых структур. Простейшей базовой структурой является следование — структура с линейными характеристиками. Из этого можно сформулировать определение.

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

Представим, что у нас стоит задача пропылесосить ковёр в комнате. В текстовой форме алгоритм будет следующим:
— принести пылесос к месту уборки;
— включить;
— пропылесосить;
— выключить;
— унести пылесос.

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

Теперь поговорим про графическую форму представления.

Algo_970x90-20219-0c5b45.png

Блок-схема

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

Рассмотрим фигуры, которые используются при визуализации типичной линейной последовательности.

Блок начала-конца:

Screenshot_1-1801-a35d16.png

Блок ввода-вывода данных (отображает список вводимых и выводимых переменных):

Screenshot_2-1801-52cab0.png

Арифметический блок (отображает арифметическую операцию/группу операций):

Screenshot_3-1801-df500e.png

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

Screenshot_4-1801-3103cc.png

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

Screenshot_5-1801-f1511b.png

А вот, как решается задача по нахождению площади треугольника по формуле Герона. Здесь a, b, c – это длины сторон, S – площадь треугольника, P – периметр.

Screenshot_6-1801-c010e2.png

Следует обратить внимание, что запись «=» — это не математическое равенство, а операция присваивания. В результате этой операции переменная, стоящая слева от оператора, получает значение, которое указано справа. Значение не обязательно должно быть сразу определено (a = 3) — оно может вычисляться посредством выражения (a = b + z), где b = 1, a z = 2.

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

Если рассмотреть примеры решения на языке Pascal (именно этот язык до сих пор используется для изучения основ алгоритмизации и программирования), то можно увидеть следующую картину:

Screenshot_7-1801-f9ba66.png

И, соответственно, блок-схема программы линейной структуры будет выглядеть следующим образом:

Screenshot_8-1801-8a0c1b.png

Как составить программу линейной структуры?

Порядок следующий:
— определите, что именно относится к исходным данными, а также каков типы/класс этих данных, выберите имена переменных;
— определите, каков тип данных будет у искомого результата, выберите название переменных (переменной);
— определите, какие математические формулы связывают результат и исходные данные;
— если требуется наличие промежуточных данных, определите класс/типы этих данных и выберите имена;
— опишите все используемые переменные;
— запишите окончательный алгоритм. Он должен включать в себя ввод данных, вычисления, вывод результатов.

На этом всё, в следующий раз рассмотрим на примерах программу разветвлённой структуры. Если же вас интересует тема алгоритмизации в контексте разработки программного обеспечения, ждём вас на профессиональном курсе OTUS!

Algo_970x550-20219-265dfd.png

Источники:
• https://inep.sfedu.ru/wp-content/uploads/2018/05/25/lection_27.pdf;
• https://www.sites.google.com/site/415ict/textbooks/prog-9/02-linejnyj-algoritm.

Алгоритм линейной структуры

Любой алгоритм можно составить из нескольких базовых структур. Простейшей из них является линейная (следование).

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

Пример программы линейной структуры

Программа на языке Pascal

program line;

var a, b, c: integer;

begin

readln(a, b);

c := 2 * a + b;

writeln(‘c=’, c);

end.

Элементы программы

1. Заголовок

2. Объявление переменных

3. Начало блока операторов

4. Ввод исходных данных

5. Вычисление по формуле

6. Вывод результата

7. Конец блока операторов

Чтобы составить программу линейной структуры…

    1. Определить, что является исходными данными, какие будут у них типы. Выбрать имена переменных.
    2. Определить, что является искомыми результатами, какие будут у них типы. Выбрать имена переменных.
    3. Определить, какие формулы связывают исходные данные с результатами.
    4. Если нужны промежуточные данные, определить их типы и выбрать имена вспомогательных переменных.
    5. Описать все используемые переменные.
    6. Записать алгоритм, который должен включать:
        1. ввод всех исходных данных;
        2. вычисления;
        3. вывод результатов.
      1. Будьте внимательны: вспомогательная переменная должна получить значение до того, как она будет использована в вычислениях.
    7. Подобрать данные для тестирования программы (проверки правильности ее работы).

Для ввода данных в языке Pascal используются процедуры

read(переменные); например, read(a, b, c);

readln(переменные); например, readln(a, b, c);

Для вывода данных в языке Pascal используются процедуры

write(выражения); например, write(‘a =’, a, ‘b + c =’, b + c);

writeln(выражения); например, writeln(‘a =’, a, ‘b + c =’, b + c);

Процедуры readln и writeln отличаются от read и write тем, что после ввода/вывода производят перевод строки.

Математические операции и функции

В языке программирования Pascal имеется 6 арифметических операции и несколько встроенных функций. Обратите внимание, что существуют довольно строгие ограничения на использование арифметических операций с разными типами данных.

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

1. Определите результат вычисления следующего выражения. Какой тип будет у этого результата?

а) 2 * 4 + 10

б) 3.5 * 2 — 17

в) 48 + 16 mod 5

а) 46 div 12 — 7

б) 24 — 50 * 6

в) 3 + 4 * 2.25

2. Попробуйте определить, какие типы у параметров и результатов каждой из встроенных функций Pascal (см. таблицу).

3. Запишите по правилам Pascal следующие выражения:

4. Составьте на языке Pascal программу для вычисления:

Длины окружности и площади круга.

Для справки:

Скорости свободно падающего тела и пройденного им пути .

Для справки:

Линейный вычислительный
алгоритм.

К
моменту данного урока учащиеся знакомы со следующими понятиями: алгоритм, виды
алгоритмических конструкций, исполнитель, система команд, оператор ввода,
оператор вывода; имеют навыки составления несложных алгоритмов разных типов и
представления их на языке блок-схем.

Учебник: И.Семакин
и др. “Информатика.  9 (ФГОС)”, БИНОМ. Лаборатория знаний 2014 г
.

Цели
урока.

1.     Закрепить
введенные ранее понятия “величина”, “переменная”, “операция присваивания”,
“команда присваивания”, «оператор ввода», «оператор вывода», «трассировка».

2.     Отработать
навыки работы с переменными, командой присваивания, операторами ввода/вывода.

3.     Отработать
навыки работы с трассировочной таблицей.

4.     Рассмотреть
возможности оптимизации алгоритма за счет уменьшения количества переменных на
вычислительных задачах.

5.     Отработать
навыки составления линейных алгоритмов на словесном языке, на АЯ, в виде
блок-схем.

Оборудование
и материалы к уроку.

Демонстрационное
оборудование (мультимедийный проектор, экран), программное обеспечение:
средства просмотра презентаций, раздаточный материал.

Подготовка
к уроку.

1.     Презентация
(демонстрационные слайды) для повторения материала (файл – приложение 1. pps ).

2.      Раздаточный
материал – трассировочные таблицы (файл – приложение 3.doc), карточки с
тестами  (файл – приложение 2.
dos)

3.     Текст
задачи для проекции на доске (файл – приложение 4.doc).

4.     Текстовый
файл с программным кодом (файл – приложение 5.txt).

План
урока.

1.     Орг.
момент.

2.     Актуализация
знаний – обсуждение домашнего задания, тренировочные упражнения.

3.     Составление
словесных алгоритм, на АЯ, блок-схем

4.     Решение
задачи с использованием трассировочной таблицы.

5.     Модификация
задачи, устный анализ задачи.

6.     Итог
урока.

7.     Домашнее
задание.

1.
Орг. момент.

2.
Актуализация знаний.

(5
– 7 минут) На прошлых уроках мы приступили к изучению основ программирования,
вспомнили некоторые понятия из темы “Алгоритмизация”, познакомились с новыми.

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

1.     Что
такое величина?

2.     Чем
отличаются переменные и постоянные величины?

3.     Как
записывается команда присваивания?

Давайте
рассмотрим конкретные примеры – открыть файл презентации  (демонстрационные
слайды).

4.Сегодня
мы подробнее познакомимся с “Линейными вычислительными алгоритмами”.

Процесс
решения вычислительной задачи – процесс последовательного изменения значений
переменных. В итоге – в определенных переменных получается искомый результат.
Переменная величина получает значение в результате выполнения команды
присваивания или команды ввода.

Присваивание
является важнейшей операцией в алгоритмах, работающих с величинами, поэтому
остановимся на ней подробнее.

В основе линейных алгоритмов лежит структура «последовательность».
Покажем это на примерах.

Пример № 1

В своей книге «Арифметика» Леонтий
Филиппович Магницкий привел следующий способ отгадывания задуманного
двузначного числа: «Если кто задумает двузначное число, то ты скажи ему, чтобы
он увеличил число десятков задуманного числа в 2 раза, к произведению прибавил
бы 5 единиц, полученную сумму увеличил в 5 раз и к новому произведению прибавил
сумму 10 единиц и числа единиц задуманного числа, а результат произведенных
действий сообщил бы тебе. Если ты из указанного тебе результата вычтешь 35, то
узнаешь задуманное число».

Представим предлагаемые JI. Ф. Магницким действия в
виде алгоритма в словесной форме. В предлагаемом процессе должны участвовать
два человека: загадывающий число и отгадывающий его. Поэтому алгоритмов тоже
будет два.

Алгоритм для загадывающего число

image


1. Задумайте двузначное число. 
2. Умножьте число десятков на 2. 
3. К полученному произведению прибавьте 5. 
4. Полученную сумму умножьте на 5. 
5. К полученному произведению прибавьте 10. 
6. К полученной сумме добавьте количество единиц задуманного числа. 
7. Сообщите полученное число отгадывающему. Конец алгоритма

Алгоритм
для отгадывающего число
.
1. Отнимите от сообщенного числа 35. 
2. Сообщите результат. Конец алгоритма

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

Пример
№ 2.

Давайте решим
задачу
. У вас на партах лежат листы, где сформулирована задача №1.

Задача
1.

Написать
алгоритм вычисления у по формуле: y=1-x2+5x4,
где х – данное целое число. Учесть следующие ограничения:

1.     можно
использовать только операции сложения, умножения, вычитания;

2.     в
каждом выражении можно использовать только 1 операцию.

В
таблице запишите результат каждого действия (выполните трассировку) при х =
1; 2; 3.

1.     Что
дано? (значение х)

2.     Что
требуется найти? (значение у)

3.     Каков
тип этих величин?

4.     Сколько
переменных нам потребуется для решения задачи (как минимум 2)?

5.     Запишите
алгоритм на АЯ и составьте блок-схему.

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

действие

Ввод х

A:=x*x

B:=1-A

C:=A*A

D:=5*C

Y:=B-D

Вывод y

Выполним трассировку нашего
алгоритма, то есть подставим некоторые значения х и выполним действия. Например,
для х=1.

Обратите
внимание: пока переменной не присвоено конкретное значение, она остается
неопределенной!

Самостоятельно
выполните трассировку для х=2 и х=3 (самостоятельно на листочках).

5.
Усовершенствуем нашу задачу
 таким образом, чтобы
использовались лишь 2 переменные – х и у. Как это сделать?

действие

Ввод х

X:=X*X

Y:=1-X

X:=X*X

X:=5*X

Y:=Y+X

Вывод y

Новое
присвоенное значение переменной заменяет ее предыдущее значение!

Сделайте
трассировку для х=1 и х=2, проверьте, что результаты совпадают.

 Запишем
алгоритм на АЯ

алг1 Вычисление функции

цел x, y, a, b, c, d

нач

ввод x

a:=x*x

b:=1-a

c:=a*a

d:=5*c

y:=b+d

вывод y

кон

алг2 Вычисление функции

цел x, y

нач

ввод
x

x:=x*x

y:=1-x

x:=x*x

x:=5*x

y:=y+x

вывод
y

кон

Нарисуем
блок-схему для данной задачи

начало,a:=x*x,b:=1-x,c:=a*a

,d:=5*c

,y:=b+d

,конец

7. Сегодня
на уроке мы познакомились с линейным вычислительным алгоритмом. На следующем
уроке мы продолжим изучать линейный вычислительный алгоритм. А так же научимся
программировать задачи на языке Паскаль.

8.
Домашнее задание:
 в вашем учебнике §34 – линейный
вычислительный алгоритм. После §34 № 8 (аналогично № 1).

Линейный вычислительный
алгоритм на языке
Pascal.

К
моменту данного урока учащиеся знакомы со следующими понятиями: алгоритм, виды
алгоритмических конструкций, исполнитель, система команд, оператор ввода,
оператор вывода; имеют навыки составления несложных алгоритмов разных типов и
представления их на языке блок-схем, структура программы на
Pascale,
ввод данных с клавиатуры, вывод данных на экран.

Учебник:
И. Семакин и др. “Информатика.  9 (ФГОС)”, БИНОМ. Лаборатория знаний 2014 г.

Цели
урока.

1.      Закрепить
команду присваивания, оператор ввод на
Pascale , оператор вывода на Pascale,
построение трассировочной таблицы.

2.      Отработать
навыки работы с переменными, командой присваивания, операторами ввода/вывода.

3.      Отработать
навыки работы с трассировочной таблицей.

4.      Отработать
навыки составления линейных алгоритмов в виде блок-схем.

5.
Отработать навыки составления программ на языке
Pascal.

Оборудование
и материалы к уроку.

Демонстрационное
оборудование (мультимедийный проектор, экран), программное обеспечение:
средства просмотра презентаций, раздаточный материал, программа
ABC Pascal.

План
урока.

1.      Орг. момент.

2.      Актуализация знаний – обсуждение
домашнего задания, тренировочные упражнения.

3.      Решение задачи с использованием
трассировочной таблицы.

4.      Составление программы на языке Pascal.

5.      Тестирование программы.

8.      Домашнее задание

1.
Орг. момент.

2.
Актуализация знаний.

(5
– 7 минут) На прошлых уроках мы приступили к изучению основ программирования,
вспомнили некоторые понятия из темы “Алгоритмизация”, познакомились с новыми.

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

1.    
Что такое линейный алгоритм?

2.    
Что такое ввод?  Как записывается команда ввода?

3.     Что
такое вывод?  Как записывается команда вывода?

4.    
Сегодня на уроке мы вспомним, что такое линейный алгоритм и 
разберем, как записать задачу на языке
Pascal.

Разберем
задачу (демонстрационные слайды): Скорость первого автомобиля υ1 км/ч,
второго – υ2 км/ч, расстояние между ними
s км.
Какое расстояние будет между ними через
t ч, если автомобили движутся в разные стороны?  Требуется построить
математическую модель, нарисовать блок-схему, составить трассировочную таблицу
и написать программу.

Дано:

υ1 км/ч

υ2 км/ч

s км

t ч

Решение:

Согласно условию задачи искомое расстояние

s1  = s + (υ1 + υ2)t (если автомобили изначально двигались в противоположные
стороны) или
 (если автомобили
изначально двигались навстречу друг другу).

Найти:

s1,
s2

Построим
блок-схему для этой задачи:

начало
Ввод υ1, υ2, s, t,s1  = s + (υ1 + υ2)t,s_2= |(υ_1+υ_2 )t-s|,конец,Вывод s1, s_2

Построим
трассировочную таблицу:

υ1

υ2

s

t

s1

s2

Ввод υ1, υ2, s, t

1

2

3

4

s1  =
s + (υ1 + υ2)t

1

2

3

4

13

1

2

3

4

13

5

Вывод s1,

13

5

Напишем
программу на языке
Pascal.

program
Car;

var  υ1, υ2, s, t, s1, : real;

begin

    
writeln (‘введите скорости автомобилей, время и
расстояние’);

    
read (
υ1, υ2, s, t);

      
s1  = s + (
υ1 + υ2)*t;

      
s2= abs((υ12 )*t-s);

writeln (‘расстояние,
если автомобили изначально двигались в      противоположные стороны =  ’,
s1);

writeln (‘расстояние,
если автомобили изначально двигались навстречу друг другу =  ’,
s2);

end.

Результат:

введите
скорости автомобилей, время и расстояние

1

2

3

4

расстояние,
если автомобили изначально двигались в      противоположные стороны =  5

расстояние,
если автомобили изначально двигались навстречу друг другу = 13

5.    
Сегодня на уроке мы закрепили понятие о линейном вычислительном
алгоритме. Научились программировать задачи на языке
Pascal.

6.    
Домашнее задание: Задача. Найти
произведение цифр заданного четырехзначного числа. Записать математическую
модель, нарисовать блок-схему, составить трассировочную таблицу и написать
программу. Подготовить к самостоятельной работе на тему: «Линейный
вычислительный алгоритм».

Самостоятельная работа на тему: «Линейный вычислительный
алгоритм».

Вариант 1.

1.      На «3»: Определите
значение переменной с после выполнения следующего фрагмента программы,
составьте трассировочную таблицу:

а:= 7;

а:= а – 4;

b:=  – а;

c:=  – а + 2 * b;

2.      На «4»: Написать
программу для вычисления функции
z:

3.      На «5»: Составить
программу для вычисления  периметра прямоугольного треугольника по заданным
длинам двух катетов
a, b.

Вариант
№ 2.

1.      На «3»: Определите
значение переменной с после выполнения следующего фрагмента программы:

а:= 2;

b:= а + 4;

b:=  1 – b;

c:=  – b + 3 * a;

2.      На «4»:
Написать программу для вычисления функции
z:

3.      На «5»: Треугольник
задан координатами своих вершин (
x1, y1), (x2, y2) и (x3, y3). Вычислить
периметр треугольника.

Вариант
№ 3.

1.      На «3»: Определите
значение переменной с после выполнения следующего фрагмента программы:

а:= 5;

а:= а + 6;

b:=  – а;

c:=  а 2 * b;

2.      На «4»:
Написать программу для вычисления функции
z:

3.      На «5»: Даны
два действительных числа
x и y. Найти
средне арифметическое кубов этих кубов этих чисел.

Вариант
4.

1.      На «3»: Определите
значение переменной с после выполнения следующего фрагмента программы:

а:=  – 5;

а:= а – 4;

b:=  – а;

c:=  – а + 2 * b;

2.      На «4»:
Написать программу для вычисления функции
z:

3.     
На «5»: Многоугольник задан координатами
своих вершин (x1, y1), (x2, y2) (x3,
y3) и (x4, y4). Вычислить периметр
многоугольника.

Вариант
№ 5.

1.      На «3»: Определите
значение переменной с после выполнения следующего фрагмента программы:

а:=  – 3;

b:= а + 3;

b:=  1 – b;

c:=  – b + 3 * a;

2.      На «4»:
Написать программу для вычисления функции
z:

3.      На «5»: Дано
количество суток. Посчитать число часов, минут и секунд в данном количестве
суток. Использовать только одно переменную.

Вариант
№ 6.

1.      На «3»: Определите
значение переменной с после выполнения следующего фрагмента программы:

а:= 5;

b:= 55 * a;

b:=  –b/2 * a;

c:=d*2 + a;

2.      На «4»:
Написать программу для вычисления функции
z:

3.      На «5»: В
классе
n учеников.
По результатам контрольной работы получено
a двоек,
b троек,
c четверок,
остальные – пятерки. Вычислить процент оценок каждого типа

Вариант
7.

1.      На «3»: Определите
значение переменной с после выполнения следующего фрагмента программы:

b:= 16;

а:= 12 – a/4;

а:=  а + b * 3;

c:=(a – b)*2;

2.      На «4»:
Написать программу для вычисления функции
z:

3.      На «5»: От
двух пристаней одновременно навстречу друг другу отошли два катера и встретились
через
t часов.
Скорость одного из них равна
v1, скорость
другого –
v1 км/ч.
Найти расстояние между пристанями.

Напишите на А Я алгоритм вычисления у по формуле где х — заданное целое число.

Информатика 9 класс Семакин ФГОС

§ 10 Линейные вычислительные алгоритмы ГДЗ по Информатике 9 класс. Семакин


7. Напишите на А Я алгоритм вычисления у по формуле
где х — заданное целое число. Учтите следующие ограничения:

1) в арифметических выражениях можно использовать только операции сложения, вычитания и умножения;
2) каждое выражение может содержать только одну арифметическую операцию.
Выполните трассировку алгоритма при х = 2.

Ответ

Напишите на А Я алгоритм вычисления у по формуле где х — заданное целое число.


Добавить комментарий