АЛГОРИТМ – это описание последовательности действий (план), строгое исполнение которых приводит к решению поставленной задачи за конечное число шагов.
АЛГОРИТМ – это конечная последовательность команд исполнителю.
Свойства алгоритмов
Дискретность;
Детерминированность(однозначность);
Конечность;
Массовость;
Результативность.
Линейный алгоритм
Пример.
Достать ключ из кармана.
Вставить ключ в замочную скважину.
Повернуть ключ два раза против часовой стрелки.
Вынуть ключ.
Линейный алгоритм – описание действий, которые выполняются однократно в заданном порядке.
Алгоритм называется линейным, если исполнитель выполняет команды последовательно друг за другом (в порядке их записи).
Разветвляющийся алгоритм – это алгоритм, в котором в зависимости от условия выполняется либо одна, либо другая последовательность действий.
Пример:
Если завтра на улице будет пасмурная погода, то я возьму с собой зонтик, в противном случае зонтик оставлю дома.
Разветвляющийся алгоритм
Циклический алгоритм – это описание действий, которые должны повторяться указанное число раз или пока не выполнено заданное условие.
Пример:
Покрасить доску;
Если есть еще доска, переместиться к следующей доске и перейти к действию 1;
Если доски закончились завершить работу.
Циклический алгоритм
Словесный способ
Графический способ
Алгоритмический язык или язык программирования.
Способы описания алгоритмов
Графический способ описания алгоритма - это способ представления алгоритма с помощью общепринятых графических фигур, называемых блок-схемами, каждая из которых описывает один или несколько шагов алгоритма.
Графический способ
Создан в 1971 году;
Никлаус Вирт – швейцарский профессор;
Назван в честь французского ученого Блеза Паскаля;
В 1979 году утвержден в качестве стандартного языка программирования;
С помощью этого языка можно составлять программы для решения различных задач, также можно составлять программы-приложения.
История создания языка
символы, используемые в идентификаторах;
разделители;
специальные символы;
неиспользуемые символы.
Идентификатор - это имя любого объекта языка. Состоит из латинских букв (a...z), цифр (0...9) и знака подчеркивания и не должен начинаться с цифры.
Разделители используются для отделения друг от друга идентификаторов, чисел и зарезервированных слов. К разделителям относятся: пробел и комментарий.
К специальным знакам относятся знаки пунктуации (. () [] .. : ;), знаки операций и зарезервированные слова (служебные слова). Знаки операций могут быть как символьные (+, -, *, / и т.д.), так и буквенными (mod, div, not).
Неиспользуемые символы - это коды ASCII. К ним относятся все русские буквы, а также символы %,&, ! и т.п
Алфавит языка
uses
<Подключение модулей>
Const <Раздел описания констант>
Label <Раздел описания меток>
Type <Раздел описания типов>
Var <раздел описания переменных>
Структура программы на языке паскаль
Оператор вывода
Write( )
Writeln( )
Write – от англ «пиши»
Предназначен для вывода на экран текста или результата вычислений
команда | Результат на экране | |
Write(‘текст‘) | текст | |
|
|
|
|
| |
Write(‘текст1’); |
| |
Write(‘текст1’, ‘ ‘); |
|
Оператор вывода
команда | Результат на экране |
Write(‘текст1’); | Текст1 |
Write(‘текст1’); | Текст1 |
Оператор вывода
Writeln( )
Делает переход на следующую строку
| Вводит значения для переменных a, b, c в одну строку. |
| Вводит значения для переменных a, b, c «столбиком» |
Оператор ввода
Оператор присваивания
Переменная := число/выражение
Правильная запись | Не правильная запись |
A:=2; | A+2:=2 |
A:=B | A=B |
A:=B+1 | 2:=A+2 |
Оператор присваивания
Команды | Результат |
A:=2; | A=? B=? |
b:=2; | A=? B=? C=? |
A:=1; | A=? B=? |
Программирование линейных алгоритмов
Вывести на экран приветствие:
Привет, это я!
Program privet;
Begin
Write(‘Привет, это я!’);
End.
Вывести на экран приветствие:
Привет,
это я!
Program privet;
Begin
Write(‘Привет,’);
Writeln(‘это я!’)
End.
Программирование линейных алгоритмов
Найти периметр прямоугольника
Program perimetr;
Var a,b,P:integer;
Begin
Write(‘введите стороны прямоугольника’);
Read(a,b);
P:=(a+b)*2;
Writeln(‘P=’,P);
End.
Полная форма:
If <логическое выражение> then <действие 1> else <действие 2>
Не полная форма:
If <логическое выражение> then <действие >
Условный оператор
Задача. Написать программу для нахождения максимального значения из двух целых чисел
Условный оператор
Program sravnenie;
Var A, B, Max: integer;
Begin
Write(‘введите два числа’);
Read (A, B);
If A>B then Max:=A else Max:=B;
Writeln(Max);
End.
Задача. Написать программу, которая выводит на экран число, если оно больше 3.
Условный оператор
Program chislo;
Var A: integer;
Begin
Write(‘введите число’);
Read (A);
If A>3 then writeln(A);
End.
Задача. Составить программу, которая определяет количество корней квадратного уравнения по дискриминанту.
Решение:
Условный оператор
Program Diskr;
Var A, B, C, D: real;
Begin
Write(‘введите коэффициенты A, B, C:’);
Readln(A, B, C);
D:=Sqr(B)-4*A*C;
If D>=0 then
If D>0 then writeln(‘два вещ корня’) else writeln(‘один вещ корень’)
else writeln(‘нет вещ корней’);
Readln;
End.
Case K of
A1: <оператор1>;
A2: <оператор2>;
…
An: <оператор n>
Else <оператор n+1>
End;
Где K – выражение-селектор (имеет только порядковый целый, логический, символьный тип);
A1, …,An – константы (того же типа, что и селектор);
Оператор выбора
Program chislo;
Var N: integer;
Begin
Write(‘введите число:’);
Readln(N);
Case N of
1: writeln(‘один’);
2: writeln(‘два’);
3: writeln(‘три’);
4: writeln(‘четыре’)
Else writeln(‘введено другое число’)
End;
End.
Задача: Составить программу, которая преобразует введенные с клавиатуры целые числа из диапазона (1..4) в их словесное представление.
Оператор выбора
Форма записи:
While <логическое выражение> do <операторы –тело цикла>
Цикл с предусловием (цикл – пока)
Задача. Вычислить сумму натурального ряда чисел от 1 до N.
Program primer;
Var a, s, n: integer;
Begin
Write(‘введите N’);
Readln(N); S:=0;
While a<=N do
begin
s:=s+a;
a:=a+1;
End;
Writeln(‘результат
суммирования равен’, s);
Readln;
end.
Цикл с предусловием (цикл – пока)
Определить, что будет в переменной zz после выполнения следующей программы.
Program AA;var zz, n, k : integer;begin zz:=0; n:=2; k:=1; while n>k do begin zz:=zz+1; n:=n+5; k:=k*2; end; Writeln(zz);
end.
Цикл с предусловием (цикл – пока)
Задача. Вычислить сумму натурального ряда чисел от 1 до N.
Program primer;
Var a, s, n: integer;
Begin
Write(‘введите N’);
Readln(N); s:=0;
repeat
s:=s+a;
a:=a+1;
until a>n;
Writeln(‘результат суммирования равен’, s);
Readln;
end.
Цикл с постусловием (цикл – до)
Определить, что будет в переменной xx после выполнения следующей программы.
Program AA;var xx, k : integer;begin xx:=0; k:=2; repeat xx:=xx+1; k:=k+1; until k=7; Writeln(xx);
end.
Цикл с постусловием (цикл – до)
Формы записи:1) for i:=n to m do <операторы – тело цикла>2) for i:=m downto n do <операторы – тело цикла>
Цикл c параметром
Задача. Написать программу, которая выводит на экран кубы чисел от 1 до 10
Program kub;
Var a, c: integer;
Begin
For a:=1 to 10 do
begin
c:=a*a*a;
Writeln(‘kub chisla=’, c);
end;
end.
Цикл c параметром
Задача. Написать программу, которая выводит на экран квадраты чисел от 10 до 1.
да
нет
Program primer_4;
Var n, c: integer;
Begin
For n:=10 downto 1 do writeln (n*n);
end.
Цикл c параметром
Определить, какие числа будет выдавать на экран дисплея следующая программа.
program Pr;var k : integer;begin for k:=1 to 2 do writeln(k);end.
Цикл c параметром
Определить, что будет в переменной xx после выполнения следующей программы.
Program AA;var xx, i : integer;begin xx:=0; for i:=3 to 5 do xx:=xx+1; Writeln(xx);
end.
Цикл c параметром
Тип | Диапазон значений | Объем памяти |
Byte | 0 … 255 | 1 байт, без знака |
ShortInt | –128 … 127 | 1 байт, со знаком |
Word | 0 … 65535 | 2 байта, без знака |
Integer | –32768 … 32767 | 2 байта, со знаком |
LongInt | –2147483648 … 2147483647 | 4 байта, со знаком |
Single | Действительные короткие | 4 байта |
Real | Действительные (основной тип) | 6 байтов |
Double | Действительные длинные | 8 байтов |
Extended | Действительные очень длинные | 12 байтов |
Вещественные типы данных
Для целых чисел и символьных данных:
Переменная : общее число знаков
х:5
Для действительных чисел:
Переменная : общее число знаков : число знаков после точки
х:6:2
Для того, чтобы данные не «слипались» при выводе их на экран и для десятичного представления действительных чисел, в командах Write и Writeln используется формат вывода.
Формат вывода
Простые типы данных.
Задача. Составить программу, которая запрашивает у пользователя имя и возраст. Затем выводит на их на экран.
Program Dialog;
Var a: integer;
b: string;
Begin
Writeln(‘Привет! Как тебя зовут?');
Readln (b);
Writeln (‘Рад с тобой познакомиться ', b);
Writeln(‘Сколько тебе лет?');
Readln (a);
Writeln (b,' Тебе ', a, ‘ лет ');
Readln;
end.
Использованная литература:
Паскаль для школьников. –СПб.Жпитер, 2007. – 256с.
Информатика. Базовый курс. 7-9 классы/ И.Г. Семакин, Л.А. Залогова, С.В. Русаков, Л.В. Шестакова. – М. Бином. Лаборатория знаний, 2003г. – 390с.
Изучаем TURBO PASCAL. – СПб.Жпитер, 2001. – 320с.
Л.Л. Босова, УМК по информатике для 5-7 классов Москва, 2007 Алгоритмы и исполнители. Типы алгоритмов.
Данные. Типы данных. Диалоговые программы. М.Е. Макарова. (http://uchinfo.com.ua)
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.