Pascal ABC

 

ГЛАВНАЯ
УСТАНОВКА
ОКНО ПРОГРАММЫ
ЛИНЕЙНЫЕ АЛГОРИТМЫ
ЧЕРТЁЖНИК
GraphABC
    РОБОТ
АЛГОРИТМЫ С ВЕТВЛЕНИЯМИ
АЛГОРИТМЫ С ПОВТОРЕНИЯМИ
ПРОЦЕДУРЫ И ФУНКЦИИ
ТЕСТЫ
ТВОРЧЕСКИЕ РАБОТЫ
ОЛИМПИАДНЫЕ ЗАДАНИЯ
 
 

 

 

 

 

ЛИНЕЙНЫЕ АЛГОРИТМЫ◊  

Первая программа Простейшие программы Арифметические выражения Вычисление по формулам Целочисленная арифметикаЦелочисленные типы данных. Системы счисления   Самостоятельная работа Величины логического типа Вычисление логических выражений Задачи повышенной сложности

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

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

Контроль знаний

Тест: Основные понятия языка Паскаль

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

Вопросы для повторения:

1. Назовите команды удаления, вставки символов и передвижения курсора.

2. С чего начинается программа.

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

4. С чего начинается основная программа?

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

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

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

8. Чем заканчивается программа?

9. Как сохранить программу на диске?

Выражения и операции

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

В Pascal ABC имеются следующие операции: @, not, ^, *, /, div, mod, and, shl, shr, +, -, or, xor, =, >, <, <>, <= и >=.

Арифметические операции

К арифметическим относятся бинарные операции + - * / для вещественных и целых чисел, бинарные операции div и mod для целых чисел и унарные операции + и - для вещественных и целых чисел. Выражение, имеющее числовой тип, называется арифметическим. Тип арифметического выражения определяется по следующему правилу: если все операнды целые и в выражении отсутствует операция деления /, то выражение имеет тип integer, в противном случае выражение имеет тип real. Например, если b имеет тип byte, c имеет тип 1..9, то b+c и -b имеют тип integer, а 2.0+b и 1/2 - тип real.

Операции отношения

Операции отношения <, >, <=, >=, =, <> возвращают значение типа boolean (логический) и применяются к операндам целого, вещественного, символьного, логического и строкового типов, а также к типизированным указателям.  При сравнении символа и строки символ преобразуется в строку длины 1.

Типы данных

Тип данных Диапазон данных
Тип integer (целый). Значения этого типа занимают 4 байта и находятся в диапазоне от -2147483648 до 2147483647.
Тип byte (беззнаковый целый). Значения этого типа занимают 1 байт и находятся в диапазоне от 0 до 255.
Тип word (беззнаковый целый). Значения этого типа занимают 2 байта и находятся в диапазоне от 0 до 65535.
Тип real (вещественный). Значения вещественного типа занимают 8 байт, содержат 15-16 значащих цифр и по модулю не могут превосходить величины 1.7∙1038. Самое маленькое положительное число вещественного типа равно 5.0∙10-34. Константы типа real можно записывать как в форме с плавающей точкой, так и в экспоненциальной форме: 1.7, 0.013, 2.5e3 (2500), 1.4e-1 (0.14).

Арифметический квадрат

Функция SQR(x) возвращает квадрат значения аргумента, то есть    sqr(x)=x2=x*x.

ПРИМЕРЫ.

sqr(4)=42=16

sqr(13)=132=169

d=2, e=5, sqr(d+e)=sqr(2+5)=sqr(7)=72=79

x=3, sqr(sqr(3))=sqr(9)=92=81

Корень квадратный

Функция SQRT(x) вычисляет корень квадратный из значения аргумента, то есть    sqrt(x)=, sqrt(x)=.

Абсолютная величина

Функция ABS(х) возвращает абсолютную величину значения аргумента (т.е. находит модуль числа).

ПРИМЕРЫ.

abs(12)=12

abs(-12)=12

х=3, у=-5, abs(3+(-5))=abs(-2)=2

abs(3)+abs(-5)=3+5=8

Примечание: в Паскале большие и маленькие буквы в именах (переменных, функциях и пр.) не различаются. Не различаются они при записи служебных слов. Пример (верно):SQR, sqr, ABS, abs, BEGIN, begin ...

  Проверка знаний Тест: Основные понятия арифметических выражений

Дроби в записи выражений

  Пример 1. Запишите на языке Паскаль выражение:

 

  Пример 2. Запишите на языке Паскаль выражение:

 

  Пример 3. Даны x, y, z. Написать программу для вычисления a, b.

                

Этапы выполнения задания (а).

I     Определение исходных данных: переменные x, y, z.

II    Определение результатов: переменная a.

III   Алгоритм решения задачи.

1  Ввод исходных данных

2  Вычисление значения выражения

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

IV   Описание переменных:

Все переменные, определенные для решения задачи, имеют тип real. (Переменные x, y, z могут быть и целого типа, а переменная а только вещественного типа, поскольку в выражении используется операция деления.)

V     Программа:

Var x,y,z,a: real;

Begin

    Write(‘введите значение x=’);

    Readln(x);

    Write(‘введите значение y=’);

    Readln(y);

    Write(‘введите значение z=’);

    Readln(z);

    a:=(2*x+3*y-z)/(3+2*x);

    Writeln(‘a=’,a:7:3);

End.

Можешь загрузить!       Пример 3_а

VI   Тестирование программы:

1. Запустите программу и введите значения

x=3

y=2

z=0

Проверьте, результат должен быть следующим:

a=  1.333

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

2. Заполните таблицу

 

x

y

z

a

1

2

-5

1

 

2

2.362

4.258

-7.458

 

3

-1.2358

-4.554

5.562

 

3. Подберите такие значения x, y, z, чтобы значение а=  2.000

4. Что изменится и почему, если в программе заменить команду Writeln(‘a=’,a:7:3); на команду Writeln(a);?

5. Как распечатать только целую часть результата?

Примечание. Тип real предназначен для переменных вещественного типа. Переменные данного типа выводятся на экран монитора с большим дробным хвостом. Во избежание этого можно указать количество цифр выводимых вообще и после запятой (дробной части). Например, Writeln(‘a=’,a:7:3) - первая цифра 7 обозначает количество мест выделенных для цифр всего числа, вторая 3 - цифры дробной части. Точка тоже захватывается в количество мест для всего числа (т.е. в 7, в данном случае).

Этапы выполнения задания (b).

I   Определение исходных данных: переменные x, y.

II  Определение результатов: переменная b.

III Алгоритм решения задачи.

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

2. Вычисление значения выражения

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

IV Описание переменных:

Все переменные, определенные для решения задачи, имеют тип real. (Переменные x, y могут быть и целого типа, а переменная b только вещественного типа, поскольку в выражении используется функция вычисления квадратного корня.)

V   Программа:

Var x,y,b: real;

Begin

    Write(‘введите значение x=’);

    Readln(x);

    Write(‘введите значение y=’);

    Readln(y);

    b:=(SQRT(x)+4)/(ABS(y)-2);

    writeln(‘b:=’,b:7:3);

End.

Можешь загрузить!       Пример 3_б

VI   Тестирование программы:

1. Запустите программу и введите значения

x=9

y=-7

Проверьте, результат должен быть следующим:

a=  1.000

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

2. Заполните таблицу

 

x

y

b

1

16

-5

 

2

2.362

4.258

 

3

-1.2358

-4.554

 

3. Подберите такие значения x, y, чтобы значение b=  2.000.

  Проверка знаний Тест: Построение простейших арифметических выражений

Задачи для самостоятельного решения

  1. Составить программу вычисления значения выражения:

    а) ;           б) ;          в) .

     

     

  2. Перевести из линейной записи в обычную следующие выражения:

    а) a/b/c;

    б) ab/c;

    в) (а+b)/c;

    г) (1,2a+b)/(3,6b+c);

    д) a+4,7b/b+c;

    е) abs(x)+sqr(x)-sqrt(x).

Примечание. В программах на Паскале дробное число записывается с помощью точки. Например, 12.6; 3.6; 4.7.

  1. Составить программу вычисления значения функции при любом значении переменных:

    1. ;
    2. ;
    3. ;
    4.  

  2. Составить программу вычисления значения функции:

 

  Проверка знаний Тест: Арифметические выражения

Примеры решения задач

1. Составить программу вычисления значения выражения:

РЕШЕНИЕ:

program Prim_3_1;
var a,b,c,d:real;
begin
writeln('Введите 3 численных значения через пробел и нажмите <Enter>:');
readln(a,b,c );
d:=(4.2/a-3.2*b)/(c/7+8);
writeln('d=',d);

writeln('Для завершения работы программы нажмите <Enter>:');
readln
end.

Можешь загрузить!       Пример 3_1

2. Перевести из линейной записи в обычную следующие выражение: (1,2a+sqr(b))/(3,6b+abs(c));.

РЕШЕНИЕ:

.

3. Составить программу вычисления значения функции при любом значении переменных:

a)

b).

РЕШЕНИЕ:

program Prim_3_3_a;
var x,y:real;
begin
writeln('Введите значение х и нажмите <Enter>:');
readln(x);
y:=2.5*sqr(x)-0.7*x+4.1;
writeln('y=',y);

writeln('Для завершения работы программы нажмите <Enter>:');
readln
end.

 

Можешь загрузить!       Пример 3_3_а

program Prim_3_3_b;
var x,y,z:real;
begin
writeln('Введите значения х,y и нажмите <Enter>:');
readln(x,y);
z:=8.1*x*x*x-1.5*x*y*y+4*y-x-0.2;
writeln('z=',z);

writeln('Для завершения работы программы нажмите <Enter>:');
readln
end.

Можешь загрузить!       Пример 3_3_б

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

РЕШЕНИЕ:

program Prim_3_4;
var t,g:real;
begin
writeln('Введите значения t и нажмите <Enter>:');
readln(t);
g:=abs(2.4*t-100)+abs(t-2.2)-sqrt(sqr(t)/(18+abs(t)));
writeln('g=',g);

writeln('Для завершения работы программы нажмите <Enter>:');
readln
end.

Можешь загрузить!       Пример 3_4

 

 

СЕРВИС 

Copyright © 2008 СОШ №2 им. Н.П. Массонова г.Свислочь © Синица А.А.