Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 9 лет назад пользователемВадим Авлуков
1 ЗАПОМНИ Наука – это неустанная многовековая работа мысли свести вместе посредством системы все познаваемые явления нашего мира. А. Эйнштейн
2 Алфавит Паскаля Все прописные и строчные буквы латинского алфавита Цифры от 0 до 9 Знаки арифметических операций: +, -, *, /. Знаки операций отношения: =,, >=, Знаки препинания :, ;. : '.. Специальные символы: := ( ) [ ] { } (* *) Буквы русского алфавита используются только как константы (в кавычках). Например, Русский язык
3 Основные понятия Паскаля Идентификатор – это условное обозначение, имя объекта (буквы, цифры и знак подчеркивания «_», начиная с буквы) Комментарий – это дополнительная информация (любой текст), не выполняемая при запуске программы. Комментарий заключается в фигурные скобки { } или (* *) Зарезервированные слова - слова, которые используются в операторах, названиях операций или функций. Зарезервированные слова не могут быть идентификаторами. Примеры: Идентификаторы А АВС В1 К_2 Комментарий { пояснение к программе }
4 Основные понятия Паскаля Константа – зарезервированная определенная величина, используемая в процессе выполнения программ. Существуют числовые и строковые константы. Переменные – имя (идентификатор), используемый для ссылки на какой-либо объект (число, символ, строку, запись и т.п.). В процессе выполнения программы переменной присваиваются различные значения. Примеры констант: Числовые Строковые ПРИВЕТ! Это – константа.
5 Основные понятия Паскаля Выражение – это перечень констант и переменных, объединенных знаками арифметических и логических операций. Выражения могут быть арифметическими или логическим. Арифметические выражения содержат только арифметические операции (+ * / ). Логические выражения содержат и арифметические и одну логическую операции ( + * / > = ). Примеры выражений: арифметические 3.5/(х*у-1) -2*у+с*а логические 5+Х>20 z= -2*у+с*а
6 Запись арифметических выражений Арифметическое выражение – это перечень констант и переменных, объединенных знаками арифметических операций. В Паскале арифметические выражения пишутся в строчку. Операции между элементами выражения нельзя опускать. Для организации необходимого порядка выполнения действий нужно пользоваться круглыми скобками. Обычная запись Правильная запись на языке Паскаля Неправильная запись a 2 + 4abc a 3 x 3 + a 2 x 2 + a х-5|2 у| (a*b+c*d)/(d-c) (a*b+c*d)/(d*c) a*а+4*a*b*c a3*x*х*х + a2*x*х +a0 2 +3*x-5*Abs(2*y) (ab+c*d)/d-c) (a*b+c*d)/d*c a^2+4*abc a3x^3 + a2x^2 +a0 2+3x-5Abs(2y)
7 Арифметическое выражение – это перечень констант и переменных, объединенных знаками арифметических операций. Скобки влияют на порядок выполнения операций. Нужно соблюдать баланс скобок (сколько скобок вами открыто, столько должно быть и закрыто). В выражении без скобок, подряд идущие операции одного ранга выполняются в порядке следования слева на право Обычная запись выражения Правильная запись на языке Паскаля Неправильная запись (3*(а-2)+7)/(a*а-4) (x*х-x*y)/(2*y)-y*у/x (4*a+4*x)/(3*(a+b)) Sqrt(p*(p-a)*(p-b)*(p-c)) 3*(а-2)+7/a*а-4 (x*х-x*y)/2*y-y*у/x (4*a+4*x)/3*(a+b)) Sqrt(p*(p-a)(p-b)(p-c) Запись арифметических выражений
9 Основные понятия Паскаля Оператор – выполняемая инструкция (команда исполнителя Паскаль) Операторы делятся на: операторы присваивания, например А:=2+D; структурные операторы (ветвление, циклы) нестандартные операторы (процедуры из модулей) составные операторы (группа операторов между begin … end;) Различают две формы записи операторов: запись оператора в тексте программы описание структуры оператора, т.е. концентрированное выражения всех возможностей оператора. Структура оператора присваивания: :=
10 Основные понятия Паскаля Программа - это последовательность строк, описывающая алгоритм поставленной задачи Программа состоит из двух разделов: описаний и операторов Program ; Uses ; Var ; Const ; Label ; Type ; Procedure … Function… Begin … end.
11 Список стандартных математических функций Паскаля Стандартные функции используются в выражениях. Аргументы функций пишутся в круглых скобках. Например, 2+Sqr(x)-Abs(2*y); a-Int(a) Функция Назначение Тип аргумента Тип функции Abs(x) Вычисление абсолютного значения x вещественный целый вещественный целый sqr(x)Вычисление квадрата x вещественный целый вещественный целый sqrt(x) Вычисление квадратного корня из x вещественный целый вещественный sin(x) / cos(x) Вычисление синуса / косинуса от x вещественный целый вещественный arctan(x)Вычисление арктангенса от x вещественный целый вещественный exp(x) Вычисление экспоненты (числа e=2,71828…) в степени x вещественный целый вещественный ln(x) / log(x) Вычисление логарифмов x вещественный целый вещественный Pi Число нет вещественный
12 V=Sqrt((8*R*T)/(Pi*m)) E=b/(2*c)*(i-(a/Sqrt(R*R+a*a))) T=2*Pi/Sqrt(1/(L*C)-sqr(R/(2*L))) U=arctan((w*l-(1/(w*c)))/R) Запись арифметических выражений
13 Текстовой редактор Паскаля Окно редактора содержит: Кнопка, закрывающая окно программы горизонтальное меню, из каждого пункта которого ниспадает подчиненное меню, полосы прокруток (для просмотра больших текстов), рабочее поле, строка - подсказка. Запуск редактора Паскаля: [путь]\Bin\Turbo.exe
14 Пункты меню, чаще всего используемые при составление программ Меню Файл предназначено для: создания нового текста программы, открытия сохраненной программы, сохранения и переименования текста программы, печати текста программы и выхода из редактора. Меню Правка используется для: удаления в буфер выделенной части программы; копирования выделенной части программы в буфер обмена; вставки из буфера текста в место, отмеченное курсором; удаление выделенной части программы; создания новой подпрограммы или функции. Меню Выполнить позволяет: выполнить программу, пошаговое выполнение программы, трассировка программы и т.п. Программы сохраняются в виде файла с расширением pas (prog.pas). Имя программы должно иметь не более 8 символов (латинские буквы, цифры, знак _ ). Программирование на языке Паскаль
15 Приемы работы в редакторе Паскаль Ширина окна редактора -77 символов. Если вы напечатаете более 77 символов, то введённый Вами ранее текст по мере печати будет сдвигаться влево. Максимальная длинна строки программы – 126 символов. Набирая текст программы, рекомендуется делать отступы, выделяя отдельные операторы или их части. Эти отступы облегчают чтение текста и поиск ошибок. Набор каждой строки программы (переход к новой строке ) завершается нажатием клавиши Enter. Первое сохранение программы или повторное сохранение с тем же именем – команда File – Save Сохранение программы с другим именем (в другой папке) – команда File – Save As… Ввод и редактирование текста программы Создание нового рабочего окна для записи текста программы – команда File – New При наборе текста программы полезно пользоваться «горячими» клавишами полезно пользоваться «горячими» клавишами При наборе текста программы полезно пользоваться «горячими» клавишами полезно пользоваться «горячими» клавишами
16 Ввод и редактирование текста программы Приемы работы в редакторе Паскаль Вызов уже имеющихся текстов программ – команда File – Open Запуск программы на выполнение – команда Run – Run или клавиши Ctrl+F9 Вызов справки Паскаля – Help (F1), справка об ошибке - Ctrl+F1 Просмотр результатов выполнения программы – Alt + F5 Прерывание зацикленной программы - Ctrl +Break Пошаговое выполнение /Трассировка программы – F8 / F7 (Отличия: при трассировке подпрограммы выполняются так же по шагам) Прерывание пошагового выполнения / трассировки - Ctrl +F2 В пошаговом режиме можно вызвать окна пользователя (меню Debug – Output) и наблюдений (Debug – Watch) В окне наблюдений можно задать имена переменных, изменение которых наблюдается - Ctrl + F7
17 «Горячие» клавиши Ввод и редактирование текста программы
18 Оператор вывода информации на экран Простейшие операторы Паскаля Write( ); Writeln( ); Структура оператора: Замечания: При использование оператора Write после вывода списка на экран курсор остается на той же строке. При использование оператора Writeln после вывода списка на экран курсор переносится на следующую строку. Примеры операторов Оператор Комментарий WRITELN(Все хорошо,); WRITE(что хорошо кончается); На экране появится: Все хорошо, что хорошо кончается _ WRITE(Все хорошо,); WRITE(что хорошо кончается); На экране появится: Все хорошо, что хорошо кончается _ WRITE(Все хорошо,); WRITELN (что хорошо кончается); На экране появится: Все хорошо, что хорошо кончается ___ Список – это перечень констант, переменных или выражений, разделенных запятыми
19 Пишем программу 1 Запуск программы на выполнение – Ctrl+F9 Просмотр результатов – Alt+F5 program pr1; uses crt; begin writeln(' Моя первая программа'); writeln; writeln('Буря мглою небо кроет,'); writeln('Вихри снежные крутя'); writeln('То как зверь она завоет,'); writeln('То заплачет, как дитя.'); end.
20 Операторы управления цветом Цвета в Паскаля: Textbackground ( ); Структура оператора изменения цвета фона: Структура оператора изменения цвета символов (переднего плана): TextColor ( ); Номер-Цвет Константа модуля Crt Номер-Цвет Константа модуля Crt 0 – чёрныйBlack8 – темно-серыйDarkGray 1 – синийBlue9 – светло-синийLightBlue 2 – зелёныйGreen10 – светло-зелёныйLightGreen 3 – морской волны Cyan11 – светл.-морской волны LightCyan 4 – красныйRed12 – светло-красныйLightRed 5 –фиолетовыйMagenta13 – светло-фиолетовыйLightMagenta 6 – коричневыйBrown14 – жёлтыйYellow 7 – светло-серыйLightGray15 – белыйWhite
21 Оператор очистки экрана Запуск программы на выполнение – Ctrl+F9 Просмотр результатов – Alt+F5 program pr2; uses crt; begin Textbackground(3); Clrscr; TextColor(4); writeln( Моя первая программа'); writeln; TextColor(5); writeln(Буря мглою небо кроет,'); writeln(Вихри снежные крутя'); writeln(То как зверь она завоет,'); writeln(То заплачет, как дитя.'); end. Изменяем первую программу CLRSCR;
22 Пишем программу 2 Запуск программы на выполнение – Ctrl+F9 Просмотр результатов – Alt+F5 program pr2; uses crt; begin Textbackground(15); Clrscr; TextColor(4); writeln(' Каждый '); TextColor(6); writeln(' охотник '); TextColor(4); writeln(' желает'); TextColor(2); writeln(' знать'); TextColor(3); writeln(' где '); TextColor(1); writeln(' сидит '); TextColor(5); writeln(' фазан.'); end.
23 Пишем программу 3 Запуск программы на выполнение – Ctrl+F9 Просмотр результатов – Alt+F5 program pr3; uses crt; begin Textbackground(15); Clrscr; TextColor(2); writeln(' * '); writeln(' *** '); writeln(' ***** '); writeln(' ******* '); writeln(' ********** '); TextColor(6); writeln(' ** '); writeln(' ** '); end. Попробуй елочку сделать больше!
24 Пишем программу 3.1 Запуск программы на выполнение – Ctrl+F9 Просмотр результатов – Alt+F5 program pr3; uses crt; begin clrscr; writeln; writeln; writeln; textcolor(4); writeln( *'); writeln(' ***'); writeln(' *****'); writeln( *******'); textcolor(7); Выводна экран домика 2 часть: writeln( | |'); writeln(' | |'); writeln( _________'); end.
25 Пишем программу 3.2 Запуск программы на выполнение – Ctrl+F9 Просмотр результатов – Alt+F5 uses crt; begin clrscr; writeln; writeln; writeln; writeln(' 456*12=',456*12); writeln(' 567/9=',567/9:10:3); writeln(' sqrt(57)=',sqrt(57):10:3); writeln(' sqr(81)=',sqr(81)); writeln(' (5-2)*(56+8)=',(5-2)*(56+8)); writeln(' sin(5)=',sin(5):10:3); writeln(' cos(7)=',cos(7):10:3); writeln(' sin(2)+2*cos(1)=',sin(2)+2*cos(1):10:3); writeln(' Площадь круга, r – 5 =',Pi*5*5:10:3); end. Вывод на экран значений выражений
26 Описание переменных Переменные в Паскале Var a: ; b,c,d: ; Пример описания переменных: Список наиболее распространенных типов переменных Название типа ТипОписание Строковый String Символы в количестве от 0 до 255 шт. Символьный Char Один любой символ Целые положительные числа Byte Word 0… Целые числа со знаком ShortInt Integer Longint -128… Вещественные числа Single Real 7-8 значащих цифр( ) значащих цифр ( )
27 Оператор присваивания Простейшие операторы Паскаля := ; Структура оператора: Замечания: Слева от знака «:=» в операторе присваивания записывается имя той переменной, которой нужно присвоить новое значение, а справа – выражение, значение которого надо сначала вычислить, а затем присвоить указанной переменной Примеры операторов Оператор Комментарий X:=10;Переменной Х присваивается 10 X:=2*a+6;Переменной Х присваивается значение выражения 2*a+6 A:=Информатика;Текстовой переменной A присваивается текстовая константа Информатика S:=S+1;Переменной S присваивается предыдущее значение S плюс 1
28 Оператор ввода информации с клавиатуры Простейшие операторы Паскаля READ( ); READLN( ); Структура оператора: Замечания: При выполнение оператора ввода программа ожидает нажатия на Enter. Данные, в список переменных, вводятся через пробел. Пример использования оператора Оператор Комментарий Var A,B:byte; … Read(A,B); … На экране появится мигающий курсор Только после ввода двух чисел, например, 2 5 (через пробел), и нажатия Enter программа продолжит выполнение. … Write(введи число ); Readln(a); … На экране появится: введи число _ После ввода числа и нажатия клавишиEnter программа продолжит выполнение. Список – это перечень переменных, разделенных запятыми
29 Пишем программу 4 Запуск программы на выполнение – Ctrl+F9 Просмотр результатов – Alt+F5 program pr4; uses crt; Var A,B,C:string; X:word; begin writeln('Поговори с компьютером'); writeln; write('Кто ты? Как тебя зовут?'); Readln(A); write('Хорошо, ',A, '. Назови свою фамилию. '); Readln(B); write(A,B, В каком классе ты учишься? '); Readln(С); write(A,B, Сколько тебе лет? '); Readln(Х); writeln('Здравствуй, ',А,В, ' из ',C, 'класса ! Прекрасно, что тебе уже ',Х, 'лет.' ); writeln('А я – компьютер Пентиум-4! Будем знакомы!'); end. Программа – диалог с компьютером
30 Пишем программу 5 Программа для вычисления стоимости покупки нескольких тетрадей и карандашей Program pr5; Uses crt; Var St,Sk,S,t,k:integer; Begin Writeln('Вычисление стоимости покупки'); Writeln; Write('Введи стоимость и количество тетрадей'); Readln(St,t); Write('Введи стоимость и количество карандашей'); Readln(Sk,k); S:=St*t+Sk*k; Writeln('S=', s); End. St – стоимость тетради Sk – стоимость карандаша t – количество тетрадей k – количество карандашей
31 Программа для вычисления среднего балла ученика по предметам: русс.яз., лит-ра, алгебра, геометрия, физика, география, химия Program pr5-2; Uses crt; Var R,L,A,G,F,Go,H:integer; SR:real; Begin Writeln('Вычисление среднего балла'); Writeln; Write('Введи оценку по русскому языку'); Readln(R); Write('Введи оценку по литературе'); Readln(L); ………. SR:=(R+L+A+G+F+Go+H)/7; Writeln('SR=', sr); End. R – оценка по русс. яз. L – оценка по лит-ре … SR –
32 Пишем программу 5.1 Дописать программу вывода на экран таблицы умножения на заданное число. Число ввести с клавиатуры. Program pr5d; Uses crt; Var k:integer; Begin Clrscr; Writeln('Таблица умножения на заданное число':50); Writeln; Writeln; Write('Введи число ->'); Readln(k); Writeln; Writeln; Writeln(k:30,*,1,=,k*1); Writeln(k:30,*,2,=,k*2); …. Writeln(k:30,*,9,=,k*9); Readln; End. k – число, на которое нужно умножать. Вводится с клавиатуры
33 Пишем программу 5.1 Дописать программу вывода на экран двух столбцов таблицы умножения на заданное число k и k+1. Число k ввести с клавиатуры. Program pr5d; Uses crt; Var k:integer; Begin Clrscr; Writeln('Таблица умножения на заданное число':50); Writeln; Writeln; Write('Введи число ->'); Readln(k); Writeln; Writeln; Writeln(k:30,*,1,=,k*1,, k+1,*,1,=,k+1*1); Writeln(k:30,*,2,=,k*2,, k+1,*,2,=,k+1*2); …. Writeln(k:30,*,9,=,k*9,, k+1,*,9,=,k+1*9); Readln; End.
34 Функции, преобразования числовых переменных Функция НазначениеТип аргумента Тип функции trunc(x) Нахождение целой части x (дробная часть числа отбрасывается) вещественный целый int(x) Округление вещественного числа x по направлению к нулю вещественный round(x) Округление x в сторону ближайшего целого по математическим правилам вещественный целый Frac(x) Вычисление дробной части числа Х вещественный Примеры: Y:=trunc(13.999); (переменной Y присваивается 13), Y:=trunc(13.111); (переменной Y присваивается 13), Y:=round(3.145); (переменной Y присваивается 3), Y:=round(23.5); (переменной Y присваивается 24), Y:=round(-12.5); (переменной Y присваивается -13). Y:=int(2.7); (переменной Y присваивается 2), Y:=int(-32.3); (переменной Y присваивается -32).
35 Пишем программу 6 Введенное вещественное число записать в денежном формате. Например, число представить как – 54 тенге 24 тиын Program pr6; Uses crt; Var a,а 0:real; a2,a1:integer; Begin Clrscr; Write( ' Введи число ->'); Readln(а); a0:=frac(a); {дробная часть числа} a1:=trunc(a);{целая часть числа} a2:=trunc(a0*100); {дробь превращается в целое} Writeln(a1, ' тенге ',a2, ' тиын ' ); Readln; End.
36 Пишем программу 6 Перевести тенге в доллары... …, Begin Clrscr; Write( ' Введи число ->'); Readln(а); a0:=frac(a); {дробная часть числа} a1:=trunc(a);{целая часть числа} a2:=trunc(a0*100); {дробь превращается в целое} Writeln(a1, ' тенге ',a2, ' тиын ' ); aS:=trunc(a1/150);{перевод в доллары} aS:=trunc(a1/150); {перевод в доллары}Writeln('$',aS); aR:=trunc(a1/5); {перевод в рубли} Writeln(aR, руб. '); {перевод в евро}… Readln; End.
37 Целочисленные арифметические операции Операции div и mod используются только с целочисленными переменными Операция Назначение Пример записи div Вычисление целой части частного при делении a на b C:=a div b; mod Вычисление остатка от деления a на b D:=a mod b; Например, Y := 25 div 3; (переменной Y присваивается 8), Y := - 25 div 4; (переменной Y присваивается -6), Y := 13 mod 3; (переменной Y присваивается 1), Y := 15 mod 4; (переменной У присваивается 3).
38 Пишем программу 7 Определить целую часть и остаток от деления двух введеных чисел. Program pr7; Uses crt; Var a,b,c,d:integer; Begin Clrscr; Write(Введи 2 числa ->'); Readln(а,b); c:=a div b; d:=a mod b; Writeln (результат целочисленного деления -, c); Writeln ( остаток от деления -,d); Readln; End.
39 Пишем программу 7.1 Найти сумму цифр введенного трехзначного числа. Program pr7; Uses crt; Var a1,а 2,a3,a,Х:integer; Begin Clrscr; Write('Введи трехзначное число ( '); Readln(а); a1:=a div 100; a3:=a mod 10; a2:=(a div 10) mod 10; X:=a1+a2+a3; Writeln ('сумма цифр - ', Х); Readln; End.
40 Генерация случайных чисел Примеры: Генерация случайного числа в диапазоне от 0 до 45: А : = Random(46); Генерация случайных двухзначных чисел: А : = Random(90)+10; Генерация двухзначных четных чисел: А : = Random(45)*2+10; Генерация вещественных чисел от 0 до 50: X:=Random*50; Randomize – оператор установки базы случайных чисел в зависимости от текущего времени Функции: Random – генерация дробных чисел в диапозоне от 0 до 1 Random(X) – генерация целых чисел в диапозоне от 0 до Х-1
41 Генерация чисел из ряда а 1, а 2,…,а n: Random((an-a1)/s+1)*s+a1 S- шаг, s=a2-a1. Генерация чисел из ряда а 1, а 2,…,а n: Random((an-a1)/s+1)*s+a1 S- шаг, s=a2-a1. Сгенерировать случайные числа: 1) целое в интервале от 0 до 67; 2) целое двухзначное; 3) вещественное с двумя целыми знаками; 4) целое из ряда 60, 70, 80, 90, …, 150; 5) вещественное из ряда -1.5, -1.3, -1.1, …, 0.7, 0.9. Program pr8; Uses crt; Var a: integer; b: real; Begin Clrscr; Randomize; a:=random(68); Writeln(1 -, a); a:=random(90)+10; Writeln(2 -, a); b:=random; b:=b*100; Writeln(3 -, b:10:3); a:=random(10)*10+60; Writeln(4 -, a); b:=random(round((0.9-(-1.5))/0.2+1))* ; Writeln(5 -, b:10:1); Readln; End. Пишем программу 8
42 Program pr8; Uses crt; Var a: Longint; {объявление длинного целого числа} Begin Clrscr; Randomize; a:=random(…; writeln(a) ; {в интервале от 23 до 97} a:=random(…; writeln(a); {4-значное} a:=random(…; writeln(a); {числа в интервале от-23 до 55} a:=random(…; writeln(a); {числа из ряда …73} b:=random(…; writeln(b); {веществ, 3 целых знака} b:=random(…; writeln(b); {числа из ряда …2.5 } Readln; End.
43 Пишем программу 5.2 Дописать программу вывода на экран два столбца таблицы умножения на k и k+1. Число k – случайное однозначное (1 9). Program pr5d; Uses crt; Var k:integer; Begin Clrscr; Writeln('Таблица умножения':50); Writeln; Writeln; Randomize; k:=random(10)+1; Writeln; Writeln; Writeln(k:40,*,1,=,k*1, k+1:10,*,1,=,k+1*1); Writeln(k:40,*,2,=,k*2, k+1:10,*,2,=,k+1*2); …. Writeln(k:30,*,9,=,k*9, k+1:10,*,9,=,k+1*9); Readln; End.
44 Оператор ветвления Простейшие операторы Паскаля if then [ else ]; Структура оператора: Замечания: Если условие истинно, выполняется оператор 1, иначе выполняется оператор 2. Если структура else отсутствует, то при ложности условия выполняется следующий оператор за оператором if Оператор 1 или оператор 2 может быть составным, то есть содержать несколько операторов, между Begin и end. Примеры операторов Оператор Комментарий if a > b then writeln (большее число a -, a) else writeln (большее число b -, b); Из двух чисел a и b выводится на экран значение большего числа. if x>0 then y:=x; if x
45 Пишем программу 9 По возрасту человека определить кто это, младенец или пенсионер. Program pr9; Uses crt; Var k:real; {возраст человека} Begin Clrscr; Write(Введи возраст человека ->'); Readln(k); If k '); If k>63 then Writeln(Это пенсионер>'); Readln; End. Пример сложных условий: (k>6) and (k16) and (k
46 Пишем программу 10 Определить введеное число положительное или отрицательное, однозначное или нет. Program pr10; Uses crt; Var a:integer; Begin Clrscr; Write(Введи число ->'); Readln(а); If а
47 Пишем программу 11 Определить введеное число четное или нечетное, делится на 5 без остатка или нет. Program pr11; Uses crt; Var a:integer; Begin Clrscr; Write(Введи число ->'); Readln(а); If a mod 2=0 then Writeln(число четное' ); else Writeln(число нечетное'); If a mod 5=0 then Writeln(Число делится на 5') else Writeln(Число не делится на 5'); Readln; End.
48 Пишем программу 11 Определить случайное двухзначное число четное или нет, делится ли на 5, 7? Program pr11; Uses crt; Var a:integer; Begin Clrscr; Randomize; a:=random(… … Readln; End.
49 Пишем программу 11 Определить является ли случайное четырехзначное счастливым, т.е. сумма двух первых цифр числа равна сумме двух последних. Program pr11; Uses crt; Var a, a1,a2,a3, a4,s1,s2:integer; Begin Clrscr; Randomize; a:=random(… … s1:=a1+a2; s2:=a3+a4; If s1=s2 then Writeln(число, a, - счастливое) else Writeln(число, a, - несчастливое); Readln; End.
50 Ветвление на несколько направлений Простейшие операторы Паскаля case of : ; : ; [else ] end; Структура оператора: Замечания: Переменная должна быть типа word, boolean, integer, char… Список значений выбора - это значения, которые могут принимать переменная или выражение, перечисленные через запятую или ".. " (например, 1..7 или 'а'..'м') Оператор – это любой оператор, в том числе составной (begin... end;) Принцип работы оператора: - Значение переменной или выражения сравнивается с предложенными списками значений - Если найдено нужное значение, выполняется соответствующий оператор - Если нужное значение не найдено в перечисленных списках, выполняется оператор после else - Если else отсутствует, то, когда нужное значение не найдено, выполняется следующий за case оператор.
51 Пишем программу 12 Написать программу, которая запрашивает номер месяца и выводит название времени года Program pr12; uses crt; var month : integer; begin writeln (введите номер месяца от 1 – 12); readln (month); case month of 1,2,12 : writeln(зима); 3,4,5 : writeln(весна); 6..8 : writeln(лето); : writeln(осень); else writeln (ошибка ввода!); end; Readln; End.
52 с 14 до 15 лет - 1-й отряд с 11 до 13 лет - 2-й отряд с 10 до 11 лет - 3-й отряд с 6 до 7 лет - 5-й отряд с 8 до 9 лет - 4-й отряд Пишем программу 13 Группу детей, приехавшую в оздоровительный лагерь, распределить по отрядам. Program pr13; uses crt; var х : integer; begin Clrscr; write (Введи возраст ->); readln (x); case x of : writeln(1 отряд); : writeln(2 отряд); : writeln(3 отряд); 8,9 : writeln(4 отряд); 6,7 : writeln(5 отряд); else writeln (не тот возраст!); end; Readln; End.
53 Пишем программу 14 Ввести сумму и вывести на экран со словом рубль / рублей / рубля, в зависимости от суммы. Program pr14; uses crt; var х, x0: integer; begin Clrscr; write (Введи сумму (2-х значное число->); readln (x); x0:=x mod 10; Write(x); If (x>=5) and (x
54 GOTO ; Структура оператора: Замечания: двоеточием Метка – число или идентификатор (буквы и цифры), которые ставятся перед оператором и отделяются от него двоеточием. Метки используются для передачи управления на оператор, перед которым стоит метка. Например, М1: writeln(метка); Метки обязательно описывается в разделе описаний: Label ; Оператор безусловного перехода Gotoxy(x, Y); Оператор перемещения курсора в координаты Х,Y Оператор выхода из программы Halt; Оператор
55 program tm; uses crt; label 1; var c,b,a:byte;q:char; begin 1:textbackground(7);textcolor(9); clrscr; writeln('проверка знания таблицы умножения'); gotoxy(30,5); randomize; a:=random(10)+1; b:=random(10)+1; gotoxy(30,5); textcolor(1); write(a,'*',b,'=? '); textcolor(9); readln(c); textcolor(1); if (a*b=c) then writeln('Правильно!':50) else writeln('Неправильно!':50); gotoxy(45,20); textcolor(9); write('продолжить? ( Y / N )');readln(q); goto 1; if (q='y') or (q='Y') then goto 1; readkey; readkey; end. program tm; uses crt; label 1; var c,b,a:byte;q:char; begin 1:textbackground(7);textcolor(9); clrscr; writeln('проверка знания таблицы умножения'); gotoxy(30,5); randomize; a:=random(10)+1; b:=random(10)+1; gotoxy(30,5); textcolor(1); write(a,'*',b,'=? '); textcolor(9); readln(c); textcolor(1); if (a*b=c) then writeln('Правильно!':50) else writeln('Неправильно!':50); gotoxy(45,20); textcolor(9); write('продолжить? ( Y / N )');readln(q); goto 1; if (q='y') or (q='Y') then goto 1; readkey; readkey; end. Программа 14.2 Программа проверки знания таблицы умножения Readkey Readkey – оператор ввода символа с клавиатуры. Используется для ввода символов с клавиатуры в символьную переменную или для задержки информации на экране. Readkey Readkey – оператор ввода символа с клавиатуры. Используется для ввода символов с клавиатуры в символьную переменную или для задержки информации на экране.
56 program t; uses crt; label 1; var x,y:word;q:char; begin clrscr; x:=40; y:=12; 1: 1: textcolor(14); gotoxy(x,y) gotoxy(x,y) ; write('*');q:=readkey; textcolor(0);gotoxy(x,y); write('*'); program t; uses crt; label 1; var x,y:word;q:char; begin clrscr; x:=40; y:=12; 1: 1: textcolor(14); gotoxy(x,y) gotoxy(x,y) ; write('*');q:=readkey; textcolor(0);gotoxy(x,y); write('*'); if q='2' then y:=y+1; if q='8' then y:=y-1; if q='4' then x:=x-1; if q='6' then x:=x+1; halt; if q='qor (q=Q) then halt; goto 1; end. if q='2' then y:=y+1; if q='8' then y:=y-1; if q='4' then x:=x-1; if q='6' then x:=x+1; halt; if q='qor (q=Q) then halt; goto 1; end. Программа движения символа * под управлением клавиш: 2,4,6,8. Q – выход из программы. Программа движения символа * под управлением клавиш: 2,4,6,8. Q – выход из программы. Программа 14.3 Readkey Readkey – оператор ввода символа с клавиатуры. Используется для ввода символов с клавиатуры в символьную переменную или для задержки информации на экране. Readkey Readkey – оператор ввода символа с клавиатуры. Используется для ввода символов с клавиатуры в символьную переменную или для задержки информации на экране.
57 program t2; uses crt; var a,n:word;s:string;m:char; Label M1; begin clrscr; M1:write('Введите год --> '); readln(a); n:=a mod 12; case n of 1:s:='курца'; 2:s:='собака'; 3:s:='свинья'; 4:s:='мышь'; program t2; uses crt; var a,n:word;s:string;m:char; Label M1; begin clrscr; M1:write('Введите год --> '); readln(a); n:=a mod 12; case n of 1:s:='курца'; 2:s:='собака'; 3:s:='свинья'; 4:s:='мышь'; 5:s:='корова'; 6:s:='тигр'; 7:s:='заяц'; 8:s:='улитка'; 9:s:='змея'; 10:s:='лошадь'; 11:s:='овца'; 12:s:='обезьяна'; end; writeln(s); Writeln('Продолжить? Выход - q'); readln(m); If m= 'q' then goto M1; end. 5:s:='корова'; 6:s:='тигр'; 7:s:='заяц'; 8:s:='улитка'; 9:s:='змея'; 10:s:='лошадь'; 11:s:='овца'; 12:s:='обезьяна'; end; writeln(s); Writeln('Продолжить? Выход - q'); readln(m); If m= 'q' then goto M1; end. В двенадцатилетнем цикле года носят названия животных: мышь, корова, тигр, заяц, улитка, змея, лошадь, овца, обезьяна, курица, собака, свинья. Известно, что 1984 год был годом мыши. Написать программу, которая вводит номер года нашей эры с клавиатуры и выводит его название по 12-ти летнему циклу. (1001 – корова). Программа 14.4
58 Определить, является введенное 3-хзначное число палиндромом. Ввести 3 числа и вывести их в порядке возрастания. С клавиатуры вводится символ. Определить, к какому алфавиту – русскому или латинскому – он принадлежит.
59 Оператор цикла с параметром Простейшие операторы Паскаля for := to/downto do ; Структура оператора: Замечания: начало, конец - арифметическое выражение to - используется когда начало меньше конца downto - используется когда начало больше конца оператор - тело цикла, любой оператор, в том числе и составной Пример записи оператора Оператор Комментарий S:=0; For I:=25 To 43 do S:=S+I; Writeln(S=,S); Цикл для подсчета суммы чисел от 25 до 43. для до делать Принцип работы оператора: Переменной присваивается значение «начало» Выполняется оператор - тело цикла. Затем переменная сравнивается с « концом ». Если параметр больше/меньше конца, то цикл заканчивается. Иначе к переменной прибавляется/отнимается единица и снова выполняется оператор. Так продолжается пока параметр не станет больше/меньше конца.
60 Пишем программу 15 Подсчитать сумму натуральных чисел от N до M. Program pr15; uses crt; var n,m,r,I,S: integer; begin Clrscr; write (Введи числа N и M ->); readln (n,m); { Если число n больше числа m, то меняем их местами, используя дополнительную переменную r } If n>m then begin r:=n;n:=m;m:=r;end; S:=0; { готовим переменнцю для накопления суммы } { Цикл для подсчета суммы чисел S: } For i:=n to m do S:=S+i; { тело цикла } Writeln(S=,S); Readln; End.
61 Пишем программу 16 Вывести на экран заданное количество звездочек ( * ). Program pr16-1;{ Звездочки в столбик } uses crt; var n: integer; begin Clrscr; write (Введи количество звездочек ->); readln (n); For i:=1 to n do Writeln(*); Readln; End. Program pr16-2;{ Звездочки в строчку } uses crt; var n: integer; begin Clrscr; write (Введи количество звездочек ->); readln (n); For i:=1 to n do Write(*); { тело цикла } Readln; End.
62 Пишем программу 17. Вывести на экран звездочки ( * ) в виде таблицы с заданным количество строк и столбцов. Program pr17; uses crt; var n,m,i,j: integer; begin Clrscr; write (Введи количество строк ->); readln (n); write (Введи количество столбцов (3-15) ->); readln (m); For i:=1 to n do { начало цикла по строкам } begin For j:=1 to m do {начало цикла по столбцам} Write(*); {тело цикла – выводит * в строку} Writeln; {переводит курсор на следующую строку} End ; {конец цикла по строкам } Readln; End.
63 7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 7*8=56 7*9=63 Пишем программу 18. Вывести на экран таблицу умножения на заданное число. Program pr18; uses crt; var n,m,i,j: integer; begin Clrscr; write (Введи число ->); readln (n); Textcolor(4); Writeln (Таблица умножения на, n); Writeln; Textcolor(2); For i:=1 to 9 do { вывод очередной строки таблицы умножения на введенное число n } Writeln(n:30,*,I:2, =, n*I:2); Readln; End.
64 Вывести на экран 4 столбца таблицы умножения Пишем программу по блок схеме 1. Начало Вывод заголовка «Таблица умножения» Цикл N:=2 to 5 Конец Цикл I:=1 to 10 I * N= N*I Вывод части строки для текущего N и I: I * N= N*I Вывод нескольких пробелов перед переходом к следующему столбцу program s1; uses crt; var N,I:byte; begin clrscr; writeln; writeln; writeln(ТАБЛИЦА УМНОЖЕНИЯ':50); writeln; writeln; for i:=1 to 10 do begin for n:=2 to 5 do write(n:10,'*',i:3,'=',n*i:3); writeln; end; readln; end. program s1; uses crt; var N,I:byte; begin clrscr; writeln; writeln; writeln(ТАБЛИЦА УМНОЖЕНИЯ':50); writeln; writeln; for i:=1 to 10 do begin for n:=2 to 5 do write(n:10,'*',i:3,'=',n*i:3); writeln; end; readln; end. Переход на следующую строку – вывод пустой строки write(i:10,'*',2:3,'=',2*i:3, i:10,'*',3:3,'=',3*i:3, i:10,'*',4:3,'=',4*i:3, i:10,'*',5:3,'=',5*i:3 );
65 Пишем программу по блок схеме 2. Подсчитать сумму цифр введенного четырехзначного числа Выделяем цифры из числа и складываем их. A- введенное число, X- цифра из числа, I – счетчик цифр числа, S – сумма цифр числа. Начало Ввод числа а Выделение последней цифру числа program s1; var a,i,x,s:integer; begin Write('vvedi chislo ->'); readln (a); s:=0; for i:=1 to 4 do begin x:=a mod 10; s:=s+x; a:=a div 10; end; writeln('s=',s); readln; end. program s1; var a,i,x,s:integer; begin Write('vvedi chislo ->'); readln (a); s:=0; for i:=1 to 4 do begin x:=a mod 10; s:=s+x; a:=a div 10; end; writeln('s=',s); readln; end. Цикл i:=1 to 4 S=0 Подготовка переменной для суммы Подсчет суммы Преобразование числа: убираем последнюю цифру Вывод суммы Конец
66 Пишем программу 19. Вывести на экран и подсчитать количество всех счастливых чисел. Program pr19; uses crt; var k,i,i0,i1,i2,i3:integer; begin clrscr; k:=0; for i:=1000 to 9999 do{ цикл – перебор всех 4-х значных чисел } begin i0:=i mod 10; i3:=i div 1000; { выделение цифр текущего числа } i1:=i div 10 mod 10; i2:=i div 100 mod 10; if i0+i1=i2+i3 then begin { если число счастливое… } write(i:5);k:=k+1; end; end; writeln; writeln ('k=',k); { вывод количества счастливых чисел } readln; end.
67 Пишем программу по блок схеме 3. Подсчитать сумму и к-во всех трехзначных чисел, которые делятся на 5 и 7 Перебираем все трехзначные числа и проверяем их делимость на 5 и 7. I – счетчик чисел, m – сумма чисел, k – количество чисел. Начало Цикл i:=100 to 999 Подсчет суммы Вывод суммы Конец Делится на 5 и 7 Да Нет Пишем программу по блок схеме 3. program s3; var i,k,m:integer; begin k:=0; for i:=100 to 999 do if (I mod 5=0) and (I mod 7=0) then Begin k:=k+1; writeln(i);m:=m+i;end; writeln(количество - ',k, сумма-',m); readln; end. Посмотреть программу
68 program s1; var a1,a2,a3,a4,i,k:integer; begin k:=0; for i:=1000 to 9999 do begin a1:=I div 1000; a2:=(I div 100) mod 10; a3:=(I mod 100) div 10; a4:=I mod 10; If (a1+a2)=(a3+a4) then k:=k+1; end; writeln('k=',k); readln; end. program s1; var a1,a2,a3,a4,i,k:integer; begin k:=0; for i:=1000 to 9999 do begin a1:=I div 1000; a2:=(I div 100) mod 10; a3:=(I mod 100) div 10; a4:=I mod 10; If (a1+a2)=(a3+a4) then k:=k+1; end; writeln('k=',k); readln; end. Счастливым считаем число, сумма двух первых цифр которого равна сумме двух последних цифр. Например, 4013, 1221, Сначала делим число на две части. Затем выделяем цифры из каждой части и подсчитываем суммы их цифр. Если эти суммы равны – число счастливое. I – счетчик чисел, A1,A2,A3,A4 – цифры текущего числа, k – количества счастливых чисел. Пишем программу по блок схеме 4. Подсчитать количество счастливых четырехзначных чисел Начало Цикл i:=1000 to 9999 k=0 Подготовка переменной для подсчета количества счастливых чисел а 1+а 2=а 3+а 4 Подсчет количества счастливых чисел Вывод количества счастливых чисел Конец Выделение первой (а 1), второй (а 2), третьей (а 3) и четвертой (а 4) цифр текущего числа
69 Оператор цикла с предварительным условием Простейшие операторы Паскаля While do ; Структура оператора: Замечания: Условие - логическое выражение оператор - тело цикла, любой оператор, в том числе и составной Пример записи оператора Оператор Комментарий readln (n1,n2); while n1n2 do if n1>n2 then n1:=n1-n2 else n2:=n2-n1; nod:=n1; writeln 'Наименльший общий делитель - ',nod); Найти наименьший общий делитель двух введенных целых чисел (Алгоритм Евклида). пока делать Принцип работы оператора: Проверяется истинность условия, Если условие истинно выполняется оператор, Цикл работает, пока условие не станет ложным.
70 Пишем программу 20. Пeревод целого 10-го числа в двоичный код. program w2; uses crt; var i:byte; kc,yc,xc, x1c:longint; begin clrscr; kc:=1; x1c:=0; write('введите xс '); readln(xс); while xc0 do begin yc:=xc mod 2; x1c:=x1c+yc*kc; kc:=kc*10; xc:=xc div 2; end; writeln(x1c:12); readkey; end. ПРАВИЛО ПЕРЕВОДА ДЕСЯТИЧНЫХ ЧИСЕЛ В ДВОИЧНЫЕ Перевод производится последовательным целочисленным делением на основание системы (2) сначала самого числа, затем полученных результатов пока не получим в результате ноль. Искомое число – это остатки от деления записанные с конца. Например, =
71 Оператор цикла с последующим условием Простейшие операторы Паскаля Repeat until ; Структура оператора: Замечания: Условие - логическое выражение оператор - тело цикла, любой оператор, в том числе и составной Пример записи оператора Оператор Комментарий readln (n1,n2); Repeat if n1>n2 then n1:=n1-n2 else n2:=n2-n1; until n1=n2; nod:=n1; writeln 'Наименьший общий делитель -',nod); Найти наименьший общий делитель двух введенных целых чисел (Алгоритм Евклида). повторять до тех пор пока Принцип работы оператора: Выполняются все операторы между repeat и until, Проверяется ложность условия, Цикл работает, пока условие не станет истинным.
72 Пишем программу 21. Пeревод 10-й дроби в двоичный код. например, 0,123 program w2; uses crt; var i:byte;yd:longint; xd,kd,x1d,x:real; begin clrscr; i=0; write('vvedi xd -> '); readln(xd); xd:=frac(xd); kd:=0.1; x1d:=0; Repeat yd:=trunc(xd*2); x1d:=x1d+yd*kd; xd:=frac(xd*2); kd:=kd*0.1; i=i+1; until i>10 writeln(x1d:12:10); readkey; end.
73 Графический режим Простейшие операторы графики Паскаля При работе с графикой в Паскале необходимо в разделе описания программы задать модуль graph и 2 переменные gd и gm. А в основном разделе прописать два оператора: gd:=detect; initgraph(gd,gm,''); (320,240)
74 Графический режим Простейшие операторы графики Паскаля Устанавливает цвет линии: SETCOLOR(C); Замечания: С – цвет По умолчанию - белый 480 X Y Цвета: 0 – черный 1 – синий 2 – зеленый 3 – голубой 4 – красный 5 –малиновый 6 – коричневый 7 – светло серый (X1,Y1) (X2,Y2) Вычерчивание линий: LINE(X1,Y1,X2,Y2) Примерный вид программы: uses crt,graph; var gd,gm:integer; begin gd:=detect;initgraph(gd,gm,''); setcolor(5);line(10,10,200,200); readkey; end.
75 Графический режим Простейшие операторы графики Бейсика Вычерчивание прямоугольников: SETCOLOR(C); RECTANGLE (X1,Y1,X2,Y2); Замечания: С – цвет линий 480 X Y Цвета: Цвета: 8 – темно серый 9 – светло синий 10 – светло зеленый 11 – бледно голубой 12 – розовый 13 –бледно малиновый 14 – желтый 15– белый (X1,Y1) (X2,Y2) Примерный вид программы: uses crt,graph; var gd,gm:integer; begin gd:=detect;initgraph(gd,gm,''); setcolor(5); rectangle(400,100,500,300); readkey; end.
76 Графический режим Простейшие операторы графики Бейсика Вычерчивание закрашенных прямоугольников: SETFILLSTYLE(1,C) BAR(X1,Y1,X2,Y2); Замечания: С – цвет заливки 1 –стиль, признак закраски цветом С 480 X Y Примерный вид программы: uses crt,graph; var gd,gm:integer; begin gd:=detect;initgraph(gd,gm,''); setfillstyle(1,14); bar(100,300,300,400); readkey; end. (X1,Y1) (X2,Y2)
77 Графический режим Простейшие операторы графики Бейсика Вычерчивание круга: SETCOLOR(C); CIRCLE(X,Y,R) Замечания: X,Y – центр круга R – радиус C – цвет окружности, по умолчанию - белый 480 X Y R Примерный вид парограммы: uses crt,graph; var gd,gm:integer; begin gd:=detect; initgraph(gd,gm,''); setcolor(4); circle(320,240,100); readkey; end. (X,Y)
78 Графический режим Простейшие операторы графики Бейсика Вычерчивание эллипсов: SETCOLOR(C); ELLIPSE(X,Y,0,360,R2,R1) Замечания: R1, R2 – радиусы эллипса 480 X Y R2R2 R1R1 Примерный вид программы: uses crt,graph; var gd,gm:integer; begin gd:=detect; initgraph(gd,gm,''); setcolor(4); ellipse(320,240,0,360,100,50); readkey; end.
79 Графический режим Простейшие операторы графики Бейсика Вычерчивание дуг SETCOLOR(C); ELLIPSE (X,Y,а,b,R2,R1) 480 X Y Примерный вид парограммы: uses crt,graph; var gd,gm:integer; begin gd:=detect; initgraph(gd,gm,''); setcolor(4); ellipse(320,240,320,180,100,50); readkey; end. R2R2 R1R1 Замечания: а – начало дуги (в градусах) b – конец дуги отсчет идет против часовой стрелки от точки 0 a b
80 Графический режим Простейшие операторы графики Бейсика Отображение точки: PUTPIXEL(X,Y,C) Замечания: X,Y – координаты точки C – цвет точки, по умолчанию белый 350 X Y Примерный вид программы: uses crt,graph; var gd,gm:integer; begin gd:=detect; initgraph(gd,gm,''); putpixel(320,240,5); putpixel(100,100,2); putpixel(400,400,14); putpixel(450,200,6); putpixel(500,150,4); readkey; end.
81 Пишем программу 20. Вывести на экран линию, прямоугольник, закрашенный прямоугольник, круг, эллипс, дугу, точку. uses crt,graph; var gd,gm:integer; begin gd:=detect; initgraph(gd,gm,''); setcolor(5); line(10,10,200,200); rectangle(250,100,350,150); setfillstyle(1,14); bar(100,300,300,400); setcolor(2); circle(500,240,50); ellipse(500,100,0,360,100,20); setcolor(4);ellipse(500,400,320,180,100,50); putpixel(320,240,14); readkey; end.
82 Пишем программу 21. Вывести на экран рисунок Задание: А. А. Составить программу вывода на экран Домика и Солнышка (программа прилагается) В. В. Составить программу вывода на экран всего предлагаемого рисунка С. С. Доработать программу вывода на экран рисунка, добавив дополнительные детали (Дверь, трубу и крыльцо у домика, беседку, кустарник и т.п.) uses crt,graph; var gd,gm:integer; begin gd:=detect; initgraph(gd,gm,''); line(160,180,80,240); line(160,180,240,240); rectangle(80,240,240,460); rectangle(120,280,200,360); line(120,310,200,310); line(160,280,160,360); circle(60,60,25); readkey; end.
83 Графический режим Простейшие операторы графики Бейсика Закрашивание замкнутой области: Замечания: X,Y – координаты точки внутри замкнутого контура C – цвет заливки С1 – цвет контура 480 X Y Примерный вид программы: uses crt,graph; var gd,gm:integer; begin gd:=detect; initgraph(gd,gm,''); setcolor(1); circle(100,100,50); setfillstyle(1,14);floodfill(100,100,1); line(320,175,200,350); line(320,175,440,350); line(200,350,440,350); setfillstyle(1,4);floodfill(320,300,1); readkey; end. SETFILLSTYLE(1,C) FLOODFILL (X, Y, C1)
84 Пишем программу 22. Вывести на экран рисунок Задание: А. А. Составить программу вывода на экран ДОМИКА и раскрасить его (программа прилагается) В. В. Составить программу вывода на экран всего предлагаемого рисунка С. С. Доработать программу вывода на экран цветного рисунка, добавив дополнительные детали (Дверь, трубу и крыльцо у домика, беседку, кустарник и т.п.) uses crt,graph; var gd,gm:integer; begin gd:=detect; initgraph(gd,gm,''); setcolor(1); line(160,180,80,240); line(160,180,240,240); line(80,240,240,240); setfillstyle(1,4); floodfill(160,200,1); rectangle(80,240,240,460); setfillstyle(1,3); floodfill(160,300,1); setcolor(6); rectangle(120,280,200,360); setfillstyle(1,15); floodfill(160,300,6); line(120,310,200,310); line(160,280,160,360); readkey; end.
85 Пишем программу 23. Вывести на экран рисунок Задание: А. А. Составить программу вывода на экран снеговика (программа прилагается) В. В. Составить программу вывода на экран всего предлагаемого рисунка С. С. Доработать программу вывода на экран рисунка, добавив дополнительные детали (заливку ёлочки, снеговика, вставить изображение шляпы у снеговика, дерева и т.п.) uses crt,graph; var gd,gr:integer; begin gd:=detect; initgraph(gd,gr,''); setcolor(3); circle(320,100,30); circle(320,180,50); ellipse(320,300,0,360,100,70); ellipse(260,140,0,360,30,10); ellipse(380,140,0,360,30,10); setcolor(4); circle(330,90,3); circle(310,90,3); line(315,95,325,95); line(302,112,315,95); line(302,112,325,95); setfillstyle(1,4); floodfill(320,97,4); bar(330,110,310,113); readkey; end.
86 Пишем программу 24. Вывести на экран рисунок Задание: А. А. Составить программу вывода на на экран контура жабы (программа прилагается). В. В. Составить программу вывода на экран всего предлагаемого рисунка. С. С. Доработать программу вывода на экран рисунка, добавив дополнительные детали. uses crt,graph; var gd,gr:integer; begin gd:=detect; initgraph(gd,gr,''); circle(280,130,5); ellipse(280,130,352,200,30,60); ellipse(280,140,360,190,20,50); circle(360,130,5); ellipse(360,130,340,190,30,60); ellipse(360,140,355,180,20,50); ellipse(320,200,0,360,120,60); ellipse(320,340,130,50,80,110); ellipse(395,455,0,360,70,10); ellipse(255,455,0,360,70,10); setcolor(4); line(205,220,435,220); readkey; end.
87 Графический режим Организовать движение круга по экрану Задержка изображения на доли секунды: Замечания: к – время, доли секунды С – цвет фона 480 X Y Примерный вид программы: uses crt,graph; var gd,gm,x:integer; begin gd:=detect; initgraph(gd,gm,''); setbkcolor(3); cleardevice; For x:=50 to 600 do begin setcolor(1); circle(x,50,10); setfillstyle(1,14);floodfill(x,50,1); Delay(5000); setfillstyle(1,3);floodfill(x,50,3); end; readkey; end. DELAY(к); Очистка графического экрана заданным цветом: SETBKCOLOR (C); CLEARDEVICE;
88 Пишем программу 25. Вывести на экран рисунок Задание: А. А. Составить программу вывода на экран ДОМИКА и забора (примерная программа прилагается) В. В. Составить программу вывода на экран всего предлагаемого рисунка С. С. Доработать в программу движение солнца по экрану uses crt,graph; var gd,gm,i,x:integer; begin gd:=detect; initgraph(gd,gm,''); setcolor(1); line(160,170,80,200); line(160,170,240,200); line(80,200,240,200); setfillstyle(1,4); floodfill(160,190,1); rectangle(80,200,240,350); setfillstyle(1,3);floodfill(160,300,1); setcolor(6); rectangle(130,240,190,290); setfillstyle(1,15); floodfill(160,280,6); x:=0; for i:=1 to 15 do begin line(x,480,x+20,480);line(x+20,480,x+20,360); line(x+20,360,x+10,320);line(x+10,320,x,360); line(x,360,x,480); setfillstyle(1,7); Floodfill(x+10,360,6); x:=x+20; end; readkey; End.
89 Массивы Сложные типы данных Паскаля Массив – это совокупность конечного числа данных одного типа с одним именем. Каждый элемент массива обозначается именем массива с индексом (номером элемента в массиве). Элемент массива – отдельная переменная, входящая в масса, например, A[2]; B[3,6]. Массивы бывают одномерные, двухмерные, трехмерные и т.д. Размерность массива определяется количеством индексов, например, A[2] – одномерный массив; B[3,6] - двухмерный. Описание массивов: Размерность массива Формат описания массива в разделе Var Пример Одномерный массив : array[1..n] of тип; Var A:array[1..10] of byte; Двухмерный массив : array[1..n,1..m] of тип; Var B:array[1..5,1..3] of word; Трехмерный массив : array[1..n,1..m,1..k] of тип; Var C:array[1..5,1..3,1..10] of integer; Одномерный массив – строка натуральных чисел: Двухмерный массив – таблица чисел:
90 Пишем программу 26. Заполнить двухмерный массив A, размером 3 на 4,натуральными числами от 1 до 4 и вывести его на экран. Program pr20; uses crt; var i,j: integer; A:array[1..3,1..4] of byte; begin Clrscr; For i:=1 to 3 do { циклы для заполнения массива } For j:=1 to 4 do A[i,j]:=j; For i:=1 to 3 do { циклы для вывода массива на экран } Begin For j:=1 to 4 do Write(A[i,j]:3); Writeln; End; Readln; End.
91 Пишем программу 27. Заполнить двухмерный массив A, размером 3 на 4,натуральными числами от 1 до 3 по столбцам и вывести его на экран. Program pr21; uses crt; var i,j: integer; A:array[1..3,1..4] of byte; begin Clrscr; For i:=1 to 3 do { циклы для заполнения массива } For j:=1 to 4 do A[i,j]:=i; For i:=1 to 3 do { циклы для вывода массива на экран } Begin For j:=1 to 4 do Write(A[i,j]:3); Writeln; End; Readln; End.
92 Пишем программу 28. Заполнить двухмерный массив A, размером 3 на 4,случайными двухзначными числам и вывести его на экран. Program pr22; uses crt; var i,j: integer; A:array[1..3,1..4] of word; begin Clrscr; Randomize; For i:=1 to 3 do { циклы для заполнения массива } For j:=1 to 4 do A[i,j]:=random(90)+10; { генерация двухзначных случайных чисел } For i:=1 to 3 do { циклы для вывода массива на экран } Begin For j:=1 to 4 do Write(A[i,j]:3); Writeln; End; Readln; End.
93 Пишем программу 29. Заполнить двухмерный массив A, размером 5 на 4,натуральными числами от 1 до 20 змейкой и вывести его на экран. Program pr23; uses crt; var k,i,j: integer; A:array[1..5,1..4] of byte; begin Clrscr; k:=1 For j:=1 to 4 do { циклы для заполнения массива } begin For i:=1 to 5 do begin A[i,j]:=k;k:=k+1; end; j:=j+1; For i:=5 downto 1 do begin A[i,j]:=k;k:=k+1; end; end; For i:=1 to 5 do { циклы для вывода массива на экран } Begin For j:=1 to 4 do Write(A[i,j]:3); Writeln; End; Readln; End.
94 Пишем программу 30. Из двух массивов A[5] и B[5] получить массив С[5],сложив соответствующие элементы А и В. Вывести массивы на экран. Program pr24; uses crt; var i,j: integer; A, B,C:array[1..5] of word; Begin Clrscr; Randomize; For i:=1 to 5 do { циклы для заполнения массивов A, B и С } Begin A[i]:=random(9)+1; B[i]:=random(90)+10; С[i]:=A[i]+B[i]; end; Writeln (A:); For i:=1 to 5 do { циклы для вывода массива A на экран } Write(A[i]:3); Writeln; Writeln (B:); For i:=1 to 5 do { циклы для вывода массива B на экран } Write(B[i]:3); Writeln; Writeln (C:); For i:=1 to 5 do { циклы для вывода массива C на экран } Write(C[i]:3); Readln; End.
95 Пишем программу 31. Из двух массивов A[5] и B[5] получить массив С[5],из минимальных значений соответствующие элементы А и В. Вывести массивы на экран. Program pr24; uses crt; var i,j: integer; A, B,C:array[1..5] of word; Begin Clrscr; Randomize; For i:=1 to 5 do { циклы для заполнения массивов A, B и С } Begin A[i]:=random(9)+1; B[i]:=random(90)+10; If A[i]
96 Строковые данные Сложные типы данных Паскаля Строка – это данные типа String, особая форма одномерного массива символов. Максимальная длина строки – 255 символов. Процедуры (П) и функции (Ф) обработки строк: DELETE(S,M,N); П Удаление части (N символов) строковой переменной (S), начиная с символа M STR(V,S); П Преобразование числовой переменной в строковую VAL(S,V,N); П Преобразование строковой переменной в числовую. S - строка, V - числовая переменная, N - значение первого содержащего ошибку символа. LENGTH(S) Ф Определение количества символов строковой переменной S POS(S,T); Ф Определение первого одинакового левого символа двух строк (строка S и подстрока T) CONCAT(S1,S2, …,SN); Ф Склеивание строк COPY(S, M, N); Ф Вырезка подстроки (N символов) начиная с M-го символа из строковой переменной S ORD(X) Ф Определение кода символа. X CHR(X) Ф Определение символа по его коду SUCC(X) Ф Нахождение следующего элемента PRED(X) Ф Нахождение предыдущего элемента
97 Пишем программу 31. Пeревод целого 10-го числа в шестнадцатеричное. program w2; uses crt; var i:byte; kc:string; yc,xc:longint; begin clrscr; kc:=''; x1c:=0; write('Vvedi chislo -> '); readln(xc); while xc0 do begin yc:=xc mod 16; case yc of 0 :kc:='0'+kc; 1 :kc:='1'+kc; 2 :kc:='2'+kc; 3 :kc:='3'+kc; 4 :kc:='4'+kc; 5 :kc:='5'+kc; 6 :kc:='6'+kc; 7 :kc:='7'+kc; 8 :kc:='8'+kc; 9 :kc:='9'+kc; Программа, аналогична программа 20. Отличия в представлении остатков от деления в шестнадцатеричные цифры {продолжение} 10:kc:='A'+kc; 11:kc:='B'+kc; 12:kc:='C'+kc; 13:kc:='D'+kc; 14:kc:='E'+kc; 15:kc:='F'+kc; end; xc:=xc div 16; end; writeln(kc:20); readkey; end. {продолжение} 10:kc:='A'+kc; 11:kc:='B'+kc; 12:kc:='C'+kc; 13:kc:='D'+kc; 14:kc:='E'+kc; 15:kc:='F'+kc; end; xc:=xc div 16; end; writeln(kc:20); readkey; end.
98 Выход Конец
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.