Конспект курса Язык Паскаль 7. 0

Материал предназначен для изучения языка Паскаль. Кратко описаны возможности редактора и оболочки TP7. Собраны задачи, которые помогут развернуть изучение программирования "от простого к сложному". Уделяется внимание программированию компьютерной графики, с помощью которой предполагается изучение циклических алгоритмов. В задачнике представлены как типовые, так и авторские задания. Наиболее интересными заданиями являются задания на приближенное вычисления рядов, построения графиков и рисунков. П...
Раздел Информатика
Класс -
Тип Другие методич. материалы
Автор
Дата
Формат doc
Изображения Есть
For-Teacher.ru - все для учителя
Поделитесь с коллегами:



Элективный курс для 9 класса

Конспект курса Язык Паскаль 7.0



Конспект курса Язык Паскаль 7.0Конспект курса Язык Паскаль 7.0

МБОУ СОШ №4 Шебекино

Конспект

Составитель:

Дрожжина Е.В.


Конспект курса Язык Паскаль 7.0

Язык Паскаль был создан Никлауса Виртом в 1970 году как язык для обучения студентов. Назван в часть великого математика философа Блеза Паскаля.

Редактор языка Паскаль

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

Рассмотрим некоторые возможности программной оболочки.

Рассмотрим возможности меню подробнее:

Меню Редактора

После запуска программы появляется меню редактора.

Пользоваться возможностями Меню можно как и с помощью мышки, так и без нее. Для того, чтобы попасть в Меню без мышки нужно нажать F10 и пользоваться клавишами управления курсора - стрелками ←↑→↓. Нажатие Enter - подтверждение команды, Tab- переход между полями запроса, Esc- отмена окна.

Команды меню Файл (File)

Сначала нужно Создать Новый файл (File, New)

Н

File Edit Search Run Compile Debug Tools Options Window Help

+------------------+ ----------- NONAME00.PAS --------------------------1-[]-+

¦ New ¦ создать новый файл;

¦ Open... F3 ¦ - открыть ранее созданный файл;

¦ Save F2 ¦ - сохранить файл;

¦ Save as... ¦ - файл Сохранить как - сохранение в другом месте
и/или под другим именем

¦ Save all ¦ - сохранить все открытые файлы

+------------------¦

¦ Change dir... ¦ - Сменить текущую директорию

¦ Print ¦ - Печатать

¦ Printer setup... ¦ - Настроить принтер

¦ DOS shell ¦ - Выход в DOS

¦ Exit Alt+X ¦ - Выход из программы Turbo Pascal

+------------------+

+------- 1:1 -----__________________________________________________________-

F1 Help ¦ Create a new file in a new Edit window

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

Откройте новый файл и сохраните его под названием Programma1.pas . Нажмите F1 и прочитайте справку. Как переводится фраза «Create a new file in a new Edit window»______________________________

Команды меню Правка (Edit).

Выделить блок в тексте программы можно с помощью мыши. Без мыши можно воспользоваться комбинациями: Ctrl+k+b- начало блока, Ctrl+k+k - конец блока, Ctrl+k+h- убрать выделение.

¦ Cut Shift+Del ¦ - Вырезать выделенный блок в буфер

¦ Copy Ctrl+Ins ¦ -Копировать выделенный блок в буфер

¦ Paste Shift+Ins ¦ - Вставить содержимое буфера

¦ Clear Ctrl+Del ¦ - Удалить выделенный блок

¦ Show clipboard ¦ - Показать содержимое буфера

+------------------+

++-¤----- 1:6 --- - на какой строке и на какой позиции в строке стоит курсор _________________________________________________________-+

F1 Help ¦ Copy the selected text into the Clipboard

Какие действия можно осуществлять с блоками? __________

Переведите фразу: «Copy the selected text into the Clipboard»

  1. Напишите текст программы, используя возможности копирования фрагмента:

program first;

var a, b: integer;

begin

writeln('Веедите первое число');

read (a);

writeln('Веедите второе число');

read (b);

writeln('их сумма ', a+b);

end.

Посмотрите содержимое буфера обмена _____________________________

Команды меню Поиск (Search)

¦ Find... ¦ - найти последовательность символов в тексте

¦ Replace... ¦ - заменить одну последовательность другой

¦ Search again ¦ - продолжить поиск

¦ Go to line number... ¦ - перейти к строке с номером…

¦ Show last compiler error ¦ - показать следующую ошибку при компиляции

¦ Find error... ¦ - найти ошибку

¦ Find procedure... ¦ - найти процедуру

  1. В тексте предыдущей программы с помощью средств замены замените переменную b на переменную с.

С помощью редактора перейдите к строке с номером 6.

Команды меню Выполнить (Run)

Run Ctrl+F9 - выполнить программу

Step over F8 - пошаговая реализация программы. F8

Go to cursor F4 - выполнить программу до курсора

Program reset Ctrl+F2 - отменить пошаговое выполнение

  1. Запустите на выполнение программу из №2. Посмотрите ее результат. Научитесь набирать код программы, исправлять ошибки, запускать программу на выполнение, Посмотрите результат работы программы с помощью команды alt="Конспект курса Язык Паскаль 7.0"+F5.

  2. Пошаговая реализация программы.

Софизмом называют заведомо ложное утверждение, в доказательстве которого трудно найти ошибку.

Есть такой софизм: все числа равны.

Доказательство. Возьмем не равные числа а и b. Так как числа не равны, то их разность с не равна нулю. С=a-b; Помножим обе части равенства на с (можем это сделать, так как с не равно нулю). Тогда с2=ас-bc. Перенесем все в левую часть: с2-ас+bc=0. Вынесем за скобки с, получим: с(с-а+b)=0. Заменим с=a-b, получим (a-b)(с-а+b)=0. По распределительному закону раскроем скобки: a(с-а+b)=b(с-а+b). Разделим обе части равенства на
(с-а+b), получим, что a=b. То есть числа а и b равны. Где здесь ошибка?

Если вы до сих пор не догадались, то попробуйте сделать пошаговую реализацию программы step.pas, листинг которой приведен ниже. Оператор writeln выведет TRUE, если строчка является ПРАВДОЙ и FALSE, если ЛОЖЬ. Для того, что бы не нажимать Alt+F5 после каждого действия, нажмите Debug, Output. Это позволит поместить окно вывода ниже окна кода программы. В ходе выполнения программы возникнет ошибка: Runtime error 200. В какой строчке возникла эта ошибка? Какую подсказку дал компилятор?

Program step;

║var a, b,c:real;

║begin

║writeln('vvedite 2 ne ravnix chicla');

║read (a,b);

║c:=a-b;

║writeln(c=a-b);

║writeln(c*c=a*c-b*c);

║writeln(c*c-a*c+b*c=0);

║writeln(a-b)(c-a+b)=0);

║writeln(a(c-a+b)=b(c-a+b));

║writeln(a(c-a+b)/(c-a+b) =b(c-a+b)/(c-a+b));

║writeln(c=0);

║end.

После того, как задание выполнено уберите пошаговую реализацию, нажав в пункте Run команду Program reset .

Команды меню Компеляция (Compile)

В меню этой команды вам будут полезны следующие команды.

║ │ Compile Alt+F9 - компилирование программы, опция Compile

║ │ Make F9 - компилирование программы, опция Make

║ │ Build - перекомпиляция изменений

║ ├───────────

║ │ Destination Memory - выходной файл компилятора будет сохранен в оперативной памяти и сразу же запуститься из под Турбо Паскаля, если же стоит опция Destination Disk, то исполняемый файл программы будет сохранен на диске с расширением .exe

║ │ Information... -показывает статистику программы.

║ └───────────┘

  1. Перед вами программа для подсчета площади прямоугольника.

Program square;

{Программа подсчета площади прямоугольника}

Var a,b,s:integer;

Begin {начало программы}

Writeln('Программа вычисляет площадь прямоугольника по введенным сторонам'); {вывод пояснения на экран}

Writeln('введите стороны прямоугольника');

Read(a,b); {читаем введенные с клавиатуры числа в ячейки а и b}

S:=a*b; {в ячейку S записываем результат сложения чисел а и b}

Writeln('Площадь равна', s); {Выводим пояснение и значение переменной S}

End. {конец программы}

  1. Запишите программу для подсчета а) периметра прямоугольника, b) периметра треугольника.

  2. Создайте исполняемый код программы dist.pas, которая вычисляет расстояние по введенным скорости и времени по формуле S=VT. Для этого заполните недостающие строки приведенного ниже кода. Выставьте опцию Destination Disk. Откройте папку TP7/Bin и найдите файл dist.exe. Запустите его.

Program dist;

uses crt; {Подключаем модуль crt для использования функции keypressed}

var t,v,s:integer; {Используемые переменные}

begin

writeln('Программа вычисляет расстояние по введенной скорости и веремени');

writeln('Введите скорость'); read(v);

__________________

__________________{Вставьте необходимые строки}

writeln('Расстояние равно',s);

repeat until keypressed; {Результат на экране виден до нажатия любой клавиши}

end.

Команды меню Отладка (DEBUG)

В меню представлены следующие возможности:

│ Breakpoints просмотр контрольных точек. Используется при отладке.

│ Watch │ Делает активным окно отладки.

│ Output │ Делает активным окно вывода результатов выполнения программы смотри Задачу 9.

│ User screen Alt+F5 │ Распахивает на весь экран окно работы программы.

│ Evaluate/modify.. Ctrl+F4│ Просмотр переменной

│ Add watch... Ctrl+F7 │ Добавление просматриваемой переменной в окно Watch

│ Add breakpoint... │ Установление контрольной точки.

  1. Запустите на выполнение следующую программу:

Program learn;

Var a:integer;

Begin a:=1; a:=a+10; a:=a*a; writeln ('a=',a); end.

Как вы думаете, чему равно значение а после выполнения программы?

Добавьте окно просмотра результатов: Debug, Watch. Добавьте просматриваемую переменную а: Debug, Add watch. Ответе на вопросы: чему равно значение переменной а в начале выполнения программы (строка begin)? ____Чему равно а после выполнения первого оператора? ____ Второго оператора? _____ В конце программы?___

Команды меню TOOLS и OPTIONS

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

Команды меню Окно (Windows)

Команды этого пункта помогут управлять окнами при работе в среде Турбо Паскаль:

│ Tile - располагает все окна на экране так, что бы каждое было видно и все имели примерно одинаковый размер.

│ Cascade - расположить окна каскадом.

│ Close all - закрыть все окна.

│ Size/Move Ctrl+F5 - вызов режима перемещения окна по экрану и изменения его размеров. Для возвращения в обычный режим нажмите Enter.

│ Zoom F5 - распахивает окно на весь экран.

│ Next F6 - следующее окно. Previous Shift+F6 - предыдущее окно.

│ Close Alt+F3 закрыть активное окно.

│ List... Alt+0 выводит на экран список всех активных окон среды.

Откройте несколько окон программ. Расположите окна рядом, каскадом. Нажмите Ctrl+F5, посмотрите как можно управлять размером окна. Вернитесь в обычный режим.

Команды меню Помощь (HELP)

Здесь вы можете получить помощь по использованию среды Турбо Паскаля. Особенно полезны будут следующие три пункта:

│ Procedures and functions - использование процедур и функций.

│ Reserved words - зарезервированные слова.

│ Error messages - сообщения об ошибках.

  1. При работе следующей программы компилятор выдаст ошибку: Error 2: Identifier expected. Определите, какие слова в программе являются зарезервированными?______________________________

Program array;

Var center: integer;

Begin centr:= 56 mod 2; writeln (center); end.

  1. При помощи меню Help получите справку об использовании процедуры Bar3D. Найдите листинг примера программы с использованием этой процедуры. Скопируйте код программы при помощи команд копирования (меню Edit) в окно новой программы и запустите программу.

Какие модули языка необходимо подключить при использовании этой процедуры?

  1. Записать в формате Турбо Паскаля следующие выражения:

А

Б)Конспект курса Язык Паскаль 7.0

Г)Конспект курса Язык Паскаль 7.0)

НКонспект курса Язык Паскаль 7.0

В) tg(x)-cos2xайти ошибки в записи операторов Турбо Паскаля a) 2*сosx -ax2 ; b) 3xsin(x) - x*x;

  1. Восстановить исходную математическую запись

a) sqr(a)+sqr(b)- 2a*b*cos(x); b) sqrt(sqr(a)+sqr(b))

  1. Чему будет равно значение переменной с в результате выполнения последовательности команд присваивания?

c:=5; d:=c-3; c:=c-2*d;

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

  1. НКонспект курса Язык Паскаль 7.0апишите программу для подсчета скорости, по введенному времени и расстоянию.

  2. НКонспект курса Язык Паскаль 7.0апишите программу для подсчета площади трапеции по формуле

  3. НКонспект курса Язык Паскаль 7.0апишите программу, которая вычисляет площадь треугольника по формуле Герона:

Где p - полупериметр, вычисляется по формуле:

Процедуры ввода - вывода

Ввод данных в языке Паскаль осуществляется с помощью процедур read, readln. Формат записи: read (a,b,c); - прочитать данные в переменные а,b,c.

Вывод данных в языке Паскаль осуществляется с помощью процедур: write, writeln. При этом writeln вывод данных и перемещение курсора на строку вниз. Формат записи для переменных: write ('Пояснение к выводу переменной' , s); где на место s выведется значение переменной, а пояснения, заключенные в 'кавычки' выведется без изменения. Для целого переменного х вывод write ('x=' , x:5); будет означать вывод на пяти позициях. Для дробного (real) переменного используют write('x=',x:8:4) - вывод на 8 позициях с 4 -мя знаками после запятой.

Дополнительные возможности имеются в модуле CRT. (В начале программы указываем uses CRT;) Процедура keypressed; определяет нажатие любой клавиши. Функция readkey осуществляет ввод одного символа. Пример: n:=readkey; где n типа char.

  1. Как изменить код программы Задачи 6, что бы она работала для дробных чисел? Как лучше организовать вывод результатов?

  2. Что будет выведено после выполнения программы:

А) var i: integer; r: real;

Begin i:=25; r:=i/100; writeln('i=', i:8, 'r=', r:8:3); end.

b) var i: integer; r: real;

Begin i:=1; i:=i*16; r:=i/3; writeln('i=', i:4, 'r=', r:8:4, 'kor=', sqrt(i) ); end.

  1. НКонспект курса Язык Паскаль 7.0

    апишите программу, которая выводит на экран следующую фигуру:

  2. Напишите программу, которая выводит фигуру из знака, введенного с клавиатуры. Используйте для этого тип символьных переменных char. Фигуру придумайте самостоятельно.

Основные понятия компьютерной графики.

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

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

Мы будем рассматривать следующий режим работы дисплея:

Разрешение экрана: 640 на 480; цветность 16.

ГКонспект курса Язык Паскаль 7.0рафические координаты определяют положение каждого пикселя на экране. Расположены графические координаты следующим образом:

В графическом режиме используются следующие процедуры:

Putpixel(x,y,c) - рисует точку с координатами x, y , цветом с;

Setcolor(с) - устанавливает цвет рисования.

Setbkcolor(с)- устанавливает цвет фона.

Floodfill(x,y,c) - заполняет замкнутые области, ограниченные линией цвета с, в соответствии с образцом, установленным процедурой setfillstyle; координаты X , Y должны лежать внутри замкнутой области.

Setfillstyle(obr,c) - устанавливает образец заполнения для процедур bar, bar3d, floodfill. Значение obr=0 означает, что внутренняя область будет закрашена цветом фона, obr=1 - закрасит область цветом с. Значения obr определяют тип заливки: линии, точки и т.п.

Line(x1,y1,x2,y2) - рисует линию от точки с координатами x1,y1 до точки с координатами x2,y2, цветом, установленным функцией setcolor;

Circle(x,y,r); - рисует окружность радиуса r с центром в точке x,y.

Rectangle(x1,y1,x2,y2); - рисует рамку с диагональю x1,y1- x2,y2.

Bar (x1,y1,x2,y2); - рисует прямоугольник с диагональю x1,y1- x2,y2, закрашенный в соответствии с образцом, установленным процедурой setfillstyle.

Bar3D(x1,y1,x2,y2,I,top[on,off]) - рисует прямоугольный брусок, с передней гранью на диагонали x1,y1- x2,y2, глубиной. Обусловленной параметром i. Параметр top[on,off] определяет имеет ли брусок перекрытие сверху или нет.

Arc(x,y,alf1,alf2,r) - рисует дугу с радиусом r, центром х,у, от угла alf1 до угла alf2, угол измеряется в градусах.

Ellipse(x,y,alf1,alf2,xr,yr); - рисует дугу 'эллипса с центром х,у, от угла alf1 до угла alf2, угол измеряется в градусах, используя хr,уr как горизонтальный и вертикальный радиус.

Вывод текста в графическом режиме.

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

Settextstyle(номер шрифта, направление, размер); - номер шрифта от 0 до 9, направление 0 градусов, 90 градусов, размер определите самостоятельно.

Outtext('hello, world'); вывод текста на экран;

OuttextXY(x,y,'hello, world'); вывод текста на экран начиная с координат х,у. Цвет текста определяется процедурой setcolor;

Пример программы:

║uses graph, crt; {подключили библиотеки graph и crt}

║var gm,gt:integer;

║begin {начало программы}

║ Clrscr; {очистка экрана в начале программы}

║gm:=detect; initgraph(gm,gt, ' '); {инициализация графики}

║ setbkcolor(5); {установили цвет фона 5}

║setcolor(red); {установили цвет линий red}

║circle(250,250,50);{нарисовали окружность с центром 250,205 радиусом 50}

║setfillstyle(1,green); {будем заливать замкнутую область цветом green, тип заливки 1}

║floodfill(200,200,red); {будем заливать область, ограниченную цветом red, ║точка с координатами 200,200 находится внутри области}

║setcolor(blue); {установили цвет линий blue}

║SetTextStyle (GothicFont, 0, 3); {устанавливаем номер, направление шрифта и размер}

║Outtextxy(50,300,'Hello, World'); {вывод текста на экран начиная с точки с координатами 50, 300}

║readkey; {удерживаем изображение до нажатия клавиши}

║closegraph; {закрываем графику}

║end. {Конец программы}

  1. Определите, то выполняет следующая программа? Напишите пояснения. Подберите значения x и y, так что бы окружности были на одной прямой. Дорисуйте рисунок (с помощью программы) по вашему усмотрению.

program sneg;

uses crt, graph; {__________________________________________}

var a,b,x,y:integer;{переменные для определения параметров графики}

begin clrscr;

b:= detect; initgraph(b,a,'' ); {______________________________________}

setcolor(7); {________________________________________________}

circle(320,400,60); {______________________________________________}

floodfill(320,400,7); {_________________________________________}

circle(320,300,40); {_________________________________________}

floodfill(320,300,7);

circle(320,240,20);

floodfill(320,240,7);

circle(275,300,10); circle(365,300,10); circle(310,235,3);

circle(330,235,3); arc(320,240,200,340,10); circle(320,240,2);

readkey; {удерживаем изображение до нажатия клавиши}

closegraph; {закрываем графику}

end. _____________________________________________

  1. Нарисуйте голову робота.

0,0

10

20

30

40

50

60

70

80

90

100

110

120

10

Конспект курса Язык Паскаль 7.0






Конспект курса Язык Паскаль 7.0






20


Конспект курса Язык Паскаль 7.0

Конспект курса Язык Паскаль 7.0

Конспект курса Язык Паскаль 7.0



Конспект курса Язык Паскаль 7.0

Конспект курса Язык Паскаль 7.0

Конспект курса Язык Паскаль 7.0


Конспект курса Язык Паскаль 7.0

Конспект курса Язык Паскаль 7.0



Конспект курса Язык Паскаль 7.0


30





Конспект курса Язык Паскаль 7.0



Конспект курса Язык Паскаль 7.0





40





Конспект курса Язык Паскаль 7.0

Конспект курса Язык Паскаль 7.0







50





Конспект курса Язык Паскаль 7.0




Конспект курса Язык Паскаль 7.0





60







Конспект курса Язык Паскаль 7.0



Конспект курса Язык Паскаль 7.0




70







Конспект курса Язык Паскаль 7.0

Компьютер



Кактус



  1. Нарисуйте треугольник и залейте его желтым цветом.

  2. Нарисуйте следующие фигуры:

(Конспект курса Язык Паскаль 7.0или придумайте свой рисунок.)

Оператор условного перехода.

ПКонспект курса Язык Паскаль 7.0олная форма оператора условного перехода:

If логическое выражение then оператор else оператор;

Пример: if a>b then s:=a*b else s:=a+b;

Пример блок схемы:

Неполная форма оператора условного перехода:

If логическое выражение then оператор;

Пример: if a<>0 then s:=s*a;

Оператор выбора:

Case ключ of

Значение 1: оператор1;

Значение 2: оператор 2;

End;

Логическое выражение принимает значение TRUE либо значение FALSE.

Пример логического выражения, принимающего значение истины (TRUE) в случае, если число a кратно 5 и больше 10: (a mod 5=0)AND(a>10)

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

Program chet;

Var a: integer;

Begin

Writeln ('введите число');

Read(a);

If a mod 2 =0 then writeln ('число четное') else writeln ('число нечетное');

End.

  1. НКонспект курса Язык Паскаль 7.0

    апишите программу, которая вычисляет значение функции по формуле:

  2. Напишите программу, которая определяет, являются ли два числа, введенные с клавиатуры одного знака или разных?

  3. Напишите программу, которая увеличивает введенное с клавиатуры число на 2, если оно положительное, и прибавляет 10, в противном случае.

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

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

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

  7. Напишите программу, которая запрашивает длины двух сторон прямоугольника и выводит ответ: квадрат или не квадрат.

  8. Напишите программу, которая находит корень из суммы двух чисел и выводит на экран значение корня или «невозможно», если сумма отрицательна.

Составной оператор.

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

В Паскале, как и во всех структурных языках, предусмотрена такая возможность. Серию операторов необходимо заключить в логические скобки begin серия операторов end

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

PКонспект курса Язык Паскаль 7.0rogram linear;

Var a, x: real;

Begin

Writeln('программа нахождения корня числа');

Read (a);

If a>= 0 then

begin

x:=sqrt(a);

writeln('корень числа',x:8:4);

end

else writeln ('вычислить нельзя');

end.


  1. Напишите программу, которая находит а) максимальное из трех чисел, b) минимальное из трех чисел, с) среднее из трёх чисел.

  2. Напишите программу для решения квадратного уравнения.

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

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

  5. Напишите программу, которая запрашивает координаты точки и выводит на экран ответ на вопрос, лежит ли точка в круге радиуса 5 с центром в начале координат или нет. Расстояние от начала координат находите по формуле х22;

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

    Циклы

Циклы с параметром.

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

Цикл с параметром имеет вид (пример):

FКонспект курса Язык Паскаль 7.0or I:=1 to N do writeln ('i=',i); Здесь параметр I принимает значения от 1 до N, где переменные I, N должны быть типа integer.

Еще одна разновидность цикла с параметром:

For i:= N downto 1 do i:=i+1; Здесь параметр I изменяется от N до 1.

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

Блок - схема оператора цикла выглядит следующим образом:

Program sum;

Var s, i: integer;

Begin

S:=0; {В начале программы ячейке s присвоили значение, равное 0}

For i:=10 to 99 do{ В цикле изменяем I от 10 до 99}

If I mod 3 =0 then s:=s+I;

{Если число без остатка делится на 3, то его прибавляем к числу, хранящемуся в ячейке s}

Writeln('s=',s); {Печатаем значение в ячейке s - сумму чисел, делящихся на 3}

End. {Конец программы}

  1. Напишите программу, которая вычисляет квадраты чисел от 15 до 20.

  2. Напишите программу, которая вычисляет сумму всех трехзначных чисел, делящихся на 7.

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

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

  5. Напишите программу, которая начисляет проценты по вкладу на срок. С клавиатуры вводится сумма, процентная ставка, число лет.

  6. Напишите программу, которая будет определять, является ли число простым (делится нацело только на себя и на 1)

  7. Напишите программу, которая напечатает все простые числа, меньшие а) 100; b) введенного с клавиатуры числа.

    ЦКонспект курса Язык Паскаль 7.0иклы с предусловием.

Цикл с предусловием (цикл ПОКА) имеет вид:

While логическое выражение do

Операторы.

Пример программы. Программа вычисляет

сумму ряда пока слагаемое не станет меньше 0,001.

PКонспект курса Язык Паскаль 7.0rogram sum;

Var n, s:real;

Begin s:=0;

While 1/n>0.001 do

Begin

S:=S+1/N;

N:=N+1;

End;

Writeln('S=', s:8:4);

End.

В теле цикла должны быть операторы,

которые изменяют значение условия,

иначе программа «зациклится». Если все - таки

вы написали и запустили такую программу, нажмите CTRL+BREAK.

Цикл может не выполняться ни разу, если значение логического выражение изначально false.

Цикл с постусловием.

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

Repeat Операторы; Until условие.

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

  1. НКонспект курса Язык Паскаль 7.0Конспект курса Язык Паскаль 7.0апишите программу, которая вычисляет сумму бесконечно убывающей геометрической прогрессии, пока слагаемое не станет меньше заданного с клавиатуры числа eps. Первый член прогрессии и знаменатель ввести с клавиатуры. Выведите на экран сумму прогрессии по формуле.

  2. Проверьте, что Pi/4 равно сумме ряда:

  3. Проверьте, что сумма ряда 1+1/22+1/32+1/42… стремится к PI2/6

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

1. Присвоить а=1, n=6.

2. Повторять 8 раз следующую последовательность шагов: N:=2*N;

Конспект курса Язык Паскаль 7.0


3Конспект курса Язык Паскаль 7.0. Вычислите Конспект курса Язык Паскаль 7.0 ;

4. Напечатать p с точностью до 6 знаков, погрешность е

с точностью до 8 знаков.

Организация движения в языке Паскаль.

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

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

Пример программы:

program move;

uses crt, graph; {подключение библиотек для графики}

var x,y,{координаты точки}

a,b:integer;{переменные для определения параметров графики}

begin

b:= detect; initgraph(b,a,' '); {инициализация графического режима}

{движение объекта по экрану}

for x:=0 to 640 do

begin

y:=x div 2; {определение координаты y}

{построение окружности}

setcolor(7); {определили цвет, которым будем чертить}

circle(x,y,5); {чертит окружность с центром в точке x,y и радиусом 5}

delay(100); {задерживаем изображение}

{закрашиваем окружность черным цветом - цветом экрана}

setcolor(0); {цвет, которым будем чертить- черный}

circle(x,y,5);

end;

end.

Обратите внимание на то, что координаты точки могут быть только целым числом!

Рисование с использованием функции случайных чисел.

Функцией random; вы можете активизировать выбор случайных чисел и построить, скажем множество окружностей в случайных точках случайного цвета. Функция random(x) принимает случайное значение, меньшее х (х типа integer). Если параметр х не задан, (random;), то значения будут от 0 до1. Перед использованием функции random ее необходимо активизировать функцией randomizе;

Пример программы:

Uses graph, crt;

Var gm,gt,x,y,с,i: integer;

Begin {начало программы}

b:= detect; initgraph(b,a,' '); {инициализация графического режима}

Randomize;{активизировали датчик случайных чисел}

for i:= 1 to 100 do {будем чертить 100 окружностей}

begin {начало тела цикла}

X:=random(640); y:=random(480); {координаты ч и y определяются
случайным образом}

c:=random(14); {определение цвета случайным образом от 0 до 14}

setcolor (c); {устанавливаем цвет линии}

circle(x,y,20); {чертим окружность}

delay(500); {задержка }

end; {конец тела цикла}

end. {конец программы}

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

Построение фигур на основе математических зависимостей.

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

Program pavlin;

║uses graph,crt;

║var gm,gt,x1,x2, a, y2:integer;

║begin

║ gt:=detect; initgraph(gt, gm, '');

║ x1:=0; a:=1;

║ while x1<=600 do

║ begin

║ x2:=round(320+140*sin(x1/30));

║ y2:=round(240+140*cos(x1/30));

║ delay(800);

║ line(x1,240,x2,y2);

║ x1:=x1+2; a:=a+1;

║ if a>14 then a:=1;

║ end;

║ readkey;

║ closegraph; ║ end.

Построение графиков функций в декартовых координатах.

При построении графиков математические координаты построения пересчитываются в графические.

│║uses graph,crt;

│║var x,y,i,j,gm,gd:integer; {глобальные переменны программы}

│║h,xtek,ytek:real;

│║function f(x:real): real; {вычисление функции f}

│║ begin {начало функции}

│║ if x>0 then f:=sqrt(x) else f:=0; {вычисление функции }

│║ end; {конец функции}

│║begin {начало программы}

│║gd:=detect; initgraph(gm,gd,''); {инициализация графики}

│║setcolor(green); {устанавливаем цвет линий}

│║line(320,0,320,480); {ось координат OY проходит по центру экрана}

│║line(0,240,680,240); {ось координат OX проходит по центру экрана}

│║for i:=1 to 64 do {размечаем деления через 10 пикселей по оси ОХ}

│║ line(i*10,240-2,i*10,240+2);

│║for j:=1 to 48 do {размечаем деления через 10 пикселей по оси ОУ}

│║ line(320-2,j*10,320+2, j*10);

│║xtek:=-32; {текущее значение Х}

│║h:=0.1; {шаг построения точек графика}

│║repeat

│║ ytek:=f(xtek); { вычисляем ytek как результат функции f}

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

│║ putpixel(round(xtek*10)+320, -round(ytek*10)+240 ,yellow);

│║ xtek:=xtek+h; {увеличиваем текущее значение согласно шагу}

│║until xtek>32; {пока не дошли до конца экрана}

│║readkey; {удерживаем изображение до нажатия клавиши}

│║closegraph; {закрываем графику}

│║end. {конец программы}

  1. Измените эту программу для построения графиков функций Y=X2; Y=sin(x);

Y=1/sin(x). Для этой функции в процедуре putpixel переменную xtek*100, шаг h=0.001.

Элементы языка Турбо Паскаль.

В языке Турбо Паскаль используются следующие

типы переменных:

Идентификатор

Длина, байт

Диапазон значений

Целые типы

Integer

2

-32768…32767

Byte

1

0…255

Word

2

0…65535

Shortint

1

-128…127

Longint

4

-2 147 483 648… + 2 147 483 647

Вещественные типы

Real

6

2,9*10-39…1,7*1038 (11-12)

Double

8

5*10-324…1,7*10308 (15-16)

Extended

10

3,4*10-4932…1,1*104932 (19-20)

Логический тип

Boolean

1

True, False

Символьный тип

Char

1

Все символы таблицы ASCII

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

Операция

Синтаксис

Тип результата

Сложение

A+B

Real, Integer

Вычитание

A-B

Real, Integer

Умножение

A*B

Real, Integer

Деление

A/B

Real

Целое деление (целая часть от деления)

A div B

Integer, применима только к целым переменным

Остаток от деления

A mod B

Integer, применима только к целым переменным

логические операции

Приоритет

Операция

Значение

0

Not

Отрицание

1

And

Логическое умножение (конъюнкция И)

2

Or

Логическое сложение (дизъюнкция ИЛИ)

Xor

Исключающее ИЛИ

3

=, <>

Равно, не равно

<, <=

Меньше, меньше или равно

>, >=

Больше, больше или равно

математические функции

Функция

Тип аргумента

Тип результата

Действие функции

ABS (X)

Integer, real

Тип аргумента

Модуль Х

EXP (X)

Integer, real

Real

Экспонента т.е. ех

COS(X)

Integer, real

Real

Косинус Х

SIN(X)

Integer, real

Real

Синус Х

ARCTAN(X)

Integer, real

Real

Арктангенс Х

LN(X)

Integer, real

Real

Натуральный логарифм Х

SQRT(X)

Integer, real

Real

Корень из Х

SQR(X)

Integer, real

Real

Квадрат Х

RANDOM(X)

Integer, real

Real

Случайное число из диапазона 0<=…<=x

PI

-

Число Пи

ODD(X)

Integer

Boolean

True, если х - нечетное, False, если х - четное

INC(X,N)

Integer

Тип аргумента

Значение Х увеличенное на N

DEC(X,N)

Integer

Тип аргумента

Функции преобразования типов

Функция

Тип аргумента

Тип результата

Действие функции

INT(x)

real

real

Целая часть х

FRAC(X)

real

real

Дробная часть х

TRUNC(X)

real

Integer

Целая часть х

ROUND(X)

real

Integer

Значение х, округленное до следующего целого числа

Название шрифта

номер

Название цвета

номер

Название цвета

номер

System (системный растровый)

0

Черный

0 (Black)

Темно - серый (DarkGray)

8

Triplex (тройной)

1

Синий

1 (Blue)

Светло- синий

9

Small (мелкий)

2

Зеленый

2 (Green)

Светло- зеленый

10

Sans serif

3

Бирюзовый

3 (Cyan)

Светло- бирюзовый

11

Gotic (готический)

4

Script (письменный)

5

Красный

4 (Red)

Светло - красный

12

Simple (прямой)

6

Розовый

5 (Magenta)

Светло - розовый

13

Triplex script (тройной наклонный)

7

Lcom (прямой двойной)

8

коричневый

6 (Broun)

Желтый (Yeloow)

14

euro

9

Светло- серый

7

Белый (White)

15

План Паскаль

Требуются знания

  1. Редактор языка (практ задание)

  2. Знание процедур ввода - вывода (тест)

  3. математические функции в линейных алгоритмах (конспект)

  4. Целые и дробные переменные (одаренным)

  5. Условного перехода (тест, практическая) , неполная форма

  6. Логические операции (задачи, тест)

  7. Циклы

  8. С параметром (тест и практическая)

  9. Пока (тест и практическая)

  10. Кодировка ORD, CHR

  11. Процедуры и функции

  12. Графика

  13. Символьные переменные

Блок - схемы

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

Время:

Паскаль по 1 уроку в 10 и 9 классе по одной программе.


© 2010-2022