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

Перейти к контенту

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

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

Задание:

Определите значение переменной и после выполнения фрагмента алгоритма:

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

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

a b a < b ход решения a b
25 16 нет

a:= 25 — 4

b:= 16 + 2

21 18
21 18 нет

a:= 21 — 4

b:= 18 + 2

17 20
17 20 да a:= 20 — 1 19 20

Таким образом, переменная a = 19, переменная b = 20

Запишем с помощью языка программирования «Паскаль» программу для решения задачи по блок-схеме:

Program block_schema;
var
a,b:integer;
begin
a:=25;
b:=16;
 repeat
        a:= a - 4;
        b:= b + 2;
  until
    a < b;
a:=b-1;       
writeln('a= ',a);
writeln('b= ',b);
end.

Оператор цикла с постусловием repeat.

В данной программе используется оператор цикла с постусловием repeat.

 Repeat — это цикл, в котором условие стоит после тела . Причем оно выполняется тогда и только тогда, когда результат условия false; как только логическое выражение становится true, выполнение цикла прекращается.Между словами REPEAT (повторить) и UNTIL(до тех пор, пока) можно записать любое количество операторов без использования операторных скобок.
В отличие от оператора WHILE вычисление логического выражения происходит не до, а после очередного повторения цикла. Из-за этого цикл REPEAT обязательно выполнится хотя бы раз, а цикл WHILE может не выполнится ни разу. Если условие в цикле ПОКА является условием продолжения повторений, то условие в цикле ДО — условием выхода из цикла, его завершения. Поэтому для одной и той же задачи эти условия противоположны.

Выполняется группа операторов до тех пор, пока не будет выполнено условие a < b.

Оператор цикла с постусловием repeat

Оператор цикла с постусловием repeat

Foxford

Блок-схема

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

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

Блок-схема — графическое представление алгоритма. Она состоит из функциональных блоков, которые выполняют различные назначения (ввод/вывод, начало/конец, вызов функции и т.д.).

Существует несколько основных видов блоков, которые нетрудно запомнить:

Некоторые виды блоков

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

Задача №1: «Рассчитать площадь и периметр прямоугольника по двум известным сторонам».

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

Составим алгоритм решения подобных задач:

1) Прочитать задачу.
2) Выписать известные и неизвестные нам переменные в «дано». (В задаче №1 к известным переменным относятся стороны: a, b ;к неизвестным — площадь S и периметр P)
3) Вспомнить либо составить необходимые формулы. (У нас: S=a*b; P=2*(a+b))
4) Составить блок-схему.
5) Записать решение на языке программирования Pascal.

Запишем условие в более кратком виде.

Дано: a, b

Найти: S, P

Блок-схема:

Решение задачи №1. Блок-схема

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

Структура программы, решающей данную задачу, тоже проста:

  • 1) Описание переменных;
  • 2) Ввод значений сторон прямоугольника;
  • 3) Расчет площади прямоугольника;
  • 4) Расчет периметра прямоугольника;
  • 5) Вывод значений площади и периметра;
  • 6) Конец.

А вот и решение:

Program Rectangle;
Var a, b, S, P: integer;
Begin
write('Введите стороны прямоугольника!'); 
readln(a, b);
S:=a*b;
P:=2*(a+b);
writeln('Площадь прямоугольника: ', S);
write('Периметр прямоугольника: ', P);
End.

Задача №2: Скорость первого автомобиля — V1 км/ч, второго – V2 км/ч, расстояние между ними S км. Какое расстояние будет между ними через T часов, если автомобили движутся в разные стороны? Значения V1, V2, T  и S задаются с клавиатуры.

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

Дано: V1, V2, S, Т
Найти: S1

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

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

S1=(V1+V2)*T+S

Следующий пункт алгоритма – блок-схема:

Решение задачи №2.Блок-схема

Решение задачи №2.

А также решение, записанное в Pascal :

Program Rasstoyanie;
Var V1, V2, S, T, S1: integer; {Ввод }
begin
write('Введите скорость первого автомобиля: '); 
readln(V1);
write('Введите скорость второго автомобиля: '); 
readln(V2);
write('Введите время: '); 
readln(T);
write('Введите расстояние между автомобилями: '); 
readln(S);
S1:=(V1+V2)*T+S;
writeln('Через ', t,'ч. расстояние ', S1,' км.');
End.

Вам может показаться, что две эти программы правильны, но это не так. Ведь сторона треугольника может быть 4.5, а не 4, а скорость машины не обязательно круглое число!  А Integer — это только целые числа. Поэтому при попытке написать во второй программе другие числа выскакивает ошибка:

Ошибка!

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

Чтобы решить эту проблему вам надо вспомнить какой тип в Pascal отвечает за нецелые числа. В этом уроке мы рассматривали основные типы. Итак, это вещественный тип — Real.  Вот, как выглядит исправленная программа:

Снимок экрана 2013 12 15 в 20.00.24 1024x545

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

Алгоритмизация и программирование являются
одной из трудных для понимания учащимися тем в
предмете информатика, а при наличии дефицита
часов, выделяемых на изучение предмета, перед
учителем встает довольно сложная задача «Как
познакомить хотя бы с основами программирования
всех учащихся, в том числе и непрофильных
классов?». Между тем, как мы видим и в новых
стандартах и в демо-версии ЕГЭ по информатике эта
тема занимает существенное место. Предлагаемые
ниже материалы помогают познакомить ребят с
основными алгоритмическими конструкциями и
реализацией их на языке программирования
Паскаль и дать начальное представление о языке.
Заинтересовавшиеся учащиеся могут в дальнейшем
продолжить изучение языка программирования на
спецкурсе.

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

Начальная подготовка учащихся.

  • Знание основных алгоритмических конструкций:
    линейный алгоритм, ветвление, цикл.
  • Знание основных типов переменных.
  • Знание структуры программы на Паскале.

Ход урока.

Перед каждым уроком учитель раскладывает на
столах «Папки ученика», в которых находятся
листы с заданиями, таблица «Реализация элементов
блок – схемы алгоритма на языке Паскаль»,
«Алгоритм создания программы по шаблону» и
другой справочный материал. Если
предполагается создание программы по шаблону,
т.е. ученики редактируют уже имеющуюся программу,
то соответствующий файл *.pas с текстом программы
должен находится на жестком диске в
соответствующем каталоге.

Для знакомства с реализацией алгоритмической
конструкции средствами языка используется сайт http://schools.keldysh.ru/gym1522/inform/pascal/ (см. Приложение1)

Обсуждается задание, проговаривается сценарий,
составляется блок-схема алгоритма.

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

В качестве заданий на ветвление и циклы взяты
задачи по физике, так как программирование
изучается на уроках интегрированного с физикой
курса «Компьютерное моделирование физических
процессов и явлений» в 9 классе.

Описание приложений.

  • Адрес сайта «Паскаль для начинающих» — http://schools.keldysh.ru/gym1522/inform/pascal/ Немного
    сокращенный вариант находится в архиве (Приложение1.zip). Сайт выполнен
    с использованием флэш-технологии, позволяет в
    анимационной форме дать начальное представление
    о языке Паскаль 7.0 Для демонстрации надо
    разархивировать в каталог на жестком диске.
    Главная страница сайта – index.html
  • Тексты программ для создания программ по
    шаблону – файлы Приложение2.pas и Приложение3.pas. Их
    надо переименовать в Shablon1.pas и Shablon2.pas и поместить
    в соответствующий каталог на диске.

Использованная литература дана в Приложении 1
на сайте в разделе «ссылки».

Реализация элементов блок – схемы
алгоритма на языке Паскаль.

Элемент блок
схемы

В программе

Действия

img1.gif (1061 bytes)

BEGIN

Начало работы
программы
(служебное слово)

img2.gif (1041 bytes)

END.

Конец работы
программы
(служебное слово)

img3.gif (1387 bytes)

WRITE (‘A,B)

На экране появляется надпись:
введите A, B
(оператор вывода данных)
img4.gif (1227 bytes)

WRITE (C)

На экране появляется значение
переменной
C.
(оператор вывода данных)
img5.gif (1246 bytes)

WRITE (‘результат=’,S)

На экране появляется текст результат=
и значение переменной S.
(оператор вывода данных)
img6.gif (1087 bytes)

READ (X,Y)

Надо вводить два числа с
клавиатуры
(оператор ввода данных)
 img7.gif (1149 bytes) C:=4*T ;
D:=A+B;
I:=I+1;
После выполнения операторов,
переменным присваиваются следующие значения:
C=4T,
D=A+B, I=I+1
(операторы присваивания)
img8.gif (1358 bytes) IF A>B THEN

BEGIN
ОП.1
END

ELSE


BEGIN
ОП.2
END

Если условие A>B верно,
то выполняется группа операторов
ОП.1, в
противном случае – группа операторов
ОП.2
(условный оператор)
img9.gif (1383 bytes) WHILE I<=N DO

BEGIN
ОП.1
END

Пока будет выполнено I? N, выполняется
группа операторов
ОП.1
(оператор цикла с предусловием, ОП.1 – тело
цикла)
img10.gif (1351 bytes) REPEAT
ОП.1
UNTIL I>N
Выполняется группа опера-торов
ОП.1 до тех пор, пока не будет выполнено
условие
I>N.
(оператор цикла с постусловием, ОП.1 – тело
цикла)
img11.gif (1323 bytes) FOR I:=1 TO N DO


BEGIN
ОП.1
END

Для каждого I от 1
до
N выполняется группа операторов ОП.1

(оператор цикла с параметром, I – параметр цикла)

Линейный алгоритм. Простейшая
программа (ввод/вывод данных, вычисление суммы,
разности, произведения и частного двух чисел).

Задание

Написать программу, которая

  • знакомится с пользователем (на появившееся на
    экране сообщение пользователь вводит свое имя, и
    на экране появляется «приветствие» от
    компьютера с именем пользователя);
  • находит сумму (разность, произведение или
    частное) введенных с клавиатуры двух чисел);
  • выводит результат на экран.

Примерный вид экрана при работе

  Введите свое
имя  Вася
Привет, Вася
Введите 2 числа 2 6
Сумма чисел равна 8
 

Для выполнения задания можно использовать
приведенный ниже текст программы или заранее
подготовленный учителем файл Shablon1.pas (файл Приложение2.pas) с текстом
программы, который находится в каталоге CLASS (там
же находятся личные папки учащихся). Ученик
проставляет вместо вопросительных знаков
необходимые операторы и служебные слова.
Комментарии в фигурных скобках поясняют, что
необходимо сделать. Программа состоит из двух
частей. В первой части программы демонстрируется
использование операторов ввода и вывода, во
второй, после комментария {ЗАДАНИЯ}, ученику надо
самому записать необходимые операторы,
используя приведенную выше блок-схему и
комментарии в программе. Алгоритм создания
программы по шаблону дан ниже.

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

PROGRAM P1;

{Объявление переменной S для ввода имени, надо
указать тип переменной — строковый}

VAR S: ???? ;

{Объявление переменных A и B для ввода чисел,
надо указать тип переменных — целые числа со
знаком}

VAR A,B: ???? ;

{Объявление переменной C для вывода результата,
надо указать тип переменной — все действительные
числа}

VAR C: ???? ;

{Начало раздела инструкций}

BEGIN

{Оператор вывода на экран сообщения (просьба
ввести имя)}

WRITE (‘Введите свое имя’);

{Оператор ввода данных (значение переменной S =
имя пользователя)}

READLN (S);

{Вывод на экран сообщения (приглашения к работе)
– слово «Привет» и значение переменной S
(введенное пользователем имя)}

WRITELN (‘Привет, ‘, S);

{ЗАДАНИЯ:}

{1)Запишите оператор вывода на экран
приглашения к вводу 2 чисел (переменные A и В)}

???????

{2) Запишите оператор ввода для переменных A и В}

???????

{3) Запишите оператор присваивания для
вычисления значения переменной С (сумма,
разность, произведение, частное двух чисел)}

C:=?????;

{4) Запишите оператор вывода на экран результата
вычислений (сумма (разность, произведение,
частное) = <значение переменной>}

????????

{Конец программы, конец раздела инструкций}

END.

Ветвление. Моделирование
равномерного прямолинейного движения двух тел.

Задания

Построить компьютерную модель движения двух
тел.

I. Найти скорость сближения (удаления) 2-х
тел.

Рассмотреть случаи:

1. Тела двигаются в одном направлении.

2. Тела двигаются в противоположных
направлениях.

  • Скорости вводятся с клавиатуры после вывода на
    экран соответствующего приглашения.
  • Направление движения каждого тела задаются
    буквами (L – влево, R – вправо)

Примерный вид экрана при работе

  Введите скорость 1
тела 10

Введите скорость 2 тела 5

Введите направление 1 тела L

Введите направление 2 тела R

Скорость равна 15

 
II. Добавить ввод начальных
координат тел и определить сближаются или
отдаляются тела.

III. Определить расстояние
между телами через время t (ввести с клавиатуры).

IV. Выводить на экран текущие координаты тел.

V. Выводить на экран картину движения тел.

Примечания:

  • блок-схема и заготовка для программы даны для I;
  • II, III – повышенного уровня;
  • IV, V – после изучения темы «Циклы».

Текст программы на ветвление

PROGRAM P2;

{Объявление переменных V1, V2 и V для значений
скоростей, тип переменных — целые числа со знаком
}

VAR V1, V2, V: ??? ;

{Объявление переменных A1 и A2 для значений
направлений, значения переменных — символы}

VAR A1, A2: ??? ;

{Начало раздела инструкций}

BEGIN

{Оператор вывода на экран сообщения (просьба
ввести скорость первого тела)}

WRITE (‘Введите скорость 1 тела’);

{Оператор ввода данных (значение переменной V1)}

READLN (V1);

{Тоже для второго тела}

?????????????

?????????????

{Аналогично осуществить ввод направлений
движения}

WRITE (‘Введите направление 1 тела’ );

READLN (A1);

?????????????

?????????????

{Условный оператор: проверка условия
равенства значений переменных A1 и A2}

IF A1 = A2 THEN V := V1 — V2 ELSE V := V1 + V2;

{Определение модуля вектора ABS – функция
вычисление абсолютной величины}

V:=ABS(V);

{Оператор вывода на экран результата
вычислений }

????????

{Конец программы, конец раздела инструкций}

END.

Текст программы находится в файле Приложение3.pas (в кодировке MS
DOS). Его надо переименовать в Shablon2.pas и можно
использовать при создании программы по шаблону
(см. алгоритм ниже).

Алгоритм создания программы по
шаблону.

1. Войти в систему программирования Turbo Pascal 7.0.

2. Открыть файл ShablonK.pas (K — номер шаблона):

2.1. File -> Open

2.2. Перейти в каталог CLASS (в списке Files
выбрать ..)

2.3. Выбрать файл ShablonK.pas (K — номер шаблона)

2.4. Подтвердить выбор (Open)

3. Выполнить задание, заменяя ????.

4. Сохранить файл в своем каталоге:

4.1. (File -> Save as)

4.2. Убедится, что находитесь в своем каталоге
(нижняя строчка)

4.3. Ввести имя файла

4.4. Подтвердить сохранение (Ok)

5. Запустить программу (Run -> Run или Ctrl+F9)

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

7. Просмотреть результат выполнения программы (Debug
User Screen
или Alt+F5)

8. Сохранить файл (File -> Save или F2)

9. Выйти из системы программирования (File ->
Exit
или Alt+X
)

Для циклического алгоритма уже текст программы
не дается. Учащиеся должны сами составить
программу по блок – схеме.

Циклы. Моделирование
равноускоренного движения.

Задания

Построить модель равноускоренного движения
тела (X=X0+V0t+At2/2).

I.. Тело двигается по прямой. Выводить на
экран координату тела через каждые 10 секунд
движения.

Исходные данные (задаются с клавиатуры):

1. Начальная скорость тела (V0, м/с).

2. Ускорение тела со знаком (A, м/с2).

3. Начальное положение тела (X0, м).

4. Время движения (TK, с).

Расчетные данные (выводятся на экран):

1. Текущее положение тела (X, м).

2. Текущее время движения (T, с).



Примерный вид экрана при работе

  Введите
скорость тела 10

Введите ускорение тела 2

Введите нач. положение тела 0

Введите время движения тела 200

T = 0 X = 0

T = 10 X = 200

T = 20 X = 600

………..

T = 200 X = 42000

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

III. Организовать ввод/вывод
данных в других единицах (км, км/час, час) с
пересчетом в программе.

Примечание: блок-схема и фрагменты программы
даны для задания
I.

Реализация блока
расчета и вывода на экран времени движения и
положения тела

Цикл с предусловием

Цикл с постусловием Цикл с параметром
img15.gif (2495 bytes) img16.gif (2496 bytes) img17.gif (2544 bytes)
x:=x0;

t:=0;

While T <= TK do

begin

X:=X0+V0*T+A*T*T/2;

Writeln (‘T = ‘,T,’ X = ‘,X);

T:=T+10; end;

X:=X0;

T:=0;

Repeat

X:=X0+V0*T+A*T*T/2;

Writeln (‘T = ‘,T,’ X = ‘,X);

T:=T+10;

Until T>=TK;

X:=X0; T:=0; N:=Trunc(TK/10);

For i:=0 to N do

begin

T:=i*10;

X:=X0+V0*T+A*T*T/2;

Writeln (‘T = ‘,T,’ X = ‘,X);

end;

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

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

Блок-схема — графическое представление алгоритма. Она состоит из функциональных блоков, которые выполняют различные назначения (ввод/вывод, начало/конец, вызов функции и т.д.).

Существует несколько основных видов блоков, которые нетрудно запомнить:

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

Задача №1: «Рассчитать площадь и периметр прямоугольника по двум известным сторонам».

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

Составим алгоритм решения подобных задач:

1) Прочитать задачу.
2) Выписать известные и неизвестные нам переменные в «дано». (В задаче №1 к известным переменным относятся стороны: a, b ;к неизвестным — площадь S и периметр P)
3) Вспомнить либо составить необходимые формулы. (У нас: S=a*b; P=2*(a+b))
4) Составить блок-схему.
5) Записать решение на языке программирования Pascal.

Запишем условие в более кратком виде.

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

Структура программы, решающей данную задачу, тоже проста:

  • 1) Описание переменных;
  • 2) Ввод значений сторон прямоугольника;
  • 3) Расчет площади прямоугольника;
  • 4) Расчет периметра прямоугольника;
  • 5) Вывод значений площади и периметра;
  • 6) Конец.

А вот и решение:

Задача №2: Скорость первого автомобиля — V1 км/ч, второго – V2 км/ч, расстояние между ними S км. Какое расстояние будет между ними через T часов, если автомобили движутся в разные стороны? Значения V1, V2, T и S задаются с клавиатуры.

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

Дано: V1, V2, S, Т
Найти: S1

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

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

Следующий пункт алгоритма – блок-схема:

Решение задачи №2.

А также решение, записанное в Pascal :

Вам может показаться, что две эти программы правильны, но это не так. Ведь сторона треугольника может быть 4.5, а не 4, а скорость машины не обязательно круглое число! А Integer — это только целые числа. Поэтому при попытке написать во второй программе другие числа выскакивает ошибка:

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

Чтобы решить эту проблему вам надо вспомнить какой тип в Pascal отвечает за нецелые числа. В этом уроке мы рассматривали основные типы. Итак, это вещественный тип — Real. Вот, как выглядит исправленная программа:

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

Здесь понятней чем в школе.

мля… прикиньте, я узнал про этот сайт только ПОСЛЕ того как сделал программу с условием, узнавая все в инструкции

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

Взять строку введенную пользователем, заменить «,» на «.».
Если совсем гуглить не умеете, то вам сюда — http://www.cyberforum.ru/pascal/thread190664.html

>> скорость машины не обязательно круглое число!

Нет такого понятия, как «круглое число».

Обе ваши блок-схемы не соответствуют ГОСТу (сдать такие на курсовой проект не получится). ГОСТ определяет блоки начала и конца, как «прямоугольник со скругленными краями», а не «скругленными углами».

>> умение правильно и быстро составлять схемы является фундаментом, основой программирования.

Большинство программистов так не считает. Кроме того, попробуйте поспрашивать у программистов «когда они последний раз составляли блок-схему?» — окажется что в ВУЗе (когда с них зачем-то сдирали знание ГОСТа).

>> так как составление блок-схем не только очень простое и быстрое, но и весьма увлекательное занятие.

Очень сложное, долгое и бесполезное занятие. Для хоть сколько-нибудь большой программы (в тысячу строк хотя бы, как курсак) блок-схемы будут огромные и их будут десятки. А что делать если они перестают соответствовать коду? — вот даже в вашей первой задаче надо будет добавить проверку, что юзер не ввел отрицательные значения сторон, что делать? — исправления кода займут 1 минуту, а исправление блок-схем 10 минут, и зачем тогда этим заниматься?

Программист не должен писать блок-схемы (он их должен читать и понимать и при необходимости исправлять). Блок-схемы это графический язык общения, который понимает как программист, так и не программист. Чтобы пользователь не общался с программистом своими «хотелками», типа я хочу, чтобы вот это правильно считалось, и это число складывалось с этим, а потом выводилось сюда (или вообще говорил — хочу что бы работало), а рисовал все в виде блок-схем с четким алгоритмом. Тогда по идее у программиста будет понимание того, что от него хотят (и он через пять минут не забудет все что ему сказали). Либо, когда общаются два программиста пишущих на разных языках программирования (LISP и Java) и одному нужно объяснить как работает его код, что бы другой переписал его на другом языке.
Как объяснить преподавателю как работает программа, если преподаватель не знает языка программирования на котором написана ваша программа? Или как преподавателю объяснить алгоритм задачи студентам пишущим и реализующим этот алгоритм или программу на разных языках программирования? Нужен какой-то универсальный язык общения и обычно это просто текст «что нужно сделать» на русском языке, а не намного облегчающая жизнь программиста блок-схема.
Вам могут сказать — сделай модуль авторизации (ты же знаешь как, ну как всегда и как везде), а могут нарисовать блок-схему модуля авторизации с учетом всех пожеланий, типа того, что пароль должен содержать не менее 6 символов и что нужно делать в противном случае т.д. То есть блок схему должен уметь рисовать тот кто ставит задачу, а не программист. Либо программист (архитектор либо менеджер проекта), который ставит задачу другим программистам.

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

Блок схемы всей программы могут не понадобиться. Это же тонны бумаги и много времени. И да, они устаревают и актуализировать их трудоёмко.
Но при обсуждении новых вариантов решения задачи с другими программистами удобно оперировать блоками с криво-косо нарисованными краями и линиями. Начертил на бумаге или доске и все понятно.
На практике я встречал фотографии доски с блок-схемами, прикреплённые к задачам в Jira.
Не по ГОСТу 🙂

Спасибо, теперь я напишу программу, которая делает код по блок схеме и наоборот

program Logarifm;
Var
X,y,z:real;
function Lgrfm(A,B:Real):Real;
var
Osn:Real;
begin
Osn:=ln(A)/ln(B);
Lgrfm:=Osn;
end;
begin
Write(‘Введите X = ‘);
ReadLn(X);
Write(‘Введите Y = ‘);
ReadLn(Y);
Z:=Lgrfm(X,2)+Lgrfm(Y,3);
WriteLn(‘Z = ‘,Z:10:3);
ReadLn;
end.

Отличный сайт, мне все нравится все понятно и четко, нашел нужные программы.

В блок-схемах начало и конец алгоритма обозначаются не прямоугольником со скруглёнными краями, а овалом!

Алгоритмизация и программирование являются одной из трудных для понимания учащимися тем в предмете информатика, а при наличии дефицита часов, выделяемых на изучение предмета, перед учителем встает довольно сложная задача «Как познакомить хотя бы с основами программирования всех учащихся, в том числе и непрофильных классов?». Между тем, как мы видим и в новых стандартах и в демо-версии ЕГЭ по информатике эта тема занимает существенное место. Предлагаемые ниже материалы помогают познакомить ребят с основными алгоритмическими конструкциями и реализацией их на языке программирования Паскаль и дать начальное представление о языке. Заинтересовавшиеся учащиеся могут в дальнейшем продолжить изучение языка программирования на спецкурсе.

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

Начальная подготовка учащихся.

  • Знание основных алгоритмических конструкций: линейный алгоритм, ветвление, цикл.
  • Знание основных типов переменных.
  • Знание структуры программы на Паскале.

Перед каждым уроком учитель раскладывает на столах «Папки ученика», в которых находятся листы с заданиями, таблица «Реализация элементов блок – схемы алгоритма на языке Паскаль», «Алгоритм создания программы по шаблону» и другой справочный материал. Если предполагается создание программы по шаблону, т.е. ученики редактируют уже имеющуюся программу, то соответствующий файл *.pas с текстом программы должен находится на жестком диске в соответствующем каталоге.

Для знакомства с реализацией алгоритмической конструкции средствами языка используется сайт http://schools.keldysh.ru/gym1522/inform/pascal/ (см. Приложение1)

Обсуждается задание, проговаривается сценарий, составляется блок-схема алгоритма.

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

В качестве заданий на ветвление и циклы взяты задачи по физике, так как программирование изучается на уроках интегрированного с физикой курса «Компьютерное моделирование физических процессов и явлений» в 9 классе.

Описание приложений.

  • Адрес сайта «Паскаль для начинающих» — http://schools.keldysh.ru/gym1522/inform/pascal/ Немного сокращенный вариант находится в архиве (Приложение1.zip). Сайт выполнен с использованием флэш-технологии, позволяет в анимационной форме дать начальное представление о языке Паскаль 7.0 Для демонстрации надо разархивировать в каталог на жестком диске. Главная страница сайта – index.html
  • Тексты программ для создания программ по шаблону – файлы Приложение2.pas и Приложение3.pas. Их надо переименовать в Shablon1.pas и Shablon2.pas и поместить в соответствующий каталог на диске.

Использованная литература дана в Приложении 1 на сайте в разделе «ссылки».

Реализация элементов блок – схемы алгоритма на языке Паскаль.

Элемент блок схемы

В программе

Действия

BEGIN

Начало работы программы
(служебное слово)

Конец работы программы
(служебное слово)

WRITE (‘A,B)

На экране появляется надпись: введите A, B
(оператор вывода данных)

WRITE (C)

На экране появляется значение переменной C.
(оператор вывода данных)

WRITE (‘результат=’,S)

На экране появляется текст результат= и значение переменной S.
(оператор вывода данных)

READ (X,Y)

Надо вводить два числа с клавиатуры
(оператор ввода данных) C:=4*T ;
D:=A+B;
I:=I+1;
После выполнения операторов, переменным присваиваются следующие значения: C=4T, D=A+B, I=I+1 (операторы присваивания) IF A>B THEN Если условие A>B верно, то выполняется группа операторов ОП.1, в противном случае – группа операторов ОП.2 (условный оператор) WHILE I N Выполняется группа опера-торов ОП.1 до тех пор, пока не будет выполнено условие I>N.
(оператор цикла с постусловием, ОП.1 – тело цикла) FOR I:=1 TO N DO Для каждого I от 1 до N выполняется группа операторов ОП.1
(оператор цикла с параметром, I – параметр цикла)

Линейный алгоритм. Простейшая программа (ввод/вывод данных, вычисление суммы, разности, произведения и частного двух чисел).

Написать программу, которая

  • знакомится с пользователем (на появившееся на экране сообщение пользователь вводит свое имя, и на экране появляется «приветствие» от компьютера с именем пользователя);
  • находит сумму (разность, произведение или частное) введенных с клавиатуры двух чисел);
  • выводит результат на экран.

Примерный вид экрана при работе

Введите свое имя Вася
Привет, Вася
Введите 2 числа 2 6
Сумма чисел равна 8

Для выполнения задания можно использовать приведенный ниже текст программы или заранее подготовленный учителем файл Shablon1.pas (файл Приложение2.pas) с текстом программы, который находится в каталоге CLASS (там же находятся личные папки учащихся). Ученик проставляет вместо вопросительных знаков необходимые операторы и служебные слова. Комментарии в фигурных скобках поясняют, что необходимо сделать. Программа состоит из двух частей. В первой части программы демонстрируется использование операторов ввода и вывода, во второй, после комментария <ЗАДАНИЯ>, ученику надо самому записать необходимые операторы, используя приведенную выше блок-схему и комментарии в программе. Алгоритм создания программы по шаблону дан ниже.

Идёт приём заявок

Подать заявку

Для учеников 1-11 классов и дошкольников

Язык программирования Паскаль. Блок-схемы.

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

Блок-схема — графическое представление алгоритма. Она состоит из функциональных блоков, которые выполняют различные назначения (ввод/вывод, начало/конец, вызов функции и т.д.).

Существует несколько основных видов блоков, которые необходимо запомнить:

Легче всего показать разработку блок-схемы на примере линейного алгоритма.

Для этого рассмотрим задачу:

Задача №1: «Рассчитать площадь и периметр прямоугольника по двум известным сторонам».

Составим алгоритм решения подобных задач:

1) Прочитать задачу.
2) Выписать известные и неизвестные нам переменные в «дано».

(В задаче №1 к известным переменным относятся стороны: a,b ;к неизвестным — площадь S и периметр P)
3) Вспомнить либо составить необходимые формулы. (У нас: S=a*b; P=2*(a+b)
4) Составить блок-схему.
5) Записать решение на языке программирования Pascal.

Запишем условие в более кратком виде.

Блок-схема:

Структура программы, решающей данную задачу, тоже проста:

1) Описание переменных;

2) Ввод значений сторон прямоугольника;

3) Расчет площади прямоугольника;

4) Расчет периметра прямоугольника;

5) Вывод значений площади и периметра;

А вот и решение:

writeln( ‘Введите стороны прямоугольника!’ );

writeln( ‘Площадь прямоугольника: ‘ ,S);

write( ‘Периметр прямоугольника: ‘ ,P);

(Обратите внимание, если бы вы использовали тип integer , а не real , то при введении дробных чисел, у вас возникала бы ошибка)

Задание для самостоятельного решения(Нарисовать блок-схему, написать решение задачи в ПАСКАЛЕ):

Задача №2: Скорость первого автомобиля — V1 км/ч, второго – V2 км/ч, расстояние между ними S км. Какое расстояние будет между ними через T часов, если автомобили движутся в разные стороны? Значения V1, V2, T и S задаются с клавиатуры.

Даю подсказку: Для нахождения S 1 , вам необходимо воспользоваться следующей формулой : S1=(V1+V2)*T+S

write( ‘Введите скорость первого автомобиля: ‘ );

write( ‘Введите скорость второго автомобиля: ‘ );

write( ‘ Введите время : ‘ );

write( ‘Введите расстояние между автомобилями: ‘ );

writeln( ‘Через ‘ ,t, ‘ч. расстояние ‘ ,S1, ‘ км.’ );

  • Килочко Алиса ВитальевнаНаписать 3304 17.04.2016

Номер материала: ДБ-037824

    17.04.2016 518
    17.04.2016 1578
    17.04.2016 510
    17.04.2016 492
    17.04.2016 445
    17.04.2016 721
    17.04.2016 219

Не нашли то что искали?

Вам будут интересны эти курсы:

Все материалы, размещенные на сайте, созданы авторами сайта либо размещены пользователями сайта и представлены на сайте исключительно для ознакомления. Авторские права на материалы принадлежат их законным авторам. Частичное или полное копирование материалов сайта без письменного разрешения администрации сайта запрещено! Мнение редакции может не совпадать с точкой зрения авторов.

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

Язык программирования Паскаль. Блок-схемы.

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

Блок-схема — графическое
представление алгоритма. Она состоит из функциональных блоков, которые
выполняют различные назначения (ввод/вывод, начало/конец, вызов функции и
т.д.).

Существует несколько основных видов блоков, которые необходимо 
запомнить:

Некоторые виды блоков

Легче всего показать разработку блок-схемы
на примере линейного алгоритма.

Для этого рассмотрим задачу:

Задача №1: «Рассчитать
площадь и периметр прямоугольника по двум известным сторонам».

Составим алгоритм решения подобных задач:

1) Прочитать задачу.
2) Выписать известные и неизвестные нам переменные в «дано».

(В задаче №1 к известным переменным относятся стороны: a,b ;к
неизвестным — площадь S и периметр P)
3) Вспомнить либо составить необходимые формулы. (У нас:  S=a*b;  P=2*(a+b)
4) Составить блок-схему.
5) Записать решение на языке программирования Pascal.

Запишем условие в более кратком
виде.

Дано: a,b

Найти: S,P

Блок-схема:
Решение задачи №1. Блок-схема

Структура программы, решающей
данную задачу, тоже проста:

  • 1) Описание переменных;
  • 2) Ввод значений сторон
    прямоугольника;
  • 3) Расчет площади
    прямоугольника;
  • 4) Расчет периметра
    прямоугольника;
  • 5) Вывод значений площади и
    периметра;
  • 6) Конец.

А вот и решение:

Program Rectangle;

Var a,b,S,P: real;

Begin

writeln(‘Введите стороны прямоугольника!’);

readln(a,b);

S:=a*b;

P:=2*(a+b);

writeln(‘Площадь прямоугольника: ‘,S);

write(‘Периметр прямоугольника: ‘,P);

End.

(Обратите внимание, если бы вы использовали
тип
integer, а не real, то при
введении дробных чисел, у вас возникала бы ошибка)

Задание для самостоятельного
решения(Нарисовать блок-схему, написать решение задачи в ПАСКАЛЕ):

Задача №2: Скорость
первого автомобиля — V1 км/ч, второго – V2 км/ч, расстояние между ними S км.
Какое расстояние будет между ними через T часов, если автомобили движутся в
разные стороны? Значения V1, V2, T  и S задаются с клавиатуры.

Даю подсказку: Для нахождения S1
, вам необходимо воспользоваться  следующей формулой : S1=(V1+V2)*T+S

Ответ:

блок-схема:

Решение задачи №2.Блок-схема

Program
Rasstoyanie;

Var
V1,V2,S,T,S1:
real; {Ввод }

begin

write(‘Введите скорость первого автомобиля: ‘);

readln(V1);

write(‘Введите скорость второго автомобиля: ‘);

readln(V2);

write(Введите время: ‘);

readln(T);

write(‘Введите расстояние между автомобилями: ‘);

readln(S);

S1:=(V1+V2)*T+S;

writeln(‘Через ‘,t,‘ч. расстояние ‘,S1,‘ км.’);

End.

Понравилась статья? Поделить с друзьями:
  • Как найти площадь ромба внутри прямоугольника
  • Что делать если ногти растут вниз как исправить
  • Как исправить ошибку на компьютере часы спешат
  • Как найти диагонали ромба по теореме пифагора
  • Как проходить миссию найти джеймса кидда