СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до 19.05.2025

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Знакомство с языком программирования ПАСКАЛЬ

Категория: Информатика

Нажмите, чтобы узнать подробности

В 1969 г. Швейцарским профессором Никлаусом Виртом был создан язык программирования Паскаль, предназначенный для обучения студентов структурной методике программирования.

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

Просмотр содержимого документа
«Знакомство с языком программирования ПАСКАЛЬ»

ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ПАСКАЛЬ

ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ПАСКАЛЬ

ЗНАКОМСТВО С ЯЗЫКОМ ПАСКАЛЬ  Программа на Паскаль состоит из заголовка и тела (блока) , в конце которого следует точка – признак конца программы. В свою очередь, блок содержит разделы описаний и раздел операторов : Program ; Label ; Const ; Type ; Var ; Procedure (Function) ; Begin ; End.

ЗНАКОМСТВО С ЯЗЫКОМ ПАСКАЛЬ

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

Program ;

Label ;

Const ;

Type ;

Var ;

Procedure (Function) ;

Begin ;

End.

ПРИМЕРЫ ПРОГРАММ  Запись программы на языке Паскаль похожа на английский перевод алгоритма, записанного на алгоритмическом языке. // Первая программа program HelloWorld; begin  writeln('Привет, мир!'); end . Пример программы деления двух обыкновенных дробей:   Алгебраическая форма записи -   Исходными данными здесь являются целочисленные переменные a, b, c, d, результат –  целые величины m и n.   алг деление_дробей Program Division; цел a, b, c, d, m, n Var a,b,c,d,m,n: Integer; Begin ReadLn(a,b,c,d); нач  ввод a, b, c, d  m := a d  m:=a*d;  n := b c  n:=b*c;  WriteLn(m,n)  вывод m, n кон End.

ПРИМЕРЫ ПРОГРАММ

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

// Первая программа

program HelloWorld;

begin

writeln('Привет, мир!');

end .

Пример программы деления двух обыкновенных дробей:

 

Алгебраическая форма записи -

Исходными данными здесь являются целочисленные переменные a, b, c, d, результат – целые величины m и n.

 

алг деление_дробей

Program Division;

цел a, b, c, d, m, n

Var a,b,c,d,m,n: Integer;

Begin ReadLn(a,b,c,d);

нач ввод a, b, c, d

m := a d

m:=a*d;

n := b c

n:=b*c;

WriteLn(m,n)

вывод m, n

кон

End.

 Заголовок программы начинается со слова Program (программа) за которым следует произвольное имя, придуманное программистом ( Division – деление).  Раздел описания переменных начинается со слова Var (variables - переменные), за которым следует список переменных.  Тип указывается после двоеточия словом Integer (целый).  Начало и конец раздела операторов программы отмечаются словами Begin (начало) и End (конец). В конце программы обязательно ставится точка.  Ввод исходных данных с клавиатуры производится с помощью процедуры ReadLn (read line – считывать строку).  Вывод результатов на экран производится с помощью процедуры WriteLn (write line – писать в строку).  Точка с запятой «;» ставится в конце заголовка программы, в конце раздела описания переменных, после каждого оператора. Перед словом End точку с запятой можно не ставить.  Запятая «,» является разделителем элементов в списке переменных, в разделе описания, списке вводимых и выводимых величин.

Заголовок программы начинается со слова Program (программа) за которым следует произвольное имя, придуманное программистом ( Division – деление).

Раздел описания переменных начинается со слова Var (variables - переменные), за которым следует список переменных.

Тип указывается после двоеточия словом Integer (целый). Начало и конец раздела операторов программы отмечаются словами Begin (начало) и End (конец). В конце программы обязательно ставится точка.

Ввод исходных данных с клавиатуры производится с помощью процедуры ReadLn (read line – считывать строку).

Вывод результатов на экран производится с помощью процедуры WriteLn (write line – писать в строку).

Точка с запятой «;» ставится в конце заголовка программы, в конце раздела описания переменных, после каждого оператора. Перед словом End точку с запятой можно не ставить.

Запятая «,» является разделителем элементов в списке переменных, в разделе описания, списке вводимых и выводимых величин.

ИДЕНТИФИКАЦИЯ ТИПОВ ДАННЫХ

ИДЕНТИФИКАЦИЯ ТИПОВ ДАННЫХ

Таблица стандартных функций языка Паскаль Название и математическое обозначение функции Абсолютная величина (модуль)  | х |  Указатель функции Корень квадратный abs(x)  Натуральный логарифм  sqrt(x) Ln x Экспонента (степень числа е ~ 2.718) Квадрат числа х e x Ln(x) exp(x)   х  2  х в степени y   х у Частное от деления целого х на целое y sqr(x) exp(y*Ln(x))   Остаток от деления целого х на целое y x div y   Случайное число в диапазоне от 0 до х x mod y Синус (угол в радианах)    sin x Косинус (угол в радианах) Random (x) sin(x) cos x Округление по правилам cos(x) Округление отбрасыванием дроби Дробная часть числа Round(x) Арктангенс (главное значение в радианах) Trunc(x) Frac(x) arctg x Число Пи arctg(x) π Pi

Таблица стандартных функций языка Паскаль

Название и математическое обозначение функции

Абсолютная величина (модуль) 

| х | 

Указатель функции

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

abs(x) 

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

sqrt(x)

Ln x

Экспонента (степень числа е ~ 2.718)

Квадрат числа х

e x

Ln(x)

exp(x)

  х 2

х в степени y

  х у

Частное от деления целого х на целое y

sqr(x)

exp(y*Ln(x))

 

Остаток от деления целого х на целое y

x div y

 

Случайное число в диапазоне от 0 до х

x mod y

Синус (угол в радианах) 

 

sin x

Косинус (угол в радианах)

Random (x)

sin(x)

cos x

Округление по правилам

cos(x)

Округление отбрасыванием дроби

Дробная часть числа

Round(x)

Арктангенс (главное значение в радианах)

Trunc(x)

Frac(x)

arctg x

Число Пи

arctg(x)

π

Pi

Начало Осматриваю устройство Эта штуковина работает? Нет Да Эта штуковина работает? Да Не трогай её! Ты её трогал? Нет Зря ты это сделал! Кто-нибудь об этом знает? Да Нет Нет Да Кто-нибудь рассердился? Держи это при себе! Я тебе не завидую… Забудь об этом! Ты можешь свалить вину на другого? Нет Да Проблема решена. Конец 7

Начало

Осматриваю устройство

Эта штуковина работает?

Нет

Да

Эта штуковина работает?

Да

Не трогай её!

Ты её трогал?

Нет

Зря ты это сделал!

Кто-нибудь об этом знает?

Да

Нет

Нет

Да

Кто-нибудь рассердился?

Держи это при себе!

Я тебе не завидую…

Забудь об этом!

Ты можешь свалить вину на другого?

Нет

Да

Проблема решена.

Конец

7

Запишите по правилам программирования выражения: 1. 5. 6. 2. 3. 7. 4. 8. 9. 10.

Запишите по правилам программирования выражения:

1.

5.

6.

2.

3.

7.

4.

8.

9.

10.

Оператор ветвления на Паскале  В языке Паскаль имеется  оператор ветвления . Другое его название - условный оператор .  Формат полного оператора ветвления следующий:  if    then     else    Здесь  if  -

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

В языке Паскаль имеется  оператор ветвления . Другое его название - условный оператор .

Формат полного оператора ветвления следующий:

if    then   else  

Здесь  if  - "если",  then  - "то",  else  - "иначе".

Логическое

выражение

Простой формой логического выражения является операция отношения. В Паскале допускаются все виды отношений :

(больше);

(не равно).

+( then )

-( else )

Серия 1

Серия 2

B       then  Write(‘Число А больше В’) else Write(‘Число A меньше В’) end. Формат неполного оператора ветвления следующий: if    then   Program  primer2; var  А, В, С : real; begin  readln(А, В);        С:=А;        if  BA       then  C:=B;       write(С) end. Да Нет BA C:=B 10 " width="640"

Пример использования полного ветвления:

Program  primer1; var  А, В : real; begin  readln(А, В);         if  AB       then  Write(‘Число А больше В’)

else Write(‘Число A меньше В’) end.

Формат неполного оператора ветвления следующий:

if    then  

Program  primer2; var  А, В, С : real; begin  readln(А, В);        С:=А;        if  BA       then  C:=B;       write(С) end.

Да

Нет

BA

C:=B

10

B       then if  AC  then  D:=A  else  D:=C        else if  BC  then  D:=B  else  D:=C;      writeln(D) end. Перед  else  точка с запятой не ставится. Вся ветвящаяся часть структуры алгоритма заканчивается на точке с запятой после оператора D:=C. " width="640"

Программирование вложенных ветвлений

Запишем на Паскале программу определения большего из трех чисел:

Program  primer3_1;  var  А, В, С, D: real;  begin  readln(А, В, С);        if  AB       then if  AC  then  D:=A  else  D:=C        else if  BC  then  D:=B  else  D:=C;      writeln(D) end.

Перед  else  точка с запятой не ставится. Вся ветвящаяся часть структуры алгоритма заканчивается на точке с запятой после оператора D:=C.

=B)  and  (A=C)  then  D:=A;       if  (B=A)  and  (B=C)  then  D:=B;       if  (C=A)  and  (C=B)  then  D:=C;      writeln(D) end. Здесь использованы три последовательных неполных ветвления. А условия ветвлений представляют собой  сложные логические выражения , включающие логическую операцию  and  (И). Обратите внимание на то, что отношения, связываемые логическими операциями, заключаются в скобки. Так надо делать всегда! Например, требуется определить, есть ли среди чисел А, В, С хотя бы одно отрицательное. Эту задачу решает следующий оператор ветвления: if  (Athen  write ('YES ') else  write('NO '); Выражение, истинное для отрицательного числа, может быть записано еще и так: not (A = 0) " width="640"

Реализовать на Паскале программу определения большего из трех чисел можно также другим способом, при помощи логических операций:

Program   primer3_2; var  А,В,С,D: real;  begin  readln(А,В,С);       if  (A=B)  and  (A=C)  then  D:=A;       if  (B=A)  and  (B=C)  then  D:=B;       if  (C=A)  and  (C=B)  then  D:=C;      writeln(D) end.

Здесь использованы три последовательных неполных ветвления. А условия ветвлений представляют собой  сложные логические выражения , включающие логическую операцию  and  (И).

Обратите внимание на то, что отношения, связываемые логическими операциями, заключаются в скобки. Так надо делать всегда! Например, требуется определить, есть ли среди чисел А, В, С хотя бы одно отрицательное. Эту задачу решает следующий оператор ветвления:

if  (Athen  write ('YES ') else  write('NO ');

Выражение, истинное для отрицательного числа, может быть записано еще и так: not (A = 0)

Y       then begin  С:=X;            X:=Y;            Y:=C         end ;      write(X,Y) end. Если на какой-то из ветвей оператора ветвления находится несколько последовательных операторов, то их нужно записывать между служебными словами  begin  и  end . Конструкция такого вида: begin    end называется - составным оператором. " width="640"

Пример использования составного оператора :

Составим программу сортировки по возрастанию значений двух переменных: А и В

Program  primer4; var  X, Y, С : real; begin  readln(X, Y) ;       if  XY       then begin  С:=X;            X:=Y;            Y:=C         end ;      write(X,Y) end.

Если на какой-то из ветвей оператора ветвления находится несколько последовательных операторов, то их нужно записывать между служебными словами  begin  и  end .

Конструкция такого вида: begin    end

называется - составным оператором.

Вопросы и задания 1. Как программируется на Паскале полное и неполное ветвление? 2. Что такое составной оператор? В каких случаях составной оператор используется в операторе ветвления? 3. Составьте вариант программы определения наименьшего из трех данных чисел. 4. Составьте программу сортировки по возрастанию значений трех переменных: А, В, С. 5. Составьте программу вычисления корней квадратного уравнения по данным значениям его коэффициентов.

Вопросы и задания

1. Как программируется на Паскале полное и неполное ветвление?

2. Что такое составной оператор? В каких случаях составной оператор используется в операторе ветвления?

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

4. Составьте программу сортировки по возрастанию значений трех переменных: А, В, С.

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

0 then n:=n+1; if b0 then n:=n+1; if c0 then n:=n+1; writeln('Количество положительных чисел: ', n); end . Program If_5; var a, b, c, n, n2: integer; begin write('Введите три целых числа: '); readln(a, b, c); If a0 then n:=n+1; if athen n2:=n2+1; if b0 then n:=n+1; if bthen n2:=n2+1; if c0 then n:=n+1; if cthen n2:=n2+1; writeln('Количество положительных чисел: ', n, ' Количество отрицательных чисел: ',n2 ); end . " width="640"

Program If_4;

var

a, b, c, n: integer;

begin

write('Введите три целых числа: ');

readln(a, b, c);

If a0 then n:=n+1;

if b0 then n:=n+1;

if c0 then n:=n+1;

writeln('Количество положительных чисел: ', n);

end .

Program If_5;

var

a, b, c, n, n2: integer;

begin

write('Введите три целых числа: ');

readln(a, b, c);

If a0 then n:=n+1;

if athen n2:=n2+1;

if b0 then n:=n+1;

if bthen n2:=n2+1;

if c0 then n:=n+1;

if cthen n2:=n2+1;

writeln('Количество положительных чисел: ', n, ' Количество отрицательных чисел: ',n2 );

end .

Циклы в Паскале  В программировании блоки кода, которые требуется повторять не единожды, оборачиваются в специальные конструкции –  циклы . У циклов выделяют заголовок и тело. Заголовок определяет, до каких пор или сколько раз тело цикла будет выполняться. В зависимости от результата тело цикла либо повторяется, либо поток выполнения переходит к следующему выражению после всего цикла.  В языке программирования Паскаль существует три вида циклических конструкций:

Циклы в Паскале

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

В языке программирования Паскаль существует три вида циклических конструкций:

Цикл For («Для»)  Цикл for называют циклом со счетчиком. И в нём количество повторений может быть вычислено заранее.  В заголовке цикла указываются два значения: первое значение присваивается так называемой переменной-счетчику, от этого значения начинается отсчет количества итераций (повторений). Отсчет идет всегда с шагом равным единице; второе значение указывает, при каком значении счетчика цикл должен остановиться. Другими словами, количество итераций цикла определяется разностью между вторым и первым значением плюс единица. В Pascal тело цикла не должно содержать выражений, изменяющих счетчик.  Цикл for существует в двух формах: for счетчик := значение to конечное_значение do  тело_цикла ; for счетчик := значение downto конечное_значение do  тело_цикла ;

Цикл For («Для»)

Цикл for называют циклом со счетчиком. И в нём количество повторений может быть вычислено заранее.

В заголовке цикла указываются два значения:

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

Цикл for существует в двух формах:

for счетчик := значение to конечное_значение do

тело_цикла ;

for счетчик := значение downto конечное_значение do

тело_цикла ;

 Счетчик  – это переменная любого из перечисляемых типов (целого, булевого, символьного, диапазонного, перечисления). Начальные и конечные значения могут быть представлены не только значениями, но и выражениями, возвращающими совместимые с типом счетчика типы данных. Если между начальным и конечным выражением указано служебное слово  to , то на каждом шаге цикла значение параметра будет увеличиваться на единицу. Если же указано  downto , то значение параметра будет уменьшаться на единицу.  Количество итераций цикла  for  известно именно до его выполнения, циклу уже точно известно, сколько раз надо выполниться. program Zvezda1; var i, n:Integer; begin write('Количество знаков: '); readln(n); for i := 1 to n do write ('(*) ') end .

Счетчик  – это переменная любого из перечисляемых типов (целого, булевого, символьного, диапазонного, перечисления). Начальные и конечные значения могут быть представлены не только значениями, но и выражениями, возвращающими совместимые с типом счетчика типы данных. Если между начальным и конечным выражением указано служебное слово  to , то на каждом шаге цикла значение параметра будет увеличиваться на единицу. Если же указано  downto , то значение параметра будет уменьшаться на единицу.

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

program Zvezda1;

var i, n:Integer;

begin

write('Количество знаков: ');

readln(n);

for i := 1 to n do write ('(*) ')

end .

Цикл While («Пока»)  Цикл  while  является циклом с предусловием. В заголовке цикла находится логическое выражение. Если оно возвращает  true , то тело цикла выполняется, если  false  – то нет.  Когда тело цикла было выполнено, то ход программы снова возвращается в заголовок цикла. Условие выполнения тела снова проверяется (находится значение логического выражения). Тело цикла выполнится столько раз, сколько раз логическое выражение вернет  true . Поэтому очень важно в теле цикла предусмотреть изменение переменной, фигурирующей в заголовке цикла, таким образом, чтобы когда-нибудь обязательно наступала ситуация  false . Иначе произойдет так называемое  зацикливание , одна из самых неприятных ошибок в программировании. program Zvezda2; var i, n: integer; begin  write('Количество знаков: ');  readln(n);  i := 1;  while i do begin  write ('(*) ');  i := i + 1  end ; end .

Цикл While («Пока»)

Цикл  while  является циклом с предусловием. В заголовке цикла находится логическое выражение. Если оно возвращает  true , то тело цикла выполняется, если  false  – то нет.

Когда тело цикла было выполнено, то ход программы снова возвращается в заголовок цикла. Условие выполнения тела снова проверяется (находится значение логического выражения). Тело цикла выполнится столько раз, сколько раз логическое выражение вернет  true . Поэтому очень важно в теле цикла предусмотреть изменение переменной, фигурирующей в заголовке цикла, таким образом, чтобы когда-нибудь обязательно наступала ситуация  false . Иначе произойдет так называемое  зацикливание , одна из самых неприятных ошибок в программировании.

program Zvezda2;

var i, n: integer;

begin

write('Количество знаков: ');

readln(n);

i := 1;

while i do begin

write ('(*) ');

i := i + 1

end ;

end .

n; end . В примере, даже если n будет равно 0, одна звездочка все равно будет напечатана. " width="640"

Цикл R epeat («До»)

Цикл  while  может не выполниться ни разу, если логическое выражение в заголовке сразу вернуло  false . Однако такая ситуация не всегда может быть приемлемой. Бывает, что тело цикла должно выполниться хотя бы один раз, не зависимо оттого, что вернет логическое выражение. В таком случае используется цикл repeat – цикл с постусловием.

В цикле  repeat  логическое выражение стоит после тела цикла. Причем, в отличие от цикла  while , здесь всё наоборот: в случае  true  происходит выход из цикла, в случае  false  – его повторение.

program Zvezda3;

var i, n: integer;

begin

write('Количество знаков: ');

readln(n);

i := 1;

repeat

write('(*) ');

i := i + 1

until i n;

end .

В примере, даже если n будет равно 0, одна звездочка все равно будет напечатана.

Контрольная работа Дано натуральное число, найти количество цифр в записи этого числа. Найти сумму квадратов 10 чисел, расположенных подряд по возрастанию. Вывести на экран числа от А до В в прямом, а затем в обратном порядке. Вычислить произведение чисел от 1 до 5 используя различные варианты цикла в одной программе. Найти сумму цифр целого числа N.

Контрольная работа

  • Дано натуральное число, найти количество цифр в записи этого числа.
  • Найти сумму квадратов 10 чисел, расположенных подряд по возрастанию.
  • Вывести на экран числа от А до В в прямом, а затем в обратном порядке.
  • Вычислить произведение чисел от 1 до 5 используя различные варианты цикла в одной программе.
  • Найти сумму цифр целого числа N.
'); readln(a); S:=0; WHILE (a0) DO Begin c:= a mod 10; a:= a div 10; S:=S+c; End ; Writeln ('S= ', S); End . 5 " width="640"

1

2

4

Var a, s, c : longint;

Begin

Writeln('Программа находит сумму цифр числа');

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

Write('a-');

readln(a);

S:=0;

WHILE (a0) DO

Begin

c:= a mod 10;

a:= a div 10;

S:=S+c;

End ;

Writeln ('S= ', S);

End .

5

МАССИВЫ  Одномерный массив — это фиксированное количество элементов одного и того же типа (integer, real или char), объединенных одним именем, где каждый элемент имеет свой номер.  Обращение к элементам массива осуществляется с помощью указания имени массива и номеров элементов.  Программа может сразу получить нужный ей элемент по его порядковому номеру (индексу). // Первый вариант var a : array [1..N] of integer ;   // Второй вариант   type massiv = array[1..N] of integer ;   var a: massiv;

МАССИВЫ

Одномерный массив это фиксированное количество элементов одного и того же типа (integer, real или char), объединенных одним именем, где каждый элемент имеет свой номер.  Обращение к элементам массива осуществляется с помощью указания имени массива и номеров элементов.

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

// Первый вариант

var

a : array [1..N] of integer ;

 

// Второй вариант

type

massiv = array[1..N] of integer ;

 

var

a: massiv;

 Между именем типа и именем переменной ставится знак «двоеточие». Array — служебное слово (в переводе с английского означает «массив», «набор»); [1..N] — в квадратных скобках указывается номер первого элемента, затем, после двух точек, номер последнего элемента массива; of — служебное слово (в переводе с английского «из»); integer — тип элементов массива.  Индексом могут быть не только натуральные числа, можно написать так: [0..10], [-29..45], [‘a’..’z’], [false..true] — то есть подходят любые символы и числа — главное соблюсти следующее условие: левая часть меньше правой . Для того чтобы определить, что меньше — восклицательный знак(‘!’) или точка(‘.’) используем таблицу ASCII и функции Ord() и Chr() ( Ord (L) т.е. (код) буквы «L», по таблице ASCII код буквы «L» - 76 ).  Для того чтобы ввести или вывести значения элементов массива, можно использовать любой цикл. for i := 1 to N do read (a[i]); //a[i] - элемент одномерного массива a  с индексом (порядковым номером) i .

Между именем типа и именем переменной ставится знак «двоеточие».

Array — служебное слово (в переводе с английского означает «массив», «набор»);

[1..N] — в квадратных скобках указывается номер первого элемента, затем, после двух точек, номер последнего элемента массива;

of — служебное слово (в переводе с английского «из»);

integer — тип элементов массива.

Индексом могут быть не только натуральные числа, можно написать так: [0..10], [-29..45], [‘a’..’z’], [false..true] — то есть подходят любые символы и числа — главное соблюсти следующее условие: левая часть меньше правой . Для того чтобы определить, что меньше — восклицательный знак(‘!’) или точка(‘.’) используем таблицу ASCII и функции Ord() и Chr() ( Ord (L) т.е. (код) буквы «L», по таблице ASCII код буквы «L» - 76 ).

Для того чтобы ввести или вывести значения элементов массива, можно использовать любой цикл.

for i := 1 to N do

read (a[i]); //a[i] - элемент одномерного массива a с индексом (порядковым номером) i .

Ввод массива Var       A :  array  [1..10]  of   integer ;      I : byte ; {переменная I вводится как индекс массива}   Begin        For  i:=1  to  10  do           Readln (a[i]); {ввод i-го элемента производится с клавиатуры}  Случай, когда массив Паскаля заполняется автоматически случайными числами, с использованием функции  random( N ): Var       A:  array  [1..10]  of   integer ;      I : byte ; {переменная I вводится как индекс массива}   Begin        For  i :=1  to  10  do          A [ i ]:= random(10) ; {i-му элементу массива присваивается «случайное» целое число в диапазоне от 0 до 10}

Ввод массива

Var      A :  array  [1..10]  of   integer ;     I : byte ; {переменная I вводится как индекс массива}  Begin       For  i:=1  to  10  do          Readln (a[i]); {ввод i-го элемента производится с клавиатуры}

Случай, когда массив Паскаля заполняется автоматически случайными числами, с использованием функции  random( N ):

Var      A:  array  [1..10]  of   integer ;     I : byte ; {переменная I вводится как индекс массива}  Begin       For  i :=1  to  10  do         A [ i ]:= random(10) ; {i-му элементу массива присваивается «случайное» целое число в диапазоне от 0 до 10}

Вывод массива  Вывод массива в Паскале осуществляется поэлементно, в цикле, где параметром выступает индекс массива, принимая последовательно все значения от первого до последнего. Var       A:  array  [1..10]  of  integer;      I : byte ; {переменная I вводится как индекс массива}   Begin        For  i :=1  to  10  do           Write  ( a [ i ],' '); {вывод массива осуществляется в строку, после каждого элемента печатается пробел}  Вывод можно осуществить и в столбик с указанием соответствующего индекса. Var       A:  array  [1..10]  of  integer;      I : byte ; {переменная I вводится как индекс массива}   Begin        For  i:=1  to  10  do           Writeln ('a[', i,']=', a[i]); {вывод элементов массива в столбик}

Вывод массива

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

Var      A:  array  [1..10]  of  integer;     I : byte ; {переменная I вводится как индекс массива}  Begin       For  i :=1  to  10  do          Write  ( a [ i ],' '); {вывод массива осуществляется в строку, после каждого элемента печатается пробел}

Вывод можно осуществить и в столбик с указанием соответствующего индекса.

Var      A:  array  [1..10]  of  integer;     I : byte ; {переменная I вводится как индекс массива}  Begin       For  i:=1  to  10  do          Writeln ('a[', i,']=', a[i]); {вывод элементов массива в столбик}

Пример решения задачи с использованием массивов Паскаля  Дано целое число N и набор из N целых чисел. Вывести в том же порядке все четные числа из данного набора и количество K таких чисел. var a: array [1..1000] of integer ; k, N, i: integer ; begin write ('N = '); readln (N); write ('Введите ', N, ' целых чисел: '); for i := 1 to N do   read (a[i]); {заполняем масссив} write ('Чётные числа: ');  {Начинаем выбирать чётные числа} for i := 1 to N do begin  if a[i] mod 2 = 0 then begin      Inc(k);      write (a[i], ' ');      end;    end; writeln (); writeln ('Количество четных чисел: ', k); end.

Пример решения задачи с использованием массивов Паскаля

Дано целое число N и набор из N целых чисел. Вывести в том же порядке все четные числа из данного набора и количество K таких чисел.

var

a: array [1..1000] of integer ;

k, N, i: integer ;

begin

write ('N = ');

readln (N);

write ('Введите ', N, ' целых чисел: ');

for i := 1 to N do

read (a[i]); {заполняем масссив}

write ('Чётные числа: '); {Начинаем выбирать чётные числа}

for i := 1 to N do begin

if a[i] mod 2 = 0 then begin

Inc(k);

write (a[i], ' ');

end;

end;

writeln ();

writeln ('Количество четных чисел: ', k);

end.


Скачать

Рекомендуем курсы ПК и ППК для учителей

Вебинар для учителей

Свидетельство об участии БЕСПЛАТНО!