sonyps4.ru

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

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

2 шаг

И так. Чтобы оформить наши переменные перейдите на английский язык и напишите в начале программы слово “var”. А после через запятую наши 3 переменные, а, в, с, и через двоеточие поставьте тип “integer” Далее напишите begin – начать.
На данном этапе программа будет выглядеть так:

var a,b,c:integer;
begin

3 шаг

Ну а далее сама программа! Мы сделаем так, чтобы при начале работы, наша программа запрашивала ввести значение наших переменных. Для этого пишем английское слово прочти "read " и в скобках укажите какие именно надо прочесть переменные.
read(a,b);
Потом как в математике пишите формулу. Только обязательно перед равно должно быть двоеточие! c:=a+b;
Потом нам надо, чтобы программа выводила ответ: write©;
ну вот и все! заканчиваем програмку и пишем end.
Наша программа выглядит так:
var a,b,c:integer;
begin
read(a,b);
c:=a+b;
write©;
end.
Можете кстати скопировать эту программку в паскаль, и проверить или напишите ее сами.
После запуска программа запросит ввод, числа вводите через пробел!

Паскаль - это язык программирования высокого уровня. Но он очень устарел морально. Потому что мир не стоит на месте. И другие языки, такие как: C# и Java имеют большую востребовательность и эффективность написания кода в отличии от Паскаля. Его изучают не столько для применения, как для обучения в учебных заведениях. Потому что он прост для понимания и нанести вред системе от некорректного кода пользователя не может. Я предоставил вам список уроков, по которым вы можете изучить его досконально.

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

Если же она у вас есть, то приступим к процессу обучения.

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

Разработал: профессор НТУ "ХПИ" Домнин Феликс Аркадьевич

Паскаль для начинающих

Основы грамматики в таблицах и примерах

Pascal (Паскаль) - язык программирования общего назначения. Создан в 1970 году специалистами Технического Университета в Цюрихе (ETH, Zurich) под руководством профессора Никлауса Вирта (Niklaus Wirth). После появления языка Pascal были созданы новые промышленные версии языка, а также языки-потомки, которые сохраняют основные синтаксические и семантические свойства языка Вирта: Modula, Turbo Pascal, Object Pascal (Delphi), Component Pascal (Oberon-2), TMT Pascal, Free Pascal, Zonnon, Ada. Идеи языка Pascal оказали большое влияние на современные языки программирования, которые активно используются в современной промышленности: Java, Javascript, C#. При этом Pascal значительно проще и хорошо приспособлен для начального изучения программирования. Описание языка дано в соответствии с диалектом языка фирмы Borland Software (США): Turbo Pascal 7.1. (1992).

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

1. Текст программы состоит из трех составных частей. Это заголовок, описания, операторы. Заголовок программы содержит имя программы. Для версии ETH необходимо дополнительно указать источник и приемник данных для работы программы - файлы для ввода и вывода информации. По умолчанию файл input связан с клавиатурой компьютера, а файл output - с экраном монитора. В Turbo Pascal заголовок имеет декоративное значение и использовать его не обязательно.

2. Описания - это символьные конструкции для описания свойств объектов программы. Все объекты программы надо обязательно указать в этой части программы. Операторы - это символьные конструкции для описания действий над объектами программы. Операторы должны находиться между словами begin и end. Эти слова считаются скобками.

3. В одной строке текста можно размещать несколько операторов или описаний. Поэтому между операторами надо обязательно ставить символ-разделитель. Для разделения операторов используется символ точка с запятой (;). После последнего оператора разделитель ставить не обязательно.

4. Малые и большие буквы считаются эквивалентными (равнозначными). Имя любого объекта в записи программы может содержать только буквы латинского алфавита, цифры и символ подчеркивания (_). Имя не может начинаться с цифры. Никакие другие типы символов в записи имен не разрешаются.

2. Общее строение программыETH Pascal Пример

program имя(ввод,вывод); program echo(input,output);

описания; var n: integer;

оператор; write("число?");

оператор; read(n);

оператор write(n)

Turbo Pascal-Delphi Пример

program имя; program echo;

модули; uses crt;

описания; var n: integer;

оператор; clrscr; read(n);

оператор; write(n);

оператор readkey

3. Основные типы переменных

Действительный real 16.32

1.6320000000E+01

Тип Описатель типа (имя) Значение типа (пример)

Целый integer 30000

Длинный целый longint 2000000000

Тип Описатель типа (имя) Значение типа (пример)

Строковый string "задача"

Логический (булевский) boolean false

Интервальный M1..M2 100

4. Конструкции для описания величинОписание переменных величин Пример

имя-переменной: имя-типа; a: real;

имя1, имя2, имя3: имя-типа; x, y, z: integer;

p, q, r: 0..100;

s, t, u: "a".."z";

Описание постоянных величин Пример

имя1 = значение1; X = 40000;

имя2 = значение2; Y = 16.32;

имя3 = значение3; Z = -1.632E+10;

имяN = значениеN; A = "a";

T = "тема"#13#10"урока:";

5. Оператор присваиванияФорма оператора Пример

имя:= выражение a:= 0;

6. Ввод и выводПроцедура Пример 1 Пример 2

read(список ввода) program echo1(input,output); program echo2(input,output);

readln(список ввода) var m, n: integer; var m, n: integer;

write(список вывода) BEGIN BEGIN

writeln(список вывода) read(m,n); readln(m,n);

write("m=",m); writeln("m=",m);

write("n=",n) writeln("n=",n)

Число (n) Тип Формат вывода Результат вывода

16 integer write(n) 16

16 integer write(n:2) 16

16 integer write(n:5) 16

16.32 real write(n); 1.6320000000E+01

16.32 real write(n:12) 1.63200E+01

16.32 real write(n:5:2) 16.32

16.32 real write(n:10:4) 16.3200

7. Модуль crt (cathode ray tube)Процедуры и функции Операция Пример

clrscr Очистить экран clrscr

textcolor(цвет) Установить цвет текста textcolor(1)

textbackground(цвет) Установить цвет фона textbackground(1)

textbackground(blue)

delay(время в миллисекундах) Остановить выполнение на заданное время delay(1000)

gotoxy(колонка,строка) Установить курсор на заданную позицию gotoxy(40,20)

keypressed Если была нажата клавиша, то true (функция) repeat write("o") until keypressed

readkey Остановить выполнение до нажатия клавиши, прочитать код нажатой клавиши (функция) readkey

Номер и имя цвета Номер и имя цвета

0 black 8 darkgray

1 blue 9 lightblue

2 green 10 lightgreen

3 cyan 11 lightcyan

4 red 12 lightred

5 magenta 13 lightmagenta

6 brown 14 yellow

7 lightgray 15 white

8. Арифметические средства языкаАрифметическая операция Описание операции Пример

Сложение

Вычитание

* Умножение

/ Деление 5.0/2.0 = 2.5

div Целочисленное деление (деление без остатка) 5 div 2 = 2

mod Остаток от деления 5 mod 2 = 1

shl Двоичный сдвиг влево 5 shl 1 = 10

shr Двоичный сдвиг вправо 5 shr 1 = 2

abs(x) Модуль числа (абсолютное значение) abs(-2) = 2

sqr(x) Квадрат числа sqr(2) = 4

sqrt(x) Квадратный корень числа sqrt(4) = 2.0

pi Число пи ~ 3.14...

Функция Результат функции Пример

sin(x) Синус числа sin(pi) = 0

cos(x) Косинус числа cos(0) ~ 1.0

ln(x) Логарифм натуральный ln(1) = 0

exp(x) Экспонента (число e в степени x) exp(1) ~ 2.72

Функция Результат функции Пример

int(x) Целая часть числа int(3.6) = 3.0

trunc(x) Целое число без округления trunc(3.6) = 3

round(x) Целое число с округлением round(3.6) = 4

9. Логические средства языкаОператор условия - полная форма Пример

if условие then if (x>0) and (y>0) then

оператор 1 begin x:=x+y; y:=0 end

оператор 2 begin x:=x-y; y:=-y end

Оператор условия - неполная форма Пример

if условие then if x>y then

оператор x:=x mod y

Логическая операция Описание операции Приоритет (порядок выполнения операции)

not Отрицание (НЕ) 1

and Конъюнкция (И) 2

or Дизъюнкция (ИЛИ) 3

xor Сильная дизъюнкция (ИЛИ-ИЛИ) 3

Логическое отношение (предикат) Описание отношения Приоритет (порядок выполнения операции)

> Больше 4

< Меньше 4

<> Не равно 4

<= Не больше (меньше или равно) 4

>= Не меньше (больше или равно) 4

Оператор варианта Пример

case выражение of case c of

вариант-1: оператор; 0: x:=x+1;

вариант-2: оператор; 1,2: x:=x-1;

вариант-N: оператор 3..100: x:=-x

оператор x:=0

10. Операторы циклаОператор цикла с управляющей переменной - форма "to" Пример

for имя:=значение1 to значение2 do for i:=1 to n do

оператор begin read(a); s:=s+a end

Оператор цикла с управляющей переменной - форма "downto" Пример

for имя:=значение1 downto значение2 do for i:=n downto 0 do

оператор write(i)

Оператор цикла с логическим пред-условием Пример

while условие-повторения do while i<=n do

оператор begin read(a); s:=s+a; i:=i+1 end

Оператор цикла с логическим пост-условием Пример

операторы write(i); i:=i-1

until условие-выхода until i=0

11. МассивыТип массива Описание массива Пример

Одномерный массив (вектор) array [ тип-индекса ] of тип-элемента var a: array [ 1..100 ] of integer;

Тип массива Описание массива Пример

2-мерный массив (матрица) array [ тип-индекса-1, тип-индекса-2 ] of тип-элемента; var a: array [ 1..M, 1..M ] of real;

3-мерный массив array [ тип-индекса-1, тип-индекса-2, тип-индекса-3 ] of тип-элемента; var a: array [ 0..1, 0..M, 0..N ] of char;

4-мерный массив array [ тип-индекса-1, тип-индекса-2, тип-индекса-3, тип-индекса-4 ] of тип-элемента; var a: array [ 0..1, 0..1, 0..1, "a".."z" ] of boolean;

12. Процедуры и функции пользователяПроцедура Пример процедуры для обмена значений между целыми переменными m и n

procedure имя(параметры); procedure swap(var m,n:integer);

описания локальных величин var s: integer;

операторы процедуры s:=m; m:=n; n:=s

операторы программы read(x,y); swap(x,y); writeln(x:10,y:10)

Функция Пример функции для вычисления натуральной степени (n) целого числа (m)

program имя-программы; program primer; var x,y: integer;

function имя(параметры): тип-результата; function power(m,n:integer):integer;

описания локальных величин var s,i: integer;

операторы функции s:=1; for i:=1 to n do s:=s*m; power:=s

операторы программы read(x,y); writeln(power(x,y))

13. Символьные типы данныхТип Описатель типа (имя) Значение типа (пример)

Символьный (литерный) char "a"

Строковый string "задача"

"тема"#13#10"урока:"

Функция Результат функции Пример

length(s) Длина строки n:=length(s)

pos(s1,s2) Начало первого вхождения строки s1 внутри строки s2 (номер позиции) n:=pos("+",s)

copy(s,p,n) Часть строки s длиной n, начиная с позиции p c:=copy(s,4,2)

concat(s1,s2,s3,...sn) Соединить строки (функция конкатенации) c:=concat(s,";",t,".")

Функция Результат функции Пример

upcase(c) Преобразовать малую букву латинского алфавита в большую (символ верхнего регистра) c:=upcase(c)

chr(n) Символ с номером n c:=chr(n)

ord(c) Номер символа со значением c n:=ord(c)

succ(c) Следующий символ таблицы ASCII c:=succ(c)

pred(c) Предыдущий символ таблицы ASCII c:=pred(c)

Процедура Операция Пример

delete(s,p,n) Удалить часть строки s длиной n, начиная с позиции p delete(s,n,1)

insert(s1,s2,p) Вставить строку s1 в строку s2, начиная с позиции p insert("+",s,1)

val(s,x,r) Преобразовать строку s в число x с признаком результата r val(s,x,nan)

str(x:f,s) Преобразовать число x в строку s с форматом числа f str(x:10,s)

s1 + s2 Соединить строки (операция конкатенации) s:=s+";"+t+"."

14. МножестваТип множества Описание множества Пример

Постоянное множество (константа) [ тип-элемента ] const a = [ 0..100 ];

Переменное множество (переменная) set of [ тип-элемента ] var a: set of [ "0".."9", "+", "-" ];

Пример описания постоянного множества Элементы множества

const A = [ "A".."Z", "a".."z" ]; Буквы латинского алфавита

const B = [ "a".."z" ]; Малые буквы латинского алфавита

const C = [ "А".."Я", "а".."п", "р".."я", "Ё", "ё" ]; Буквы алфавита-кириллицы

const D = [ "А".."Я" ]; Большие буквы алфавита-кириллицы

const M = [ "0".."9" ]; Цифровые символы от 0 до 9

const N = [ 0..100 ]; Целые числа от 0 до 100

Обычно, изучение любого языка программирования начинается с программы Hello, world! Но мы с вами займемся этим чуть попозже, потому что сейчас я хочу рассказать вам о величинах и типах данных в Pascal.

Виды величин

Обычно, изучение любого языка программирования начинается с программы Hello, world! Но мы с вами займемся этим чуть попозже, потому что сейчас я хочу рассказать вам о величинах и типах данных в Pascal. Что такое величина? Величина — это отдельный информационный объект, хранящийся в памяти компьютера. Существуют две классификации величин. Мы рассмотрим каждую в отдельности.


Более подробно мы поговорим о них в последующих уроках.

В свою очередь числовой делится на два типа.


Привожу сразу обозначение этого типа в Паскаль

Символьные тоже делятся на два типа.

Вторая классификация величин.
Константа — значение неизменно. Переменная — значение может меняться в течение работы программы. Переменные обозначаются символическими именами, которые называются идентификаторами. Как присвоить значение какой либо переменной? С помощью команды присваивания! Команда присваивания в Паскаль: < переменная >:= < выражение >

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

Структура программы в Паскаль

Заголовок

Program < имя переменной >;

Объявление переменных и констант

const <Символическое имя> = <выражение>;
var <Однотипные переменные> : <тип>;

Раздел операторов

Begin
<оператор 1>;
<оператор 2>;

end.

Ввод и вывод в Паскаль

У вас, наверняка, возникает вопрос: «Как вводить значения переменных с клавиатуры?», а также: «Как вывести на экран полученный результат?». Для этого используются четыре специальных оператора:

Для ввода:

  • read(Переменную)
  • readln(Переменную)

И для вывода:

  • write(Текст в »)
  • writeln(Текст в »)

«В чем разница между read и readln, write и writeln?»: снова озадачитесь вы. Ответ прост. Если добавляете «ln» (что расшифровывается, как Line), то курсор переносится на следующую строку.

Hello, World на Pascal

Теперь вы готовы написать первую программу.

Program Hello_World; {фигурные кавычки позволяют вставить комментарий к коду} Begin Write("Hello, World!"); End.

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

Задача 1 . Требуется запросить имя пользователя, а затем вывести «Привет, <имя>!» Для решения этой задачи нам потребуется строковой тип данных — string.

Program Hello_boy_girl; {фигурные кавычки позволяют вставить комментарий к коду} var name: string; {объявляем name -- это новая переменная} Begin Write("Введите свое имя: "); {так как мы используем write, курсор будет мигать после двоеточия} Read(name); {Считываем все, что ввел пользователь} Write("Привет,", name,"!"); {Обратите внимание! Переменная отделяется от кавычек ЗАПЯТЫМИ!} End.

Задача 2. Требуется узнать сколько лет пользователю, а затем вывести «Вам <возраст> лет». Очевидно, что для решения этой задачи нам потребуется целочисленный тип данных — Integer.

Program How_old_are_you; var years: integer; {объявляем years -- это новая переменная} Begin Writeln("Сколько вам лет?"); {так как мы используем writeln, каретка будет мигать под надписью} Read(years); {Считываем все, что ввел пользователь} Write("Вам ", years," лет."); End.

Ну, вот и все! Все, что я хотел рассказать вам в сегодняшнем уроке. Вы узнали, что такое величина в Pascal, и выучили основные типы. А также научились создавать простейшие линейные программы. Более подробно про типы в PascalABC.Net мы поговорим в следующих уроках. Кстати, про PascalABC.Net. Понятно, что писать программы на листочках бесполезно, и вы должны тренироваться на компьютере. По этой ссылке скачайте последнюю версию для Windows.
Вот, как выглядит интерфейс программы при запуске.


P.S. Давайте выделим две особенности Pascal:

  1. Паскаль НЕ чувствителен к регистру, то есть и program, и Program, и PrOgRaM для него ничем не отличаются. А потому с самого начала привыкайте писать в нижнем регистре, чтобы при переходе на другой язык программирования не испытывать никаких проблем с этим;
  2. Имя программы в Pascal не играет никакого значения, оно не несет в себе никаких полезных функций. Если хотите вы можете просто не писать ЕГО!

P.P.S. В мире наиболее популярны три операционные системы: Linux, Mac OS и Windows. А если у вас не Windows? Какой компилятор выбрать тогда? Об этом мы с вами поговорим в уроке номер N.

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

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

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

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

Ход урока.

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

Для знакомства с реализацией алгоритмической конструкции средствами языка используется сайт (см. Приложение1)

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

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

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

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

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

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

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

В программе

Действия

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

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

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

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

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

BEGIN
ОП.1
END

BEGIN
ОП.2
END

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

BEGIN
ОП.1
END

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

BEGIN
ОП.1
END

Для каждого I от 1 до N выполняется группа операторов ОП.1
(оператор цикла с параметром, I – параметр цикла)

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

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

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

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

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

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

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

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

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

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

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

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

{ЗАДАНИЯ:}

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

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

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

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

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

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

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 – после изучения темы «Циклы».

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

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

VAR V1, V2, V: ??? ;

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

VAR A1, A2: ??? ;

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

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

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

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

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

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

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

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

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

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

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

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

Текст программы находится в файле Приложение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.1. (File -> Save as)

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

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

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

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

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

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

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

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

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

Построить модель равноускоренного движения тела (X=X 0 +V 0 t+At 2 /2).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

T:=T+10; end;

X:=X0;

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

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

Until T>=TK;

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

For i:=0 to N do

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

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



Загрузка...