Линейные алгоритмы примеры решения задач школьного курса с помощью линейных алгоритмов

Обновлено: 06.07.2024

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

Язык Turbo Pascal не накладывает никаких ограничений на харак­тер операторов, входящих в составной оператор. Среди них могут быть и другие составные операторы - Turbo Pascal допускает произвольную глубину их вложенности:

Фактически весь раздел операторов, обрамленный словами Ье-. end,представляет собой один составной оператор.

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

readи readln:

Процедура readlnаналогична предыдущей, отличие заключается в том, что ПОСЛЕ выполнения процедуры readlnкурсор на экране монитора переходит на новую строку.

Аналогично существует две формы процедуры вывода:

write (xl, x2 , хЗ. ) ;

В результате выполнения данной процедуры значения переменных xl, xl, хЗ. будут выведены на экран монитора. Если необходимо вывести на экран какой-либо текст, то внутри процедуры writeэтот текст записывается в апострофах:

Результат выполнения этих процедур:

writeln (xl, x2 , хЗ. ) ;

Процедура writelnаналогична процедуре write,отличие заключается в том, что ПОСЛЕ выполнения процедуры writelnкурсор переходит на одну строку вниз. Процедура writelnможет использоваться без каких-либо параметров - в этом случае после выполнения такой процедуры курсор просто перемещается на одну позицию вниз, гак, например, выполнение последовательности команд:

writeln; writeln; writeln; writeln; writeln;

приведет к тому, что курсор опустится на пять строк вниз.

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

х:=4; у:=3; writeln(* Значение выражения = ',x+sqr(y));

В процедурах вывода writeи writelnимеется возможность установить ширину поля вывода.

Если х, i и j — целочисленные переменные, а у — вещественная переменная, то вызов wri te(x: i, у: i) печатает значения х и у каждое в крайние правые позиции нолей шириной i.

Вызовом write (у: i: j)в крайние правые позиции поля шириной i символов выводится десятичное представление значения у в формате с фиксированной точкой, причем после десятичной точки выводится j цифр, представляющих дробную часть числа. |

Цель: сформировать умения оставления программ с использованием линейной структуры.

1.определите тип величины

Буква латинского алфавита

2. определите, к какой из частей программы относится данный фрагмент

3. Дана некоторая величина площадь пола комнаты равная 48м 2 . Определите




4.Данная программа находит площадь прямоугольника. Найдите ошибки и исправьте их.

Program ploshad;

Var a,b,s: real;

Write (‘введите ширину - ’)

Write (‘введите длину – ‘)

Writeln (‘площадь прямоугольника – ‘, s);

End

5. запишите команду присваивания переменной x значения выражения

6. Составьте программу для вычисления площади круга ( число π=3,14).

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

Урок № 50

Тема: Решение задач на составление линейных алгоритмов.

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

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

Решение задачи на компьютере — это процесс автоматического преобразования исходных данных в искомый результат в соответствии с заданным алгоритмом.

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

Этапы решения задач на компьютере.

1) Постановка задачи — необходимо четко определить цель задачи, дать словесное описание содержания задачи, выделить исходные данные для ее решения. Предложить общий подход к её решению, определиться какие результаты и в каком виде должны быть получены.

2) Построение математической модели — представление ее в виде формул, уравнений, соотношений, которые могут быть реализованы в компьютере.

3) Алгоритмизация — построение алгоритма.

4) Составление сценария работы на компьютере (этот этап мы пока будем опускать).

5) Написание задачи на языке программирования.

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

6) Отладка и тестирование программы.

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

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

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

7) Анализ полученных результатов.

Рассмотрим эти этапы на примере следующей задачи.

Человек делает в магазине покупки. Определите сколько денег у него останется после покупки в магазине перчаток стоимостью А руб., портфеля стоимостью B руб. и галстука стоимостью D руб. Все исходные данные задаются с клавиатуры.

1 этап. Постановка задачи

a — стоимость перчаток;

b — стоимость портфеля;

d — стоимост галстука;

dengi — количество денег у человека.

Все эти переменные будут вещественного типа.

ostatok — количество денег, которое останется у человек (вещественный тип).

2 этап. Построение математической модели (метод решения)

ostatok = dengi – a – b – d

3 этап. Алгоритмизация.

4 этап. Написание программы.

Program pokupka; Uses crt; Var a, b, d, den: real; ostatok: real; begin clrscr; write ('введите стоимость перчаток, портфеля и галстука '); readln (a, b, d); write ('введите количество имеющихся у вас денег '); readln (den); oststok := den – a – b – c; writeln ('после покупки у вас останется ', ostatok:5:2, 'руб. '); readln; end.

a = 500; b = 450; d = 320

ostatok = 1700 – 500 – 450 – 320 = 430

Набираем программу на компьютере и запускаем с данными заданными в тесте.

6 этап. Анализируем результат.

Решение задач

1) Даны длины сторон треугольника A, B, C. Найти площадь треугольника S. Составьте блок-схему алгоритма решения поставленной задачи.


2) Даны координаты вершин треугольника АВС. Найти его площадь. Составьте блок-схему алгоритма решения поставленной задачи.


3) В квадратной комнате шириной A и высотой B есть окно и дверь с размерами C на D и M на N соответственно. Вычислите площадь стен для оклеивания их обоями. Составьте блок-схему алгоритма решения поставленной задачи.


4) Дана величина A, выражающая объем информации в байтах. Перевести А в более крупные единицы измерения информации. Составьте блок-схему алгоритма решения поставленной задачи.


5) Вычислить путь, пройденный лодкой, если ее скорость в стоячей воде v км/ч, скорость течения реки v1 км/ч, время движения по озеру t1 ч, а против течения реки – t2 ч. Составьте блок-схему алгоритма решения поставленной задачи.


6) Вычислите значение функции Y при X=2, используя блок-схему алгоритма. Y = 2 РЕШЕНИЕ: 1. X = 2 2. Z = 8 * 2 = 16 3. Z = = 4 4. Z = 4 – 1 = 3 5. Y = 3 * 2 = 6 6. Y = 6 / 3 = 2


Домашнее задание:проработать теоретический материал и решить задачи.

Информатика и ИКТ, группа № 13

Урок № 49

Теоретический материал

Составной оператор (операторские скобки)

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

Язык Turbo Pascal не накладывает никаких ограничений на харак­тер операторов, входящих в составной оператор. Среди них могут быть и другие составные операторы - Turbo Pascal допускает произвольную глубину их вложенности:

Фактически весь раздел операторов, обрамленный словами Ье-. end,представляет собой один составной оператор.

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

readи readln:

Процедура readlnаналогична предыдущей, отличие заключается в том, что ПОСЛЕ выполнения процедуры readlnкурсор на экране монитора переходит на новую строку.

Аналогично существует две формы процедуры вывода:

write (xl, x2 , хЗ. ) ;

В результате выполнения данной процедуры значения переменных xl, xl, хЗ. будут выведены на экран монитора. Если необходимо вывести на экран какой-либо текст, то внутри процедуры writeэтот текст записывается в апострофах:

Результат выполнения этих процедур:

writeln (xl, x2 , хЗ. ) ;

Процедура writelnаналогична процедуре write,отличие заключается в том, что ПОСЛЕ выполнения процедуры writelnкурсор переходит на одну строку вниз. Процедура writelnможет использоваться без каких-либо параметров - в этом случае после выполнения такой процедуры курсор просто перемещается на одну позицию вниз, гак, например, выполнение последовательности команд:

writeln; writeln; writeln; writeln; writeln;

приведет к тому, что курсор опустится на пять строк вниз.

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

х:=4; у:=3; writeln(* Значение выражения = ',x+sqr(y));

В процедурах вывода writeи writelnимеется возможность установить ширину поля вывода.

Если х, i и j — целочисленные переменные, а у — вещественная переменная, то вызов wri te(x: i, у: i) печатает значения х и у каждое в крайние правые позиции нолей шириной i.

Вызовом write (у: i: j)в крайние правые позиции поля шириной i символов выводится десятичное представление значения у в формате с фиксированной точкой, причем после десятичной точки выводится j цифр, представляющих дробную часть числа. |

Цель: сформировать умения оставления программ с использованием линейной структуры.

1.определите тип величины

Буква латинского алфавита

2. определите, к какой из частей программы относится данный фрагмент

3. Дана некоторая величина площадь пола комнаты равная 48м 2 . Определите

4.Данная программа находит площадь прямоугольника. Найдите ошибки и исправьте их.

Program ploshad;

Var a,b,s: real;

Write (‘введите ширину - ’)

Write (‘введите длину – ‘)

Writeln (‘площадь прямоугольника – ‘, s);

End

5. запишите команду присваивания переменной x значения выражения

6. Составьте программу для вычисления площади круга ( число π=3,14).

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

Урок № 50

Тема: Решение задач на составление линейных алгоритмов.

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

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

Решение задачи на компьютере — это процесс автоматического преобразования исходных данных в искомый результат в соответствии с заданным алгоритмом.

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

Этапы решения задач на компьютере.

1) Постановка задачи — необходимо четко определить цель задачи, дать словесное описание содержания задачи, выделить исходные данные для ее решения. Предложить общий подход к её решению, определиться какие результаты и в каком виде должны быть получены.

2) Построение математической модели — представление ее в виде формул, уравнений, соотношений, которые могут быть реализованы в компьютере.

3) Алгоритмизация — построение алгоритма.

4) Составление сценария работы на компьютере (этот этап мы пока будем опускать).

5) Написание задачи на языке программирования.

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

6) Отладка и тестирование программы.

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

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

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

7) Анализ полученных результатов.

Рассмотрим эти этапы на примере следующей задачи.

Человек делает в магазине покупки. Определите сколько денег у него останется после покупки в магазине перчаток стоимостью А руб., портфеля стоимостью B руб. и галстука стоимостью D руб. Все исходные данные задаются с клавиатуры.

1 этап. Постановка задачи

a — стоимость перчаток;

b — стоимость портфеля;

d — стоимост галстука;

dengi — количество денег у человека.

Все эти переменные будут вещественного типа.

ostatok — количество денег, которое останется у человек (вещественный тип).

2 этап. Построение математической модели (метод решения)

ostatok = dengi – a – b – d

3 этап. Алгоритмизация.

4 этап. Написание программы.

Program pokupka; Uses crt; Var a, b, d, den: real; ostatok: real; begin clrscr; write ('введите стоимость перчаток, портфеля и галстука '); readln (a, b, d); write ('введите количество имеющихся у вас денег '); readln (den); oststok := den – a – b – c; writeln ('после покупки у вас останется ', ostatok:5:2, 'руб. '); readln; end.

a = 500; b = 450; d = 320

ostatok = 1700 – 500 – 450 – 320 = 430

Набираем программу на компьютере и запускаем с данными заданными в тесте.

6 этап. Анализируем результат.

Решение задач

1) Даны длины сторон треугольника A, B, C. Найти площадь треугольника S. Составьте блок-схему алгоритма решения поставленной задачи.


2) Даны координаты вершин треугольника АВС. Найти его площадь. Составьте блок-схему алгоритма решения поставленной задачи.


3) В квадратной комнате шириной A и высотой B есть окно и дверь с размерами C на D и M на N соответственно. Вычислите площадь стен для оклеивания их обоями. Составьте блок-схему алгоритма решения поставленной задачи.


4) Дана величина A, выражающая объем информации в байтах. Перевести А в более крупные единицы измерения информации. Составьте блок-схему алгоритма решения поставленной задачи.


5) Вычислить путь, пройденный лодкой, если ее скорость в стоячей воде v км/ч, скорость течения реки v1 км/ч, время движения по озеру t1 ч, а против течения реки – t2 ч. Составьте блок-схему алгоритма решения поставленной задачи.


6) Вычислите значение функции Y при X=2, используя блок-схему алгоритма. Y = 2 РЕШЕНИЕ: 1. X = 2 2. Z = 8 * 2 = 16 3. Z = = 4 4. Z = 4 – 1 = 3 5. Y = 3 * 2 = 6 6. Y = 6 / 3 = 2


Домашнее задание:проработать теоретический материал и решить задачи.

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

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

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

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

Решение задач на линейные алгоритмы

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

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

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

Задачи на линейные алгоритмы

Количество символов между двумя буквами алфавита. Определение буквы по ее номеру в алфавите

Пользователь вводит две буквы. Определить, на каких местах алфавита они стоят, и сколько между ними находится букв.

Пользователь вводит номер буквы в алфавите. Определить, какая это буква.

Найти длину гипотенузы

По двум введенным пользователем катетам вычислить длину гипотенузы.

Случайные числа и символы

Написать программу, которая генерирует в указанных пользователем границах

случайное целое число,

случайное вещественное число,

Для каждого из трех случаев пользователь задает свои границы диапазона. Например, если надо получить случайный символ от 'a' до 'f', то вводятся эти символы. Программа должна вывести на экран любой символ алфавита от 'a' до 'f' включительно.

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

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

Битовые операции над числами

Выполнить логические побитовые операции "И", "ИЛИ" и др. над числами 5 и 6. Выполнить над числом 5 побитовый сдвиг вправо и влево на два знака. Объяснить полученный результат.

Вывести уравнение прямой по координатам двух точек

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

Рассчитать выплаты по кредиту

Рассчитать месячные выплаты (m) и суммарную выплату (s) по кредиту.

О кредите известно, что он составляет n рублей, берется на y лет, под p процентов.

Вычисление площадей и периметров фигур

Вычислить площадь и периметр

треугольника по данным трем сторонам,

прямоугольника по данным ширине и высоте,

круга по заданному радиусу.

Длины сторон и радиус вводятся пользователем.

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

вывода данных в табличной форме (с выровненными столбцами),

вывода вещественных чисел с заданным количеством знаков после запятой.

Обмен значений численных переменных

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

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

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

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

1) Даны длины сторон треугольника A, B, C. Найти площадь треугольника S. Составьте блок-схему алгоритма решения поставленной задачи.



2
) Даны координаты вершин треугольника АВС. Найти его площадь. Составьте блок-схему алгоритма решения поставленной задачи.


3
) В квадратной комнате шириной A и высотой B есть окно и дверь с размерами C на D и M на N соответственно. Вычислите площадь стен для оклеивания их обоями. Составьте блок-схему алгоритма решения поставленной задачи.

4) Дана величина A, выражающая объем информации в байтах. Перевести А в более крупные единицы измерения информации. Составьте блок-схему алгоритма решения поставленной задачи.


5) Вычислить путь, пройденный лодкой, если ее скорость в стоячей воде v км/ч, скорость течения реки v1 км/ч, время движения по озеру t1 ч, а против течения реки – t2 ч. Составьте блок-схему алгоритма решения поставленной задачи.


6) Вычислите значение функции Y при X=2, используя блок-схему алгоритма. Y = 2 РЕШЕНИЕ: 1. X = 2 2. Z = 8 * 2 = 16 3. Z = = 4 4. Z = 4 – 1 = 3 5. Y = 3 * 2 = 6 6. Y = 6 / 3 = 2


7) По данной блок-схеме вычисления значения некоторой функции, восстановите условие задачи; напишите формулу вычисления значения функции.



8) По данной блок-схеме вычисления значения некоторой функции, восстановите условие задачи; напишите формулу вычисления значения функции.



Зарплата сотрудника рекламного агентства (в рублях) рассчитывается по формуле С=12000+250*n, где n – количество заключенных договоров в месяц. Составьте программу, которая рассчитывает зарплату сотрудника.

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

Составьте программу, которая рассчитывает массу, если известна потенциальная энергия и высота над Землей. g принять за10 м/с2

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

Для перевода значения температуры по шкале Цельсия (С) в шкалу по Фаренгейту (F) используют формулу F= 1,8С+32. Составьте программу, которая переводит температуру по шкале Фаренгейта в Цельсии

Зная длину окружности колеса автомобиля L можно определить пройденное расстояние автомобилем по формуле S=L*n, где n – количество оборотов. Составьте программу, которая запрашивает радиус колеса R и количество оборотов и рассчитывает пройденное расстояние.

Составьте программу вычисления площади круга, если известна длина окружности

1 метр ткани стоит S рублей. Составьте программу, которая вычитает в рублях стоимость L сантиметров ткани.

Ракета за 1 секунду пролетает L метров. За сколько минут ракета пролетит S километров?

Водяная мельница одним оборотом колеса дает х литров воды. Составить программу, которая определяет количество оборотов N, необходимых для получения V м3 . (м3 = 1000 л)





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

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


Рассмотрим задачу 1.

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

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


Даны длины двух катетов прямоугольного треугольника. Определить периметр этого треугольника.

Выходные данные: P=12





program zadacha3 ;

const Pi = 3.14159;

write (' введите радиус ');

writeln ('Длина окружности', L );

writeln (' Площадь круга ', S);


Пешеход шел по пересеченной местности. Его скорость движения по равнине v1 км/ч, в гору — v2 км/ч и под гору — v3 км/ч. Время движения соответственно t1, t2 и t3 ч. Какой путь прошел пешеход?

Program zadacha4;
Var v1,v2,v3,t1,t2,t3: real;
Begin
writeln ('Введите скорость v1, v2 и v3');
readln (v1,v2,v3);
writeln ('Введите время t1, t2 и t3');
readln (t1,t2,t3);
S1:=v1*t1;
S2:=v2*t2;
S3:=v3*t3;
S:=S1 + S2 + S3;
writeln ('Общий путь равен (км) =', S); readln;
End.







Вы здесь: Home Информатика Программирование Паскаль Примеры задач линейного алгоритма

Читайте также: