Персональный сайт учителя Андросовой Алёны Викторовны
 Пятница, 03.05.2024, 21:42
Меню сайта

Миг прекрасен

Новости образовани

Поиск

Календарь
«  Май 2024  »
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
2728293031

Архив записей

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Ведение в программирование. Первые шаги

Скачать программу Паскаль АВС

 


 Начало работы  смотреть с 4 минуты   

В данном видео "разжевано" все!!!!   вплоть до пунктов меню!!!!

 

 

Оператор присваивания

Для присваивания значения переменной используется оператор присваивания.  Арифметический оператор присваивания на Паскаль имеет следующий  формат:

числовая переменная:= арифметическое выражение

 

Алгоритм выполнения оператора:

1. Вычисляется значение выражения, стоящего справа от знака присваивания.

2. Полученное значение присваивается переменной , стоящей в левой части.

 

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

Для организации вывода и вывода  данных в языке Паскаль предусмотрены следующие операторы: read, readln, write и writeln.  

Названия означают "читай", "читай строку" (read line),   "пиши",   "пиши строку"   (write line) соответственно.

 

Оператор ввода можно записать в одной из следующих форм:

read(x1, x2, ..., xn);

readln(x1, x2, ..., xn);

read; 

где x1, x2, ..., xn - список ввода, содержащий имена переменных, значения которых будут вводится.

Например:

var x, y: integer;

readln(x, y);

...

К сведению :

С помощью одного оператора ввода можно вводить значения нескольких переменных. В качестве разделителя при вводе значений  можно использовать  пробел либо нужно нажимать клавишу Enter после ввода каждого из значений.  

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

 

Вывод данных

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

Оператор вывода  записывается в одной из следующих форм:

write(y1, y2, ..., yn);

writeln(y1, y2, ..., yn);

writeln;

где y1, y2, ..., yn - список вывода.

Например:

writeln('Сумма равна: ', sum);

 

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

Оператор writeln; (без параметров) переводит курсор в начало следующей строки. Таким способом можно, например, отделять результаты работы программы друг от друга одной или несколькими пустыми строками.

 

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

 

Решение.

 Program  Proba;
  var a,b,rez: integer;
  begin
  writeln ('Введите два числа через пробел');
      readln (a,b);
      rez:=a*b;
      writeln ('Их произведение равно: ', rez);
      writeln (' Нажмите  <enter>');
      writeln
  end.

 

Пример 2.  Поменять местами значения переменных x и y.

Решение.

Нам нужно изменит значения переменных. Для этого можно использовать оператор присваивания.

Как легко проверить, к цели не приводит выполнение следующих операторов:

x:=y; {переменной x присвоить, значение переменной y}
y:=x; {переменной y присвоить значение переменной х}

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

Первый способ:

Z:= x; X:=y; Y:=z

Второй способ:

Z:=y; y:=x; x:=z

program _1;
var x, y, z: integer;
begin
 writeln('Введите два числа: ');
 readln(x,y);
 z:=x;
 x:=y;
 y:=z;
 writeln(x, ' ',y);
end.

 

Пример 3. Найти целую часть и остаток от деления целого числа a на целое число b.

Решение.

program _2;
 var a, b, p1, p2: integer;
 begin
 writeln('Введите a, b: ');
 readln(a,b);
 p1:=a div b;
 p2:=a mod b;
 writeln('Целая часть: ',p1, ' Остаток: ',p2);
 end.

Пример 3. Найти сумму цифр заданного трехзначного числа.

Решение.

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

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

Алгоритм нахождения цифр числа:
1. Находим последнюю цифру в записи числа. Для этого находим остаток от деления заданного числа на 10 с помощью операции mod.  Сохраняем её.

2. Вычеркиваем  последнюю цифру. Для этого присвоим новое значение числу, разделив старое значение нацело на 10 помощью опрерации div. Число станет двузначным.

3. Находим последнюю цифру теперь уже двузначного числа. Сохраняем её.

4. Зачеркиваем последнюю цифру.  Остается первая цифра.

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

 program _3;
 var a, c1, c2, c3, s:integer;
 begin
 writeln('Введите число: ');
 readln(a);
 c3:=a mod 10; a:=a div 10;
 c2:=a mod 10; c1:= a div 10;
 s:=c1+c2+c3;
 writeln('Сумма равна: ',s);
 end.

 

Выполни сам

1. Найти площадь прямоугольника, зная  его стороны

2. Ввести 5 чисел и найти разность 2 и 3, сумму 1 и 4.

3. Найти длину окружности и площадь круга, зная радиус окружности.

4. Поменять в двухзначном числе цифры местами.

Ответь на вопросы:
1.

Смотрим с целью ознакомления, обращаем внимание на использование операторов ввода и вывода

 

 

 

Урок2.  Работа   с текстовыми данными

 

Урок из серии: "Язык программирования Паскаль"

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

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

 

Текстовые файлы – это файлы, содержащие символы, разделенные на строки. Причем в конце каждой строки стоит символ конца строки.

Общая последовательность действий при работе с файлами в языке программирования Паскаль:

  1. описать переменную файлового типа;
  2. связать ее с конкретным физическим файлом процедурой Assign;
  3. открыть файл для чтения процедурой ReSet или для записи процедурой ReWrite;
  4. выполнить чтение или запись информации;
  5. по окончании работы с файлом закрыть файл процедурой Close.

 

Описание переменной файлового типа

 

С текстовым файлом на диске в программе должна быть связана файловая переменная, которая описывается с указанием стандартного типа Text:

Var <имя файловой переменной>: Text;

 

Связь переменной файлового типа с конкретным внешним файлом

 

Для установления связи между файловой переменной и именем файла, присваиваемого операционной системой, имеется стандартная процедура Assign.

Общий вид:

Assign (<имя файловой переменной >, ‘<имя внешнего файла>’);

Например,

Assign(F1, ‘int.dat’)

Такое соответствие обозначает, что все операции, выполняемые над переменной F1, будут выполняться над файлом, хранящемся на диске и имеющим имя 'Int.dat'

 

Чтение из файла

 

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

Для чтения файла в программе необходимо выполнить следующие действия:

Открыть файл для чтения:

Reset (<имя файловой переменной >)’;

Прочитать данные файла в программу с помощью процедуры Read или Readln .

Процедура Read последовательно считывает все элементы строки:

Read(<имя файловой переменной >,<элемент>)

Процедура Readln – считывает элемент из текущей строки и переходит на следующую строку (независимо от того, достигнут конец строки или нет):

Readln(<имя файловой переменной >,<элемент>)

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

Readln (<имя файловой переменной>)

 

Закрытие файла

 

После завершения работы с файлом, его нужно закрыть и «освободить» файловую переменную . Это делается с помощью процедуры Сlose.

Общий вид оператора:

Close(<файловой переменной >)

Общая форма чтения файла имеет вид:

Reset(<имя файловой переменной >); {открыть файл для чтения}


Read(<имя файловой переменной ><'элемент>); {считать из файла элемент}



Close(<имя файловой переменной >);{закрыть файл}

Многоточием отмечено наличие других операторов в программе.

 

Признак конца файла

 

Так как, по определению, число элементов файла не задается заранее, то в языке Паскаль введена логическая функция Eof() для определения признака конца файла.

Общий вид функции:

eof(<файловой переменной>).

Она определяет, достигнут ли конец файла или еще нет (принимает значение (true), если достигнут конец файла, и ложь (false) - в противном случае).

Для определения конца файла используется оператор цикла, например, (пока не достигнут конец файла …):

While Not EOF (<имя файловой переменной >) Do …

 

Запись в файл

 

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

Для записи файла в программе необходимо выполнить следующие действия:

Открыть файл для записи с помощью процедуры  Rewrite:

rewrite (<имя файловой переменной>);

Записать данные в файл спомощью процедур Write или Writeln.

Процедура Write производит запись поэлементно в текущую строку:

Write (<имя файловой переменной >, <элемент>) ;

Процедура WriteLn записывает элемент и переводит указатель в начало следующей строки:

Writeln (<имя файловой переменной >,<элемент>).

Если не указывать второй параметр процедуры, то в конце данной строки ставится признак конца файла и текущий указатель перемещается на начало следующей строки:

WriteLn(<имя файловой переменной >)

После завершения работы с файлом его закрытие обязательно.

Общая форма записи файла имеет вид:

ReWrite(<имя файловой переменной >); {открыть файл для записи}



Write(<имя файловой переменной >,<элемент>) ; {Записать элемент в файл}



Close(<имя файловой переменной >);        {закрыть файл}

 

Логическая функция Eoln()

 

Часто для обработки текстовых файлов используется специфичная для них функция Eoln(), позволяющая определить, достигнут ли конец строки. Если достигнут - значение функции равно True, а если нет - False.

Таким образом, для анализа конкретных символов строк файла можно применить вложенный цикл типа:

while not Eoln(FileName) do {пока не достигнут конец очередной строки, делай}
    begin
    {группа операторов обработки символов очередной строки}
    end;

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

Решение.

Пусть в файле содержится следующая информация:

-32 16 0 8 7
4 5 9 13 11 -5 -8
6 -8 0 12
1 2
-1 -2 -4
-1 -2 4

Этот файл можно создать в среде Паскаль следующим образом:

  1. Создать новый файл (команда Файл-Новый).
  2. Записать все числа в строке через пробелы.
  3. Сохранить его, например, как ‘primer1.dat’.
    Для этого в диалоговом окне сохранения файла в списке Тип файла выбрать Все файлы. В поле Имя файла ввести полное имя файла (имя с расширением).

Программа будет иметь следующий вид:

program Primer_1;

var f:text;

 x,k: integer;

begin

 assign(F,'primer1.dat'); {связываем с внешним файлом}

 reset(F);            {открываем для чтения}

 while not eof(f) do  {пока не конец файла}

 begin

 k:=0;              {начальное количество элементов строки}

 while not eoln(f)do {пока не конец строки}

 begin

 read(f,x);     {считываем очередное число}

 write(x,' ');  {выводим его на экран}

 inc(k);        {увеличиваем счетчик}

 end;

 writeln('в строке ',k,' элементов');

 readln(f);        {переходим к следующей строке файла}

 end;

 close(f);

end.

 

 

 

 

<div style="width:546px"> <strong style="display:block;margin:12px 0 4px"><a href="http://ppt4web.ru/informatika/jazyk-programmirovanija-pascal-vetvlenie.html" title="Язык программирования Pascal. Ветвление" target="_blank">Язык программирования Pascal. Ветвление</a></strong><iframe src="http://ppt4web.ru/iframe.html?id=76083" width="546" height="410" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC;border-width:1px 1px 0" allowfullscreen></iframe><div style="padding:5px 0 12px">Смотреть еще презентации из раздела <a href="http://ppt4web.ru/informatika" target="_blank">Информатика</a> </div> </div>

Язык программирования Pascal. Ветвление
Смотреть еще презентации из раздела Информатика
 
 
 

Графика в Pascal ABC

 

 

Для рисования в Pascal ABC необходимо запустить специальный модуль GraphABC, использование специальных функций и процедур помогут вам нарисовать точку, отрезок, окружность и прямоугольник и другие фигуры:  

Первой инструкцией программы должна быть инструкция
uses GraphABC;

SetPixel(x,y,color) - Закрашивает один пиксел с координатами (x,y) цветом color 

LineTo(x,y) - рисует отрезок от текущего положения пера до точки (x,y); координаты пера при этом также становятся равными (x,y). 

Line(x1,y1,x2,y2) - рисует отрезок с началом в точке (x1,y1) и концом в точке (x2,y2). 

SetPenColor(color) - устанавливает цвет пера, задаваемый параметром color.

SetPenWidth(n) - устанавливает ширину (толщину) пера, равную n пикселям. 

Rectangle(x1,y1,x2,y2) - рисует прямоугольник, заданный координатами противоположных вершин (x1,y1) и (x2,y2). 

FloodFill(x,y,color) - заливает область одного цвета цветом color, начиная с точки (x,y). 

SetBrushColor(color) - устанавливает цвет кисти. Заливка кистью распространяется на замкнутый контур, описание которого следует за процедурой установки цвета кисти.

Ellipse(x1,y1,x2,y2) - рисует эллипс, заданный своим описанным прямоугольником с координатами противоположных вершин (x1,y1) и (x2,y2).

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

Arc(x,y,r,a1,a2) - Рисует дугу окружности с центром в точке (x,y) и радиусом r, заключенной между двумя лучами, образующими углы a1 и a2 с осью OX (a1 и a2 – вещественные, задаются в градусах и отсчитываются против часовой стрелки). 
 
Цвета в PascalABC:
clBlack – черный 
clPurple – фиолетовый 
clWhite – белый 
clMaroon – темно-красный 
clRed – красный 
clNavy – темно-синий 
clGreen – зеленый 
clBrown – коричневый 
clBlue – синий 
clSkyBlue – голубой 
clYellow – желтый 
clCream – кремовый 
clAqua – бирюзовый 
clOlive – оливковый 
clFuchsia – сиреневый 
clTeal – сине-зеленый 
clGray – темно-серый 
clLime – ярко-зеленый 
clMoneyGreen – цвет зеленых денег 
clLtGray – светло-серый 
clDkGray – темно-серый
clMedGray – серый
clSilver – серебряный
 

Программы “Треугольник” и “Квадрат” отображают простые объекты, из которых могут состоять более сложные - “Домик”.

Выводы из примера, для написания программ:

Можно выделить простые объекты, из которых состоит более сложный объект, и написать программу для каждого простого объекта;

ПРИМЕР № 1

Program Kvadrat; // Объявление названия программы

Uses GraphABC;

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

MoveTo(50,50); //Передвигает невидимое перо к точке с координатами (50,50)

LineTo(50,100); //Рисует линию от текущего положения пера до точки с координатами (50,100)

LineTo(100,100);

LineTo(100,50);

LineTo(50,50);

End. // Конец составного оператора (служебное слово)

ПРИМЕР № 2

Program Treugolnik; // Объявление названия программы Uses GraphABC;

Var m:integer; // Объявление переменной: типа

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

m:=25; // Присвоение переменной значения 25

MoveTo(50,50); //Передвигает невидимое перо к точке с координатами (50,50)

LineTo(50+m,m); //Рисует линию от текущего положения пера до точки с координатами (50+25,25)

LineTo(100,50);

LineTo(50,50);

End. // Конец составного оператора (служебное слово)

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

ПРИМЕР № 3

Program Domik; // Объявление названия программы Uses GraphABC;

Var m:integer; // Объявление переменной: типа

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

MoveTo(50,50); //Передвигает невидимое перо к точке с координатами (50,50)

LineTo(50,100); //Рисует линию от текущего положения пера до точки с координатами (50,100)

LineTo(100,100);

LineTo(100,50);

LineTo(50,50);

LineTo(50+m,m); //Рисует линию от текущего положения пера до точки с координатами (50+25,25)

LineTo(100,50);

LineTo(50,50);

End. // Конец составного оператора (служебное слово)

Сделать бесплатный сайт с uCoz