Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 12 лет назад пользователемkafinf.pi.sfedu.ru
1 Языки и методы программирования Преподаватель – доцент каф. ИТиМПИ Кузнецова Е.М. Лекция 4
2 Содержание ПРОСТЫЕ ТИПЫ ДАННЫХ СТРУКТУРИРОВАННЫЕ ТИПЫ ДАННЫХ МАССИВ МНОЖЕСТВО ЗАПИСЬ
3 ПРОСТЫЕ И СТРУКТУРИРОВАННЫЕ ТИПЫ
4 Структуры данных ПРОСТЫЕ (НЕСТРУКТУРИРОВАННЫЕ) признак, по которому можно определить величину простого типа, таков: одно имя - одно значение. СТРУКТУРИРОВАННЫЕ
5 ПРОСТЫЕ (НЕСТРУКТУРИРОВАННЫЕ) ТИПЫ ДАННЫХ Числовые типы данных: Типы целых чисел: Целый типДиапазон значенийОбъем памяти (байт) примечания Shortint Integer Longint Byte Word Сomp-9.2e e
6 ПРОСТЫЕ ТИПЫ ДАННЫХ Числовые типы данных: Типы вещественных чисел: Целый типДиапазон значенийОбъем памяти (байт) Число цифр мантис сы Real2.9e e Single1.5e e Double5.0e e Extended3.4e e
7 ПРОСТЫЕ ТИПЫ ДАННЫХ Логический – boolean применимы основные операции логики высказываний: конъюнкция (логическое «и» - «and»), дизъюнкция (логическое «или» - «or»), отрицание (логическое «не» - «not»). Иногда можно использовать операции импликации («если»), эквиваленции («если и только если») и т.п.
8 ПРОСТЫЕ ТИПЫ ДАННЫХ Символьный – char Способы записи символьных констант в программе: ` * # # # ` - символ между штрихами # # # #60 – десятичный код символа после #### # # # #$30 – шестнадцатеричный код символа после #### символьные величины (тип char) являются упорядоченными 'А' < 'В'< 'С'
9 ПРОСТЫЕ ТИПЫ ДАННЫХ перечисляемый type = type operator = (plus, minus, multi, divide); color = (white, red, blue, yellow, purple, green); ord(x), pred(x), succ(x) и операции отношения.
10 Программа для перевода английских названия дней недели на русский язык
11 ПРОСТЫЕ ТИПЫ ДАННЫХ Интервальный тип - это подмножество другого уже определенного ординального типа, называемого базовым. type days = (mon, tue, wed, thu, fri, sat, sun); workdays=mon.. fri; index=1..30; letter='a'..'z'; var a:1..100; b: ;
12 СТРУКТУРИРОВАННЫЕ ТИПЫ ДАННЫХ В разных языках возможности структуризации переменных на уровне сложных структур не совпадают, но многие структуры давно стали традиционными и реализованы в большинстве практически используемых языков программирования. Структурированные типы данных классифицируют по следующим основным признакам: однородная - неоднородная, упорядоченная - неупорядоченная, прямой доступ - последовательный доступ, статическая - динамическая.
13 СТРУКТУРИРОВАННЫЕ ТИПЫ ДАННЫХ Однородная структура - если все элементы, образующие структуру, однотипны (например - целые числа или символы); неоднородная структура - если элементы разной природы «перепутаны» (например, числа чередуются с символами), то. Упорядоченная структура - если между ее элементами определен порядок следования. Наличие индекса в записи элементов структуры уже указывает на ее упорядоченность (хотя индекс для этого не является обязательным признаком).
14 СТРУКТУРИРОВАННЫЕ ТИПЫ ДАННЫХ По способу доступа упорядоченные структуры - прямого и последовательного доступа. При прямом доступе каждый элемент структуры доступен пользователю в любой момент независимо от других элементов. статическая структура - если размер структуры (длина, количество элементов) не может быть изменен «на ходу», а фиксирован заранее; Программные средства информатики иногда позволяют не фиксировать размер структуры, а устанавливать его по ходу решения задачи и менять при необходимости. Такую структуру называют динамической.
15 Массив Массивом называют однородный набор величин одного и того же типа, называемых компонентами массива, объединенных одним общим именем (идентификатором) и идентифицируемых (адресуемых) вычисляемым индексом. type = array [ ] оf type vector = array [1.. 10] of real; table = array ['A'..'Z',1..5] of integer; var a,b : vector; с: table;
16 Пример: упорядочить члены числовой последовательности по возрастанию метод «пузырька» Будем просматривать пары соседних элементов последовательно справа налево и переставлять элементы в паре, если они стоят неправильно: 5,3,2,4,1 5,3,2,1,4 5,3,1,2,4 5,1, 3,2,4 1,5,3,2,4 p:=true; если при просмотре пар была хотя бы одна перестановка, изменим значение логической переменной на противоположное: p:=false; это означает, что последовательность еще не была упорядочена и просмотр пар надо повторить. Цикл просмотров заканчивается, если после очередного просмотра выполняется условие: p=true.
17 program bubble; const a:array[l..10] of integer=(19,8,17,6,15,4,13,2,11,0); var b,i:integer; p :boolean; begin c1rscr; for i:=l to 10 do write(a[i]:3); writeln; writeln; repeat p:=true; for i:=10 downto 2 do if a[i]
18 Строчный тип (строки) используется для описания строк длиной от 0 до 255 символов. Строковые переменные, как и строковые константы, занимают n+1 байт, (нулевой байт предназначен для хранения текущей длины строковой переменной) type word : string[20]; var a,b,c : word; var a,b,c : string[20]; d : string[30]; const l: string[11]='информатика';
19 операции со строками логических операций, =, некоммутативная операция соединения, обозначаемая знаком плюс: а:='кол'+'о'+'кол'; (в результате а='колокол'). стандартные функции: concat(sl,s2,...,sk) copy(s,i,k) а:=сору('крокодил',4,3); (в результате а='код'). length(s). b:=length('каникулы'); (b=8). pos(s,t) с:=роs('ом','компьютер'); (с=2).
20 стандартные процедуры для обработки строковых величин: delete(s,i,k) - из строки s удаляется k символов, начиная с i-того символа. s:='таракан'; delete(s,5,2); (в результате S='таран'). insert(s,t,i) - строка s вставляется в строку t, начиная с позиции i: t:='таран'; insert ('ka',t,5); (t='таракан'). Процедура преобразования числа в строку символов - str(k,s). str(564,s); (s='564'). Процедура преобразования строки из цифр в число - val(s,k,i). val('780',k,i); (k=780; i=0).
21 Множество Множество - это неупорядоченная совокупность отличных друг от друга однотипных элементов. ограничения: Число элементов множества не должно превышать 256. Элементами множества могут быть только данные простых типов (кроме вещественных). Элементы, входящие в состав множества должны быть определены заранее. Порядок элементов множества произвольный.
22 type = set of type t=set of byte; var a:t; var code: set of 0..7; digits: set of '0'..'9'; type up=set of 'A'..'Z'; low=set of 'a'.. "z"; const upcase : up=['A'.. 'Z']; vocals :low=['a', 'e', 'i', 'o', "u", 'y']; delimiterset of char=[ '..' /',':'..' ? ']; Можно совместить описание множественного типа и соответствующих переменных Можно описать переменную множественного типа и задать ее первоначальное значение в разделе описания констант, как констант- множество.
23 операции со множествами операции объединения, пересечения и дополнения множеств, обозначаемые в Паскале +, * и -, а также отношения равенства множеств (А=В), неравенства (АВ), включения (А =В). Логическая операция принадлежности х in А принимает значение true, если элемент х принадлежит множеству А и false в противном случае.
24 запись запись является неоднородной упорядоченной статической структурой прямого доступа. Запись есть набор именованных компонент - полей (часто разного типа), объединенных одним общим именем и идентифицируемых (адресуемых) с помощью как имени записи, так и имен полей
25 type имя типа записи = record имя поля 1 : тип; имя поля 2 : тип; имя поля N: тип end; type address = record index : string[6]; city: string[20]; street : string[20]; haus, flat: integer end;
26 const : = type point = record х, у, z: integer end; const o: point = (x:0; y:0; z:0); x.haus := 52; х.street:='пр.Мира'; x.city:= 'Красноярск'; x.flat:= 135; x.index :='б60049' запись о начале координат
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.