ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 09.01.2024
Просмотров: 412
Скачиваний: 1
СОДЕРЖАНИЕ
Алгоритм – это последовательность понятных предписаний исполните-лю, приводящая к решению задачи.
Формальный исполнитель – исполнитель, не выходящий за пределы предписаний алгоритма.
Этапы решения задач на компьютере
Тело брошено вертикально вверх с начальной скоростью с некоторой высоты.
Определить его местонахождение и скорость в заданный момент времени.
g – ускорение свободного падения (g=9,81 м/с2)
Надо: V – скорость в данный момент времени
H – высоту в данный момент времени
II этап Создание математической модели
III этап Создание алгоритма решения и способа записи (блок-схема)
Языки программирования и их классификация
Язык программирования – формализованный язык для описания алгоритма решения задачи на компьютере.
Разновидности транслятора – компилятор и интерпретатор.
Program pr_1;{заголовок программы}
Uses Crt; {модуль подключения очистки экрана}
Var V0, H0, t, g, V, H: real; {раздел описания переменных}
Write(‘введите начальные скорость,
Выражения записываются в одну строку, без надстрочных и подстрочных записей.
Составные типы по определенным правилам строятся из простых.
<переменная>:=<переменная>|<константа>|<выражение>
a:=b; {переменной a присвоить значение переменной b}
Рекомендуется оператор ввода использовать в сочетании с оператором вывода
Тип «массив» относится к группе структурных (составных) типов.
Массив описывается в разделе var с использованием конструкции:
array [n..m] of type; где вместо type должен быть указан общий для всех элементов тип.
mouths : array [1..12] of byte;
Ссылка на 4-ый элемент массива имеет вид: mouths[4]
Возможности модуля GraphABC – анимация без мерцания
Действия с точками и прямоугольниками
SetPixel(x,y,color: integer); Закрашивает один пиксел с координатами (x,y) цветом color.
Рисует отрезок с началом в точке (x1,y1) и концом в точке (x2,y2).
Рисует окружность с центром в точке (x,y) и радиусом r.
Ellipse(x1,y1,x2,y2: integer);
Rectangle(x1,y1,x2,y2: integer);
Рисует прямоугольник, заданный координатами противоположных вершин (x1,y1) и (x2,y2).
RoundRect(x1,y1,x2,y2,w,h: integer);
Стандартные цвета задаются символическими константами:
Алгоритмы и исполнители
Определение
Алгоритм – это последовательность понятных предписаний исполните-лю, приводящая к решению задачи.
Примеры алгоритмов: Рецепт, инструкция, технологическая карта, руководство пользователю, программа развития…, программа курса информатики, и т.д.Свойства алгоритма
- Понятность
- Точность
- Дискретность(последовательность)
- Массовость (универсальность)
- Результативность (конечность)
Исполнитель
Исполнитель алгоритма – это устройство, приспособление, робот, организация, человек и т.п., способное выполнять определенные действия.
Формальный исполнитель – исполнитель, не выходящий за пределы предписаний алгоритма.
Этапы решения задач на компьютере
- Постановка задачи
- Создание математической (информационной) модели задачи
- Создание алгоритма решения и способа записи
- Словесная форма записи (произвольная)
- Графическая (блок-схема)
- Перевод алгоритма на язык ЭВМ (составление программы)
- Отладка и контрольный запуск программы
- Анализ полученных результатов
- Отладка программы и корректировка (возврат к пп. 1-5)
- Запуск программы и ввод исходных данных конкретной задачи
Пример
Тело брошено вертикально вверх с начальной скоростью с некоторой высоты.
Определить его местонахождение и скорость в заданный момент времени.
I этап Постановка задачи
Дано: V0 –начальная скорость
H0 –начальная высота
g – ускорение свободного падения (g=9,81 м/с2)
t – время
Надо: V – скорость в данный момент времени
H – высоту в данный момент времени
- Тело мало по сравнению с Землей, поэтому считаем материальной точкой
- Скорость бросания мала, поэтому:
- Ускорение свободного падения считать постоянной величиной
- Сопротивлением воздуха можно пренебречь
II этап Создание математической модели
Из курса физики известно, что описанное выше движение является равноускоренным. При заданных начальной скорости (V0), начальной высоте (H0) и ускорении свободного падения (g) зависимость скорости (V) и высоты (H) от времени (t) можно описать следующими мате-матическими формулами:V= V0- g* t, H= H0+ V* t -
III этап Создание алгоритма решения и способа записи (блок-схема)
началоВвод данных V0, H0, tV= V0- g* tY= H0+ V* t -Вывод V и HконецIV этап Написание программы
| Basic | Pascal |
| CLS INPUT”введите начальные скорость, высоту и время”; V0, H0,t g=9.81 V= V0- g* t H= H0+ V* t - g*t^2/2 PRINT”скорость=”;V PRINT”высота=”;H END | Program pr_1; Uses Crt; Var V0, H0, t, g, V, H: real; Begin Clrscr; Write(‘введите начальные скорость, высоту и время’); Readln(V0, H0, t); g:=9.81; V:= V0- g* t; H:= H0+ V* t - g*sqr(t)/2; Writeln(‘скорость=’,V); Writeln(‘высота=’,H); Readln; End. |
Языки программирования и их классификация
Программа (program, routine) – упорядоченная последовательность команд (операторов, инструкций) компьютера для решения задачи.
Язык программирования – формализованный язык для описания алгоритма решения задачи на компьютере.
Языки программирования
Языки низкого уровня
ACCEMBLER
Языки высокого уровняУзкопрофессиональные FORTRAN, COBOLПроцедурные FORTRAN, COBOL, ALGOL, BASIC, PASCAL, CУниверсальные ALGOL, BASIC, PASCAL, C, PROLOG, DELPHIОбъектно-ориентированные PROLOG, DELPHI, VISUAL BASIC,- компилятор- интерпретаторРазновидности транслятора – компилятор и интерпретатор.
Язык программирования Паскаль
Алфавит языка Pascal
- 26 букв латинского алфавита
- 10 арабских цифр
- 4 знака арифметических операций: +; -; *; /
- 6 знаков отношений: =; >; <; <>;>=; <=
- Специальные символы и знаки: ;; :; ‘; (; ); {; }; #; &; _ и т.д.
- 33 буквы русского алфавита.
Синтаксис языка Pascal
Служебное слово – набор латинских букв, имеющий единственный смысл и единственную форму написания. (например: PROGRAM, BEGIN, VAR, …). Используется для написания операторов.
Идентификатор – набор латинских букв, цифр, символов, начинающийся с буквы и, не включающий в себя служебное слово. (например: Max_elem, k1[1], …). Используется для обозначения величин, меток.
Структура программы:Program pr_1;BeginEnd. Раздел описанийТело программыСтруктура программы:
Program pr_1;{заголовок программы}
Uses Crt; {модуль подключения очистки экрана}
Var V0, H0, t, g, V, H: real; {раздел описания переменных}
Begin {начало программы}
Clrscr; {очистка экрана}
Write(‘введите начальные скорость,
высоту и время’);
Readln (V0, H0, t);
g:=9.81;
V:= V0- g* t;
H:= H0+ V* t - g*sqr(t)/2;
Writeln(‘скорость=’,V);
Writeln(‘высота=’,H);
Readln; {задержка}
End. {конец программы}
Тело программыПравила записи выражений
Выражения записываются в одну строку, без надстрочных и подстрочных записей.
= 1/x= SQR(a)= a1= SQRT(x)Операторы языка Pascal
Простые (линейные)Составные (с условием)Операторы: присваивания, ввода, вывода, графикиРазвилка Цикл Операторы: ветвления, выбора, условного перехода (обхода)Операторы: цикла с предусловием, цикла с постусловием, цикла с параметромСистема типов языка Паскаль. Скалярные типыПаскаль имеет развитую и изощренную систему типов. На основе небольшого числа стандартных типов программист может конструировать данные произвольной структуры и сложности, адекватно отражающие информационную природу задачи.Все имеющиеся в Паскале типы принято делить на группы. Типы, принадлежащие одной группе, имеют определенное сходство. Выделяют простые, составные, ссылочные и процедурные типы, которые в свою очередь еще подразделяются:Классификация типов
1. Простые типы:
скалярные:
- целые;
- вещественные;
- символьные;
- булевский (логический) тип;
- Ссылочные типы;
- Процедурные типы.
перечислимые;
ограниченные;
2. Составные типы:
регулярные (массивы);
комбинированные (записи);
файловые;
множественные;
строковые;
объекты;
Составные типы по определенным правилам строятся из простых.
Ссылочные типы образуются из любых других типов. Составные и ссылочные типы можно считать некоторыми правилами для построения более сложных типов из простых.
Первичными в иерархии типов являются скалярные типы, представляющие традиционные в языках программирования множества значений (целые, вещественные, символьные, булевские) и их модификации, учитывающие архитектурные особенности аппаратуры.| Название | Идентификатор | Множество допустимых значений | Размер памяти |
| Целые типы | |||
| Короткий целый | Shortint | -128...127 | 1 байт |
| Байтовый | Byte | 0…255 | 1 байт |
| Слово | Word | 0…65 535 | 2 байта |
| Целый | Integer | -32 768…32 767 | 2 байта |
| Длинный целый | Longint | -2147483648 ..2147483647 | 4 байта |
| Вещественные типы | |||
| Вещественный | Real | -1,7*1038.. -2,9*1 039, 2,9*1039.. 1,7*1038 | 6 байт |
| С одинарной точностью | Single | -3,4*1038.. -1,5*1045, 1,5*1045..3,4*1038 | 4 байт |
| С двойной точностью | Double | -1,7*10308*..-5,0*10-324.. 5,0*10-324.. 1,7*10308 | 8 байт |
| С повышенной точностью | Extended | -1,1*104932..-1,9*104951, 1,9*104951.. 1,1*104932 | 10 байт |
| Сложный | Comp | -263+1…263-1 | 8 байт |
Операторы языка Pascal
Простые (линейные)Составные (с условием)Операторы: присваивания, ввода, вывода, графикиРазвилка Цикл Операторы: ветвления, выбора, условного перехода (обхода)Операторы: цикла с предусловием, цикла с постусловием, цикла с параметромОператор присваивания
<переменная>:=<переменная>|<константа>|<выражение>
Например:
a:=b; {переменной a присвоить значение переменной b}
A:=15;
B:=‘Информатика’;
C:=true;
D:=a+12;
Оператор вывода
WRITE;
WRITELN;
Например:
WRITE (a,b);
WRITELN(a);
WRITELN(‘Информатика’);
WRITELN(‘a=‘, a);
Оператор ввода
READ;
READLN;
Например:
READ (a,b);
READLN(a);
Рекомендуется оператор ввода использовать в сочетании с оператором вывода
WRITE(‘Введите Ваше имя’);
READLN(NAME);
Операторы языка Pascal
Простые (линейные)Составные (с условием)Операторы: присваивания, ввода, вывода, графикиРазвилка Цикл Операторы: ветвления, выбора, условного перехода (обхода)Операторы: цикла с предусловием, цикла с постусловием, цикла с параметромОператор ветвленияIF <условие> THEN <группа операторов 1> ELSE <группа операторов 2>;Если условие выполняется товыполняется группа операторов 1 иначе выполняется группа операторов 2Пример:Program pr_2; {заголовок программы}Uses Crt; {модуль подключения очисткиэкрана}Var t: real; {раздел описания переменных}Begin {начало программы}Clrscr; {очистка экрана}Write(‘введите температуру воздуха’); {комментарий ввода}Readln (t); {вводится значение температуры} If t<=15 Then Writeln(‘сегодня холодно’) Else Writeln(‘сегодня тепло’); End. {конец программы}<условие><Группа1><Группа2>Блок-схемаПолная формаданетIF <условие> THEN <группа операторов 1> ELSE <группа операторов 2>;<условие><Группа1>Блок-схемаСокращённая формаданетIF <условие> THEN <группа операторов 1>;